HTTP/HTTPS client Hello World application running with X-NUCLEO-IDW01M1v2 wifi board.

Dependencies:   HTTPClient NetworkSocketAPI X_NUCLEO_IDW01M1v2 mbed

Fork of HTTPClient_HelloWorld by ST Expansion SW Team

Example of HTTP and HTTPS connections using X-NUCLEO-IDW01M1 Wi-Fi expansion board.
The application is meant to be used with mbed OS 2 ("Classic") only (no mbedOS 5 support).
For HTTPS connection it uses the TLS/SSL feature provided natively by the Wi-Fi module and performs secure connection to the server also verifying the server identity.
To avoid expired CA certificates, system time (in epoch) must be manually entered (e..g. using http://www.epochconverter.com/ ) .
Retrieval of current time from an NTP server is shown by this example.

Revision:
8:1b5c28fe5e94
Parent:
5:526c0df8cbff
Child:
9:b54448c7f712
--- a/main.cpp	Tue Nov 08 17:37:49 2016 +0000
+++ b/main.cpp	Thu Nov 17 14:10:21 2016 +0000
@@ -1,3 +1,54 @@
+
+//#define TESTV2
+#ifdef TESTV2
+
+#include "mbed.h"
+#include "SpwfInterface.h"
+#include "NSAPITests.h"
+
+//------------------------------------
+// Hyperterminal configuration
+// 9600 bauds, 8-bit data, no parity
+//------------------------------------
+
+Serial pc(USBTX, USBRX);
+DigitalOut myled(LED1);
+SpwfSAInterface spwf(D8, D2, false);
+ 
+int main()
+{
+    int32_t err;  
+//    char * ssid = "STM";
+//    char * seckey = "STMdemoPWD";
+    char * ssid = "crespan";
+    char * seckey = "Elfrontal1";
+    
+      
+    pc.printf("\r\nSpwf Interface NSAPI Tests\r\n");
+    pc.printf("\r\nconnecting to AP\r\n");
+            
+    err = spwf.connect(ssid, seckey, NSAPI_SECURITY_WPA);
+ 
+    if (!err) {
+        printf("Interface failed to connect with code %d\r\n", err);
+    } else {
+       do { 
+       
+          nsapi_tests("SPWF Tests", &spwf, "192.168.1.19", 32001);
+        
+       } while (1);    
+        spwf.disconnect();
+    }
+
+    while(1)
+    {
+        wait(1);
+        myled = !myled;
+    }
+}
+
+#else
+
 #include "mbed.h"
 //#include "EthernetInterface.h"
 #include "TCPSocket.h"
@@ -14,11 +65,10 @@
 int main() 
 {
 #ifdef LICIO
-    SpwfSAInterface spwf(D8, D2, false);    
+    SpwfSAInterface spwf(D8, D2, false);
+    spwf.connect("crespan","Elfrontal1", NSAPI_SECURITY_WPA2);
 
-    HTTPWiFi ipstack(spwf, "crespan","Elfrontal1", NSAPI_SECURITY_WPA2);
- 
-HTTPClient http(ipstack);
+    HTTPClient http(spwf);
 #else    
     eth.init(); //Use DHCP
     eth.connect();
@@ -38,7 +88,7 @@
     {
       printf("Error - ret = %d - HTTP return code = %d\n\r", ret, http.getHTTPResponseCode());
     }
-    
+   
     //POST data
     HTTPMap map;
     HTTPText inText(str, 512);
@@ -92,3 +142,4 @@
     while(1) {
     }
 }
+#endif
\ No newline at end of file