This is a SLIP interface for the STM32F446RE Nucleo Board. It is designed to work specifically with the esp-link software for the ESP8266. The program is an example of a rest command.

Dependencies:   mbed DHT Matrix

Revision:
2:20ea1be14e4b
Parent:
1:99c58a942425
Child:
3:8ed85d940c4c
--- a/main.cpp	Thu Jul 28 02:46:43 2016 +0000
+++ b/main.cpp	Thu Aug 04 19:44:11 2016 +0000
@@ -80,23 +80,36 @@
 int loop_post() {
   //debugSerial.printf("begin main loop \n\r");
   // process any callbacks coming from esp_link
+  int postCount = 0;
   esp.Process();
   debugSerial.printf("Wifi Connected: %i \n\r",wifiConnected);
   // if we're connected make an HTTP request
   while(wifiConnected) {
+    postCount++; //don't post more than 3 times...
     // Post to cloud
-    //rest.post("/post.php", "{sunleaf: test1}");
+
+    //const char* header = "{Host: vivaplanetbusservicedev.servicebus.windows.net Authorization: SharedAccessSignature sr=https%3a%2f%2fvivaplanetbusservicedev.servicebus.windows.net%2fhummingbirdqueue%2fmessages&sig=QIGJfPSsortI9tZpoJ6ZUzfMdtvEaaIHA2pnmKZxNVg%3d&se=1470210743&skn=DevicePolicy Content-Length: 440 Expect: 100-continue Connection: Keep-Alive}";
+    //rest.setHeader(header);
     
-    rest.post("/hummingbirdqueue/messages", "{sunleaf: test1}");
+    //const char* body = "{\"id\":\"17564321\",\"Address\":\"$28591\",\"PhotoUrl\":\"http://vivaplanetstoragedev.blob.core.windows.net:80/devicephotoscontainer/1457a68157e446c2bc4d0af58a0ccc63.jpg?st=2016-08-02T21%3A50%3A31Z&se=2016-08-02T22%3A05%3A31Z&sr=b&sp=w&sig=rf6ovBuFXKC937b3TMY3qVSf%2F3QOYXjqJBYcwj2MUv4%3D\",\"HasPhoto\":true,\"PhotoId\":\"1457a68157e446c2bc4d0af58a0ccc63.jpg\",\"DeviceSensors\":[{\"SensorType\":\"0\",\"Reading\":\"00:03:52.7656140\",\"Value\":\"921\"},null,null,null]}";
+    //rest.post("hummingbirdqueue/messages", body); //cloud post test
+    
+    const char* body = "{sunleaf: test1}";
+    rest.post("/post.php", body); //basic post test
+    
     char response[BUFLEN];
     memset(response, 0, BUFLEN);
     uint16_t code = rest.waitResponse(response, BUFLEN);
     if(code == HTTP_STATUS_OK){
       debugSerial.printf("STM: POST successful: %s\n\r", response);
-    } else {
+    }else if(postCount > 3){
+      debugSerial.printf("STM: POST 3 times exiting...\n\r");
+      return code;   
+    }else {
       debugSerial.printf("STM: POST failed: %i\n\r",code);
       return code;
     }
+    
     wait(60);
   }
   return 0;   
@@ -152,19 +165,21 @@
 
   // Set up the REST client to talk to www.timeapi.org, this doesn't connect to that server,
   // it just sets-up stuff on the esp-link side
-  //int err = rest.begin("www.timeapi.org");
-  //int err = rest.begin("posttestserver.com");
-  const char* host = "vivaplanetbusservicedev.servicebus.windows.net";
-  uint16_t port = 443;
+  //int err = rest.begin("www.timeapi.org"); //for basic example of get
+  int err = rest.begin("posttestserver.com"); //for basic example of post
   
-  int err = rest.begin();
+  //const char* host = "vivaplanetbusservicedev.servicebus.windows.net";
+  //uint16_t port = 443;
+  //bool security = true;
+  //int err = rest.begin(host,port,security);
+ 
   if (err != 0) {
     debugSerial.printf("REST begin failed: %i\n\r",err);
     while(1) ;
   }
   debugSerial.printf("STM-REST ready\n\r");
   while(response != "0"){
-      debugSerial.printf("status: %i\n\r",response);
+      debugSerial.printf("status: %x\n\r",response);
       //loop_get();
       loop_post();      
       wait(60);