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);
+	}
 }