INSAT_MiniPRoject

Dependencies:   MQTT NDefLib NetworkSocketAPI Servo Light_Sensor_Nucleo X_NUCLEO_IDW01M1v2 mbed

Fork of IDW01M1_Cloud_IBM by ST

Revision:
8:6df01cb43137
Parent:
6:0d838d564181
Child:
10:c7b62ce013ad
--- a/main.cpp	Tue Apr 19 08:25:01 2016 +0000
+++ b/main.cpp	Fri May 13 12:24:36 2016 +0000
@@ -7,65 +7,63 @@
 // 9600 bauds, 8-bit data, no parity
 //------------------------------------
 
-Serial pc(SERIAL_TX, SERIAL_RX);
- 
+Serial pc(SERIAL_TX, SERIAL_RX); 
 DigitalOut myled(LED1);
-
 SpwfSAInterface spwf(PA_9, PA_10, PC_12, PC_8, PA_12, true);
-TCPSocket tcp_(&spwf);    
     
 int main() {
-    int32_t err;    
+    int err;    
     char * ssid = "STM";
     char * seckey = "STMdemoPWD";
-    char * data = "Hello World!\r\n";
-    uint32_t len = strlen(data);
     
     pc.printf("\r\nX-NUCLEO-IDW01M1 mbed Application\r\n");     
-    pc.printf("\r\n[APP] connecting to AP\r\n");
+    pc.printf("\r\nconnecting to AP\r\n");
             
-    err = spwf.connect(ssid, seckey, NS_SECURITY_WPA);
+    err = spwf.connect(ssid, seckey, NSAPI_SECURITY_WPA);
     if(err!=0)
     {
-        pc.printf("\r\n[APP] error connecting to AP.\r\n");
+        pc.printf("\r\nerror connecting to AP.\r\n");
         return -1;
     }
     
-    pc.printf("\r\n[APP] now connected\r\n");
+    pc.printf("\r\nnow connected\r\n");
             
-    const char *ip = spwf.getIPAddress();
-    const char *mac = spwf.getMACAddress();
+    const char *ip = spwf.get_ip_address();
+    const char *mac = spwf.get_mac_address();
     
-    pc.printf("\r\n[APP] IP Address is: %s\r\n", (ip) ? ip : "No IP");
-    pc.printf("\r\n[APP] MAC Address is: %s\r\n", (mac) ? mac : "No MAC");
+    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");
+    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");   //time-d.nist.gov
     
-    pc.printf("\r\n[APP] opening socket\r\n");
-          
-    err = tcp_.open("time-d.nist.gov", 37);
-            
-    if(err==0)
-    {                
-        pc.printf("\r\n[APP] socket open OK\r\n");
-        pc.printf("\r\n[APP] hostname resolved to: %s\r\n", tcp_.getIPAddress());
+    TCPSocket socket(&spwf);
+    err = socket.connect("time-d.nist.gov", 37);
+    if(err!=0) 
+    {
+      pc.printf("\r\nCould not connect to Socket, err = %d!!\r\n", err); 
+      return -1;
+    }
+    char buffer[64];
+    int count = 0;
+    pc.printf("\r\nReceiving Data\r\n"); 
+    count = socket.recv(buffer, sizeof buffer);
+    
+    if(count > 0)
+    {
+        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();
         
-        err = tcp_.send(data, len);
-        
-        if(err == 0)
-            pc.printf("\r\n[APP] socket send OK\r\n");
-        else
-            pc.printf("\r\n[APP] socket send error\r\n");
-        
-        char received[4];
-        int32_t size = 0;
-        pc.printf("\r\n[APP] waiting for data recv\r\n");
-        size = tcp_.recv(received, sizeof(received));
-        if(size==0) 
-            pc.printf("\r\n[APP] Receive error.");
-        else
-            pc.printf("\r\n[APP] Received: %ld bytes, 0x%02x 0x%02x 0x%02x 0x%02x\r\n", size, received[0], received[1], received[2], received[3]);
-    }            
-    else 
-        pc.printf("\r\n[APP] socket open Error\r\n");
+    pc.printf("\r\ndisconnecting....\r\n");
+    spwf.disconnect();
+    pc.printf("\r\nTest complete.\r\n");
                 
     while(1) { 
       wait(1);