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.
Diff: main.cpp
- 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);