Thingspeak IoT using Nucleo-F411RE and IDW01m1

Dependencies:   mbed X_NUCLEO_IDW01M1v2 NetworkSocketAPI

Revision:
0:dee849b0e6e6
Child:
1:daf71fa3674c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Fri Jul 08 06:28:58 2016 +0000
@@ -0,0 +1,94 @@
+/* SpwfInterface NetworkSocketAPI Example Program
+ * Copyright (c) 2015 ARM Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "mbed.h"
+#include "SpwfInterface.h"
+#include "TCPSocket.h"
+
+//------------------------------------
+// Hyperterminal configuration
+// 9600 bauds, 8-bit data, no parity
+//------------------------------------
+
+Serial pc(SERIAL_TX, SERIAL_RX); 
+DigitalOut myled(LED1);
+SpwfSAInterface spwf(PA_9, PA_10, false);
+    
+int main() {
+    int err;    
+    char * ssid = "STM";
+    char * seckey = "STMdemoPWD";
+    
+    pc.printf("\r\nX-NUCLEO-IDW01M1 mbed Application\r\n");     
+    pc.printf("\r\nconnecting to AP\r\n");
+            
+    if(spwf.connect(ssid, seckey, NSAPI_SECURITY_WPA2)) {      
+        pc.printf("\r\nnow connected\r\n");
+    } else {
+        pc.printf("\r\nerror connecting to AP.\r\n");
+        return -1;
+    }   
+            
+    const char *ip = spwf.get_ip_address();
+    const char *mac = spwf.get_mac_address();
+    
+    pc.printf("\r\nIP Address is: %s\r\n", (ip) ? ip : "No IP");
+    pc.printf("\r\nMAC Address is: %s\r\n", (mac) ? mac : "No MAC");    
+    
+    SocketAddress addr(&spwf, "st.com");   
+    pc.printf("\r\nst.com resolved to: %s\r\n", addr.get_ip_address());    
+
+    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
+    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"); 
+    count = socket.recv(buffer, sizeof buffer);
+    
+    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\ndisconnecting....\r\n");
+    //spwf.disconnect();
+    //pc.printf("\r\nTest complete.\r\n");
+#endif
+                
+    while(1) { 
+      wait(1);
+      myled = !myled;
+    }
+}