An example program that establishes a read-only web socket connection, and echos everything it sees to the LCD

Dependencies:   C12832_lcd SprintUSBModem WebSocketClient mbed-rtos mbed

Fork of SprintUSBModemWebsocketTest-Temp by Chris Styles

Committer:
chris
Date:
Thu Nov 01 03:00:53 2012 +0000
Revision:
2:72c06f2902d5
Parent:
1:380f5db5d004
Child:
3:7d9749651663
Make it an infinite loop, and posting data "WO"

Who changed what in which revision?

UserRevisionLine numberNew contents of line
chris 2:72c06f2902d5 1 #include "mbed.h"
chris 2:72c06f2902d5 2 #include "SprintUSBModem.h"
chris 2:72c06f2902d5 3 #include "Websocket.h"
chris 2:72c06f2902d5 4 #include "LM75B.h"
chris 2:72c06f2902d5 5
chris 2:72c06f2902d5 6 void test(void const*)
chris 2:72c06f2902d5 7 {
chris 2:72c06f2902d5 8 LM75B tmp(p28,p27);
chris 2:72c06f2902d5 9
chris 2:72c06f2902d5 10 SprintUSBModem modem;
chris 2:72c06f2902d5 11 // view at http://sockets.mbed.org/demo/viewer
chris 2:72c06f2902d5 12 Websocket ws("ws://sockets.mbed.org:443/ws/demo/wo");
chris 2:72c06f2902d5 13
chris 2:72c06f2902d5 14 char recv[128];
chris 2:72c06f2902d5 15 char msg[32];
chris 2:72c06f2902d5 16
chris 2:72c06f2902d5 17 modem.power(true);
chris 2:72c06f2902d5 18
chris 2:72c06f2902d5 19 int ret = modem.connect();
chris 2:72c06f2902d5 20 if(ret) {
chris 2:72c06f2902d5 21 printf("Could not connect\r\n");
chris 2:72c06f2902d5 22 return;
chris 2:72c06f2902d5 23 }
chris 2:72c06f2902d5 24
chris 2:72c06f2902d5 25 bool c = ws.connect();
chris 2:72c06f2902d5 26 printf("Connect result: %s\r\n", c?"OK":"Failed");
chris 2:72c06f2902d5 27
chris 2:72c06f2902d5 28 while (1) {
chris 2:72c06f2902d5 29
chris 2:72c06f2902d5 30 sprintf(msg, "Temp = %.1f",tmp.read());
chris 2:72c06f2902d5 31 int ret = ws.send(msg);
chris 2:72c06f2902d5 32 if(ret<0) {
chris 2:72c06f2902d5 33 printf("Timeout\r\n");
chris 2:72c06f2902d5 34 ws.close();
chris 2:72c06f2902d5 35 c = ws.connect();
chris 2:72c06f2902d5 36 printf("Connect result: %s\r\n", c?"OK":"Failed");
chris 2:72c06f2902d5 37 }
chris 2:72c06f2902d5 38 Thread::wait(1000);
chris 2:72c06f2902d5 39
chris 2:72c06f2902d5 40 }
chris 2:72c06f2902d5 41
chris 2:72c06f2902d5 42 modem.disconnect();
chris 2:72c06f2902d5 43
chris 2:72c06f2902d5 44 printf("Disconnected\r\n");
chris 2:72c06f2902d5 45
chris 2:72c06f2902d5 46 modem.power(false);
chris 2:72c06f2902d5 47
chris 2:72c06f2902d5 48 printf("Powered off\r\n");
chris 2:72c06f2902d5 49
chris 2:72c06f2902d5 50 while(1) {
chris 2:72c06f2902d5 51 }
chris 2:72c06f2902d5 52 }
chris 2:72c06f2902d5 53
chris 2:72c06f2902d5 54
chris 2:72c06f2902d5 55 int main()
chris 2:72c06f2902d5 56 {
chris 2:72c06f2902d5 57 DBG_INIT();
chris 2:72c06f2902d5 58 DBG_SET_SPEED(115200);
chris 2:72c06f2902d5 59 DBG_SET_NEWLINE("\r\n");
chris 2:72c06f2902d5 60 Thread testTask(test, NULL, osPriorityNormal, 1024 * 5);
chris 2:72c06f2902d5 61 DigitalOut led(LED1);
chris 2:72c06f2902d5 62 while(1) {
chris 2:72c06f2902d5 63 led=!led;
chris 2:72c06f2902d5 64 Thread::wait(1000);
chris 2:72c06f2902d5 65 }
chris 2:72c06f2902d5 66
chris 2:72c06f2902d5 67 return 0;
chris 2:72c06f2902d5 68 }