Integrating the ublox LISA C200 modem
Fork of SprintUSBModemHTTPClientTest by
main.cpp
- Committer:
- sam_grove
- Date:
- 2013-10-01
- Revision:
- 14:cd53f77f8afe
- Parent:
- 13:c920eb6774de
- Child:
- 19:f1d893c651e5
File content as of revision 14:cd53f77f8afe:
#include "mbed.h" #include "SprintUSBModem.h" #include "HTTPClient.h" #include "Websocket.h" char const *msg = "need another reason to merge\n"; //char const *URL = "http://mbed.org/"; //char const *URL = "https://www.google.com/"; char const *URL = "http://httpbin.org/ip"; void test(void const*) { SprintUSBModem modem(p18, true, 1); HTTPClient http; char str[512]; Thread::wait(5000); printf("Switching power on\r\n"); modem.power(true); int ret = modem.connect(); if(ret) { printf("Could not connect\r\n"); return; } // See the output on http://sockets.mbed.org/sg_test/viewer Websocket ws("ws://sockets.mbed.org:443/ws/sg_test/rw"); ws.connect(); char json_str[100]; for(int i=0; i<100; ++i) { // create json string with acc/tmp data sprintf(json_str, "{\"id\":\"test\",\"ax\":%d,\"ay\":%d,\"az\":%d, \"tmp\":%d}", i, i, i, i); // send str ws.send(json_str); wait(1.0f); memset(json_str, 0, 100); if (ws.read(json_str)) { printf("rcv: %s\r\n", json_str); } } //GET data printf("Trying to fetch page...\r\n"); ret = http.get(URL, str, 128); if (!ret) { printf("Page fetched successfully - read %d characters\r\n", strlen(str)); printf("Result: %s\r\n", str); } else { printf("Error - ret = %d - HTTP return code = %d\r\n", ret, http.getHTTPResponseCode()); } //POST data HTTPMap map; HTTPText text(str, 512); map.put("Hello", "World"); map.put("test", "1234"); printf("Trying to post data...\r\n"); ret = http.post("http://httpbin.org/post", map, &text); if (!ret) { printf("Executed POST successfully - read %d characters\r\n", strlen(str)); printf("Result: %s\r\n", str); } else { printf("Error - ret = %d - HTTP return code = %d\r\n", ret, http.getHTTPResponseCode()); } printf("Disconnecting\r\n"); modem.disconnect(); printf("Disconnected\r\n"); modem.power(false); printf("Powered off\r\n"); while(1) { } } int main() { DBG_INIT(); DBG_SET_SPEED(115200); DBG_SET_NEWLINE("\r\n"); Thread testTask(test, NULL, osPriorityNormal, 1024 * 5); DigitalOut led(LED1); while(1) { led=!led; Thread::wait(1000); } return 0; }