Using the IDW01M1 board for the STM32 Nucleo F401RE board. This project reads data from Air quality MQ135 click and then read DHT11 values and publish on a private channel on the Thingspeak. A Good example of IoT project with the IDW01 board

Dependencies:   DHT11 NetworkSocketAPI X_NUCLEO_IDW01M1v2 mbed

Fork of AirQuality_Thingspeak by Imran Sheikh

This example project uses IDW01M1 WiFi Module to support IoT projects with example sensors such as Airquality Click MQ135 and DHT11 sensor. The sensor values are then published on the Thingspeak channel. The program uses the DHT11, NetworksocketApi and the SPW library fromX_Nucleo_IDW01M1_v2. This project can easily be adapted to add further sensors or use ESP8266 WiFi module as plenty of support is available on mbed.

Revision:
2:3a87dbea07a7
Parent:
1:daf71fa3674c
Child:
4:40cb51547b9f
--- a/main.cpp	Fri Aug 19 09:08:10 2016 +0000
+++ b/main.cpp	Wed Sep 07 07:17:38 2016 +0000
@@ -23,7 +23,7 @@
 // 9600 bauds, 8-bit data, no parity
 //------------------------------------
 
-Serial pc(USBTX, USBRX); //SERIAL_TX, SERIAL_RX
+Serial pc(USBTX, USBRX);
 DigitalOut myled(LED1);
 
 /*************************************
@@ -38,10 +38,22 @@
 
 SpwfSAInterface spwf(D9, D7, false);
 *************************************/
+/*************************************
+//LPCXpresso11U68: D9->UART1_TX, D7->UART1_RX
+Pin connections:
+    LPC      IDW01M1
+   ------    ---------
+    +3v3 <--> +3v3
+    GND  <--> GND
+    A1   <--> D8
+    A2   <--> D2
+
+SpwfSAInterface spwf(A1, A2, false);
+*************************************/
 
 //NUCLEO: D8->UART1_TX (PA_9), D2->UART1_RX (PA_10)
 SpwfSAInterface spwf(D8, D2, false);
-    
+
 int main() {
     int err;    
     char * ssid = "STM";
@@ -69,18 +81,13 @@
     pc.printf("\r\nconnecting to http://time-d.nist.gov\r\n");
     
     TCPSocket socket(&spwf);
-    //err = socket.connect("192.168.1.6", 32000);
-    err = socket.connect("4.ifcfg.me", 23);//"4.ifcfg.me", 23;//"time-d.nist.gov", 37
+    err = socket.connect("4.ifcfg.me", 23);
     if(err!=0) 
     {
       pc.printf("\r\nCould not connect to Socket, err = %d!!\r\n", err); 
       return -1;
     } else pc.printf("\r\nconnected to host server\r\n"); 
     
-    //char * str = "test";
-    //socket.send(str, strlen(str));
-    
-#if 1
     char buffer[64];
     int count = 0;
     pc.printf("\r\nReceiving Data\r\n"); 
@@ -89,18 +96,15 @@
     if(count > 0)
     {
         printf("public IP address is: %s\r\n", &buffer[15]);
-        //pc.printf("\r\nReceived: %ld bytes, 0x%02x 0x%02x 0x%02x 0x%02x\r\n", \
-          //                  count, buffer[0], buffer[1], buffer[2], buffer[3]);
     }
     else pc.printf("\r\nData not received\r\n");
 
-    //pc.printf("\r\nClosing Socket\r\n");
-   // socket.close();
+    pc.printf("\r\nClosing Socket\r\n");
+    socket.close();
         
-    //pc.printf("\r\ndisconnecting....\r\n");
-    //spwf.disconnect();
-    //pc.printf("\r\nTest complete.\r\n");
-#endif
+    pc.printf("\r\ndisconnecting....\r\n");
+    spwf.disconnect();
+    pc.printf("\r\nTest complete.\r\n");
                 
     while(1) { 
       wait(1);