u-blox modem Websockets client test

Dependencies:   UbloxUSBModem WebSocketClient mbed

Committer:
mbed_official
Date:
Thu Oct 31 03:34:32 2013 +0000
Revision:
4:7151de45f03b
Parent:
1:46a74633a5cc
Changed default modem to CDMA

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 0:f1ad9e7a8fe2 1
mbed_official 0:f1ad9e7a8fe2 2 #include "websocketstest.h"
mbed_official 0:f1ad9e7a8fe2 3 #include "Websocket.h"
mbed_official 0:f1ad9e7a8fe2 4
mbed_official 0:f1ad9e7a8fe2 5 void websocketstest(CellularModem& modem, const char* apn, const char* username, const char* password)
mbed_official 0:f1ad9e7a8fe2 6 {
mbed_official 1:46a74633a5cc 7 char msg[2048] = {0};
mbed_official 0:f1ad9e7a8fe2 8 Timer t;
mbed_official 0:f1ad9e7a8fe2 9
mbed_official 0:f1ad9e7a8fe2 10 t.start();
mbed_official 0:f1ad9e7a8fe2 11 modem.power(true);
mbed_official 0:f1ad9e7a8fe2 12 Thread::wait(1000);
mbed_official 1:46a74633a5cc 13 int ret = modem.connect(apn, username, password);
mbed_official 0:f1ad9e7a8fe2 14 if(ret)
mbed_official 0:f1ad9e7a8fe2 15 {
mbed_official 0:f1ad9e7a8fe2 16 error("Modem connect failed: %s line %d\n", __FILE__ , __LINE__);
mbed_official 0:f1ad9e7a8fe2 17 }
mbed_official 0:f1ad9e7a8fe2 18
mbed_official 0:f1ad9e7a8fe2 19 // See the output on http://sockets.mbed.org/sg_test/viewer
mbed_official 0:f1ad9e7a8fe2 20 Websocket ws("ws://sockets.mbed.org:443/ws/sg_test/rw");
mbed_official 0:f1ad9e7a8fe2 21
mbed_official 0:f1ad9e7a8fe2 22 for(int i=0; i<0x7fffffff; ++i)
mbed_official 0:f1ad9e7a8fe2 23 {
mbed_official 0:f1ad9e7a8fe2 24 ws.connect();
mbed_official 0:f1ad9e7a8fe2 25 // create json string with acc/tmp data
mbed_official 0:f1ad9e7a8fe2 26 sprintf(msg, "Testing mbed Websockets Loop: %d", i);
mbed_official 0:f1ad9e7a8fe2 27 ws.send(msg);
mbed_official 0:f1ad9e7a8fe2 28 wait(0.5f);
mbed_official 0:f1ad9e7a8fe2 29 memset(msg, 0, 2048);
mbed_official 0:f1ad9e7a8fe2 30
mbed_official 0:f1ad9e7a8fe2 31 if (ws.read(msg))
mbed_official 0:f1ad9e7a8fe2 32 {
mbed_official 0:f1ad9e7a8fe2 33 printf("rcv: %s\r\n", msg);
mbed_official 0:f1ad9e7a8fe2 34 }
mbed_official 0:f1ad9e7a8fe2 35 else
mbed_official 0:f1ad9e7a8fe2 36 {
mbed_official 0:f1ad9e7a8fe2 37 printf("Loop %d ws.read() returns 0\n \t %s, line %d @ %6.2f seconds\n", i, __FILE__, __LINE__, t.read());
mbed_official 0:f1ad9e7a8fe2 38 wait(5.0f);
mbed_official 0:f1ad9e7a8fe2 39 }
mbed_official 0:f1ad9e7a8fe2 40 ws.close();
mbed_official 0:f1ad9e7a8fe2 41 }
mbed_official 0:f1ad9e7a8fe2 42
mbed_official 0:f1ad9e7a8fe2 43 t.stop();
mbed_official 0:f1ad9e7a8fe2 44 modem.disconnect();
mbed_official 0:f1ad9e7a8fe2 45 modem.power(false);
mbed_official 0:f1ad9e7a8fe2 46
mbed_official 0:f1ad9e7a8fe2 47 puts("Powered off Test Complete");
mbed_official 0:f1ad9e7a8fe2 48 }