Integrating the ublox LISA C200 modem
Fork of SprintUSBModemHTTPClientTest by
main.cpp@19:f1d893c651e5, 2013-10-01 (annotated)
- Committer:
- sam_grove
- Date:
- Tue Oct 01 17:36:06 2013 -0500
- Revision:
- 19:f1d893c651e5
- Parent:
- 14:cd53f77f8afe
- Child:
- 20:39772b740985
Speed up the websocket test
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
donatien | 0:43ee25ebfe6b | 1 | #include "mbed.h" |
donatien | 0:43ee25ebfe6b | 2 | #include "SprintUSBModem.h" |
donatien | 0:43ee25ebfe6b | 3 | #include "HTTPClient.h" |
sam_grove | 14:cd53f77f8afe | 4 | #include "Websocket.h" |
donatien | 0:43ee25ebfe6b | 5 | |
sam_grove | 11:3baeddcea132 | 6 | char const *msg = "need another reason to merge\n"; |
sam_grove | 13:c920eb6774de | 7 | //char const *URL = "http://mbed.org/"; |
sam_grove | 13:c920eb6774de | 8 | //char const *URL = "https://www.google.com/"; |
sam_grove | 13:c920eb6774de | 9 | char const *URL = "http://httpbin.org/ip"; |
sam_grove | 10:bdacd7bddc52 | 10 | |
donatien | 0:43ee25ebfe6b | 11 | void test(void const*) |
donatien | 0:43ee25ebfe6b | 12 | { |
mike.pulice@proxy-usa.com | 7:655438fd019f | 13 | SprintUSBModem modem(p18, true, 1); |
donatien | 0:43ee25ebfe6b | 14 | HTTPClient http; |
donatien | 0:43ee25ebfe6b | 15 | char str[512]; |
donatien | 0:43ee25ebfe6b | 16 | |
donatien | 0:43ee25ebfe6b | 17 | Thread::wait(5000); |
donatien | 0:43ee25ebfe6b | 18 | printf("Switching power on\r\n"); |
donatien | 0:43ee25ebfe6b | 19 | |
donatien | 0:43ee25ebfe6b | 20 | modem.power(true); |
donatien | 0:43ee25ebfe6b | 21 | |
donatien | 0:43ee25ebfe6b | 22 | int ret = modem.connect(); |
donatien | 0:43ee25ebfe6b | 23 | if(ret) |
donatien | 0:43ee25ebfe6b | 24 | { |
donatien | 0:43ee25ebfe6b | 25 | printf("Could not connect\r\n"); |
donatien | 0:43ee25ebfe6b | 26 | return; |
donatien | 0:43ee25ebfe6b | 27 | } |
sam_grove | 14:cd53f77f8afe | 28 | // See the output on http://sockets.mbed.org/sg_test/viewer |
sam_grove | 14:cd53f77f8afe | 29 | Websocket ws("ws://sockets.mbed.org:443/ws/sg_test/rw"); |
sam_grove | 14:cd53f77f8afe | 30 | ws.connect(); |
sam_grove | 14:cd53f77f8afe | 31 | char json_str[100]; |
sam_grove | 14:cd53f77f8afe | 32 | for(int i=0; i<100; ++i) |
sam_grove | 14:cd53f77f8afe | 33 | { |
sam_grove | 14:cd53f77f8afe | 34 | // create json string with acc/tmp data |
sam_grove | 14:cd53f77f8afe | 35 | sprintf(json_str, "{\"id\":\"test\",\"ax\":%d,\"ay\":%d,\"az\":%d, \"tmp\":%d}", i, i, i, i); |
sam_grove | 14:cd53f77f8afe | 36 | // send str |
sam_grove | 14:cd53f77f8afe | 37 | ws.send(json_str); |
sam_grove | 19:f1d893c651e5 | 38 | wait(0.5f); |
sam_grove | 14:cd53f77f8afe | 39 | memset(json_str, 0, 100); |
sam_grove | 14:cd53f77f8afe | 40 | if (ws.read(json_str)) |
sam_grove | 14:cd53f77f8afe | 41 | { |
sam_grove | 14:cd53f77f8afe | 42 | printf("rcv: %s\r\n", json_str); |
sam_grove | 14:cd53f77f8afe | 43 | } |
sam_grove | 14:cd53f77f8afe | 44 | } |
sam_grove | 19:f1d893c651e5 | 45 | ws.close(); |
donatien | 0:43ee25ebfe6b | 46 | |
donatien | 0:43ee25ebfe6b | 47 | //GET data |
donatien | 0:43ee25ebfe6b | 48 | printf("Trying to fetch page...\r\n"); |
sam_grove | 13:c920eb6774de | 49 | ret = http.get(URL, str, 128); |
donatien | 0:43ee25ebfe6b | 50 | if (!ret) |
donatien | 0:43ee25ebfe6b | 51 | { |
donatien | 0:43ee25ebfe6b | 52 | printf("Page fetched successfully - read %d characters\r\n", strlen(str)); |
donatien | 0:43ee25ebfe6b | 53 | printf("Result: %s\r\n", str); |
donatien | 0:43ee25ebfe6b | 54 | } |
donatien | 0:43ee25ebfe6b | 55 | else |
donatien | 0:43ee25ebfe6b | 56 | { |
donatien | 0:43ee25ebfe6b | 57 | printf("Error - ret = %d - HTTP return code = %d\r\n", ret, http.getHTTPResponseCode()); |
donatien | 0:43ee25ebfe6b | 58 | } |
donatien | 0:43ee25ebfe6b | 59 | |
donatien | 0:43ee25ebfe6b | 60 | //POST data |
donatien | 0:43ee25ebfe6b | 61 | HTTPMap map; |
donatien | 0:43ee25ebfe6b | 62 | HTTPText text(str, 512); |
donatien | 0:43ee25ebfe6b | 63 | map.put("Hello", "World"); |
donatien | 0:43ee25ebfe6b | 64 | map.put("test", "1234"); |
donatien | 0:43ee25ebfe6b | 65 | printf("Trying to post data...\r\n"); |
donatien | 0:43ee25ebfe6b | 66 | ret = http.post("http://httpbin.org/post", map, &text); |
donatien | 0:43ee25ebfe6b | 67 | if (!ret) |
donatien | 0:43ee25ebfe6b | 68 | { |
donatien | 0:43ee25ebfe6b | 69 | printf("Executed POST successfully - read %d characters\r\n", strlen(str)); |
donatien | 0:43ee25ebfe6b | 70 | printf("Result: %s\r\n", str); |
donatien | 0:43ee25ebfe6b | 71 | } |
donatien | 0:43ee25ebfe6b | 72 | else |
donatien | 0:43ee25ebfe6b | 73 | { |
donatien | 0:43ee25ebfe6b | 74 | printf("Error - ret = %d - HTTP return code = %d\r\n", ret, http.getHTTPResponseCode()); |
donatien | 0:43ee25ebfe6b | 75 | } |
donatien | 0:43ee25ebfe6b | 76 | |
donatien | 0:43ee25ebfe6b | 77 | printf("Disconnecting\r\n"); |
donatien | 0:43ee25ebfe6b | 78 | |
donatien | 0:43ee25ebfe6b | 79 | modem.disconnect(); |
donatien | 0:43ee25ebfe6b | 80 | |
donatien | 0:43ee25ebfe6b | 81 | printf("Disconnected\r\n"); |
donatien | 0:43ee25ebfe6b | 82 | |
donatien | 0:43ee25ebfe6b | 83 | modem.power(false); |
donatien | 0:43ee25ebfe6b | 84 | |
donatien | 0:43ee25ebfe6b | 85 | printf("Powered off\r\n"); |
donatien | 0:43ee25ebfe6b | 86 | |
donatien | 0:43ee25ebfe6b | 87 | while(1) { |
donatien | 0:43ee25ebfe6b | 88 | } |
donatien | 0:43ee25ebfe6b | 89 | } |
donatien | 0:43ee25ebfe6b | 90 | |
donatien | 0:43ee25ebfe6b | 91 | |
donatien | 0:43ee25ebfe6b | 92 | int main() |
donatien | 0:43ee25ebfe6b | 93 | { |
donatien | 0:43ee25ebfe6b | 94 | DBG_INIT(); |
donatien | 0:43ee25ebfe6b | 95 | DBG_SET_SPEED(115200); |
donatien | 0:43ee25ebfe6b | 96 | DBG_SET_NEWLINE("\r\n"); |
donatien | 0:43ee25ebfe6b | 97 | Thread testTask(test, NULL, osPriorityNormal, 1024 * 5); |
donatien | 0:43ee25ebfe6b | 98 | DigitalOut led(LED1); |
donatien | 0:43ee25ebfe6b | 99 | while(1) |
donatien | 0:43ee25ebfe6b | 100 | { |
donatien | 0:43ee25ebfe6b | 101 | led=!led; |
donatien | 0:43ee25ebfe6b | 102 | Thread::wait(1000); |
donatien | 0:43ee25ebfe6b | 103 | } |
donatien | 0:43ee25ebfe6b | 104 | |
donatien | 0:43ee25ebfe6b | 105 | return 0; |
donatien | 0:43ee25ebfe6b | 106 | } |