samples: net: mqtt_publisher: Update for latest net_config and TLS setup
Remove adhoc handling of BLE connection setup, rely on net_config for
that. Remove board-specific configs, instead have prt.conf and overlay
configs. Perform TLS setup once before main loop, to avoid errors.
Signed-off-by: Tavish Naruka <tavishnaruka@gmail.com>
diff --git a/samples/net/mqtt_publisher/overlay-bt.conf b/samples/net/mqtt_publisher/overlay-bt.conf
new file mode 100644
index 0000000..130da68
--- /dev/null
+++ b/samples/net/mqtt_publisher/overlay-bt.conf
@@ -0,0 +1,13 @@
+CONFIG_BT=y
+CONFIG_BT_DEBUG_LOG=y
+CONFIG_BT_PERIPHERAL=y
+CONFIG_BT_L2CAP_DYNAMIC_CHANNEL=y
+CONFIG_BT_DEVICE_NAME="Zephyr MQTT"
+CONFIG_NET_L2_BT=y
+CONFIG_NET_IPV4=n
+CONFIG_NET_IPV6=y
+CONFIG_NET_CONFIG_BT_NODE=y
+CONFIG_NET_CONFIG_NEED_IPV6=y
+CONFIG_NET_CONFIG_NEED_IPV4=n
+CONFIG_NET_CONFIG_MY_IPV4_ADDR=""
+CONFIG_NET_CONFIG_PEER_IPV4_ADDR=""
diff --git a/samples/net/mqtt_publisher/prj_qemu_x86.conf b/samples/net/mqtt_publisher/prj.conf
similarity index 75%
rename from samples/net/mqtt_publisher/prj_qemu_x86.conf
rename to samples/net/mqtt_publisher/prj.conf
index 817caeb..ce243d9 100644
--- a/samples/net/mqtt_publisher/prj_qemu_x86.conf
+++ b/samples/net/mqtt_publisher/prj.conf
@@ -1,19 +1,13 @@
CONFIG_NETWORKING=y
+CONFIG_NET_SOCKETS=y
CONFIG_NET_TCP=y
-CONFIG_ENTROPY_GENERATOR=y
-CONFIG_TEST_RANDOM_GENERATOR=y
CONFIG_NET_LOG=y
-CONFIG_INIT_STACKS=y
-
-CONFIG_NET_PKT_RX_COUNT=16
-CONFIG_NET_PKT_TX_COUNT=16
-CONFIG_NET_BUF_RX_COUNT=16
-CONFIG_NET_BUF_TX_COUNT=16
CONFIG_NET_IPV6_RA_RDNSS=y
CONFIG_NET_IF_UNICAST_IPV6_ADDR_COUNT=3
CONFIG_NET_IF_MCAST_IPV6_ADDR_COUNT=2
+CONFIG_PRINTK=y
CONFIG_STDOUT_CONSOLE=y
# Enable IPv6 support
diff --git a/samples/net/mqtt_publisher/prj_96b_nitrogen.conf b/samples/net/mqtt_publisher/prj_96b_nitrogen.conf
deleted file mode 100644
index ecd7c24..0000000
--- a/samples/net/mqtt_publisher/prj_96b_nitrogen.conf
+++ /dev/null
@@ -1,62 +0,0 @@
-CONFIG_INIT_STACKS=y
-CONFIG_NETWORKING=y
-
-CONFIG_NET_TCP=y
-CONFIG_NET_UDP=y
-CONFIG_NET_ARP=y
-CONFIG_NET_L2_BT=y
-CONFIG_NET_L2_BT_SEC_LEVEL=1
-CONFIG_NET_LOG=y
-CONFIG_NET_IPV6_RA_RDNSS=y
-CONFIG_NET_IPV4=n
-CONFIG_NET_IPV6=y
-CONFIG_NET_IPV6_MAX_NEIGHBORS=6
-CONFIG_NET_MAX_CONTEXTS=5
-CONFIG_NET_SHELL=y
-
-CONFIG_NET_PKT_RX_COUNT=15
-CONFIG_NET_PKT_TX_COUNT=15
-CONFIG_NET_BUF_DATA_SIZE=256
-CONFIG_NET_BUF_RX_COUNT=11
-CONFIG_NET_BUF_TX_COUNT=11
-
-CONFIG_NET_CONFIG_SETTINGS=y
-CONFIG_NET_CONFIG_MY_IPV6_ADDR="2001:db8::1"
-CONFIG_NET_CONFIG_PEER_IPV6_ADDR="2001:db8::2"
-CONFIG_NET_CONFIG_BT_NODE=y
-
-CONFIG_NET_CONFIG_MY_IPV4_ADDR="192.168.1.101"
-CONFIG_NET_CONFIG_PEER_IPV4_ADDR="192.168.1.10"
-
-CONFIG_NET_IF_UNICAST_IPV6_ADDR_COUNT=3
-CONFIG_NET_IF_MCAST_IPV6_ADDR_COUNT=3
-
-CONFIG_PRINTK=y
-
-CONFIG_MQTT_LIB=y
-
-CONFIG_MAIN_STACK_SIZE=2048
-
-CONFIG_ENTROPY_GENERATOR=y
-CONFIG_TEST_RANDOM_GENERATOR=y
-CONFIG_TIMER_RANDOM_GENERATOR=y
-
-CONFIG_BT_RX_STACK_SIZE=1024
-CONFIG_BT_DEVICE_NAME="Zephyr"
-
-# The app wont fit in RAM with ECC enabled
-CONFIG_BT_TINYCRYPT_ECC=n
-
-CONFIG_BT_L2CAP_TX_BUF_COUNT=3
-CONFIG_BT_L2CAP_TX_MTU=65
-
-CONFIG_BT_HCI_TX_STACK_SIZE=640
-CONFIG_BT_HCI_HOST=y
-CONFIG_BT_RECV_IS_RX_THREAD=y
-CONFIG_BT_HCI_CMD_COUNT=2
-CONFIG_BT_RX_BUF_COUNT=20
-CONFIG_BT_RX_BUF_LEN=1024
-CONFIG_BT_CONN=y
-CONFIG_BT_SIGNING=y
-CONFIG_BT_L2CAP_DYNAMIC_CHANNEL=y
-CONFIG_BT_DEBUG_LOG=y
diff --git a/samples/net/mqtt_publisher/prj_frdm_k64f.conf b/samples/net/mqtt_publisher/prj_frdm_k64f.conf
deleted file mode 100644
index f902596..0000000
--- a/samples/net/mqtt_publisher/prj_frdm_k64f.conf
+++ /dev/null
@@ -1,37 +0,0 @@
-CONFIG_NETWORKING=y
-CONFIG_NET_TCP=y
-CONFIG_ENTROPY_GENERATOR=y
-CONFIG_NET_ARP=y
-CONFIG_NET_L2_ETHERNET=y
-CONFIG_NET_LOG=y
-CONFIG_INIT_STACKS=y
-
-CONFIG_NET_PKT_RX_COUNT=16
-CONFIG_NET_PKT_TX_COUNT=16
-CONFIG_NET_BUF_RX_COUNT=16
-CONFIG_NET_BUF_TX_COUNT=16
-
-CONFIG_NET_IPV6_RA_RDNSS=y
-CONFIG_NET_IF_UNICAST_IPV4_ADDR_COUNT=3
-
-CONFIG_PRINTK=y
-#CONFIG_NET_DEBUG_NET_PKT=y
-
-CONFIG_NET_IPV4=n
-# Enable IPv6 support
-CONFIG_NET_IPV6=y
-
-# Enable the MQTT Lib
-CONFIG_MQTT_LIB=y
-
-CONFIG_NET_CONFIG_SETTINGS=y
-CONFIG_NET_CONFIG_MY_IPV6_ADDR="2001:db8::1"
-CONFIG_NET_CONFIG_PEER_IPV6_ADDR="2001:db8::2"
-
-CONFIG_NET_CONFIG_MY_IPV4_ADDR="192.168.1.101"
-CONFIG_NET_CONFIG_PEER_IPV4_ADDR="192.168.1.10"
-
-CONFIG_MAIN_STACK_SIZE=2048
-
-# For IPv6
-CONFIG_NET_BUF_DATA_SIZE=256
diff --git a/samples/net/mqtt_publisher/src/main.c b/samples/net/mqtt_publisher/src/main.c
index 64ab8f7..3869f0c 100644
--- a/samples/net/mqtt_publisher/src/main.c
+++ b/samples/net/mqtt_publisher/src/main.c
@@ -12,11 +12,6 @@
#include <string.h>
#include <errno.h>
-#if defined(CONFIG_NET_L2_BT)
-#include <bluetooth/bluetooth.h>
-#include <bluetooth/conn.h>
-#endif
-
#include "config.h"
/* Buffers for MQTT client. */
@@ -34,9 +29,6 @@
static bool connected;
-/* This routine sets some basic properties for the network context variable */
-static int network_setup(void);
-
#if defined(CONFIG_MQTT_LIB_TLS)
#include "test_certs.h"
@@ -365,16 +357,7 @@
{
int i, rc;
-#if defined(CONFIG_MQTT_LIB_TLS)
- rc = tls_init();
- PRINT_RESULT("tls_init", rc);
- SUCCESS_OR_EXIT(rc);
-#endif
-
- rc = network_setup();
- PRINT_RESULT("network_setup", rc);
- SUCCESS_OR_EXIT(rc);
-
+ printk("attempting to connect: ");
rc = try_to_connect(&client_ctx);
PRINT_RESULT("try_to_connect", rc);
SUCCESS_OR_EXIT(rc);
@@ -420,57 +403,17 @@
printk("\nBye!\n");
}
-#if defined(CONFIG_NET_L2_BT)
-static bool bt_connected;
-
-static
-void bt_connect_cb(struct bt_conn *conn, u8_t err)
-{
- bt_connected = true;
-}
-
-static
-void bt_disconnect_cb(struct bt_conn *conn, u8_t reason)
-{
- bt_connected = false;
- printk("bt disconnected (reason %u)\n", reason);
-}
-
-static
-struct bt_conn_cb bt_conn_cb = {
- .connected = bt_connect_cb,
- .disconnected = bt_disconnect_cb,
-};
-#endif
-
-static int network_setup(void)
-{
-#if defined(CONFIG_NET_L2_BT)
- const char *progress_mark = "/-\\|";
- int i = 0;
- int rc;
-
- rc = bt_enable(NULL);
- if (rc) {
- printk("bluetooth init failed\n");
- return rc;
- }
-
- bt_conn_cb_register(&bt_conn_cb);
-
- printk("\nwaiting for bt connection: ");
- while (bt_connected == false) {
- k_sleep(250);
- printk("%c\b", progress_mark[i]);
- i = (i + 1) % (sizeof(progress_mark) - 1);
- }
- printk("\n");
-#endif
-
- return 0;
-}
-
void main(void)
{
- publisher();
+#if defined(CONFIG_MQTT_LIB_TLS)
+ int rc;
+
+ rc = tls_init();
+ PRINT_RESULT("tls_init", rc);
+#endif
+
+ while (1) {
+ publisher();
+ k_sleep(5000);
+ }
}