Websocket example

Dependencies:   C027 UbloxUSBModem WebSocketClient mbed

Fork of VodafoneUSBModemWebsocketTest by Donatien Garnier

Committer:
mazgch
Date:
Mon Oct 21 15:41:42 2013 +0000
Revision:
7:745fa95221ba
Parent:
4:0f0cd888156b
Child:
8:05a5c32037c2
draft version (untested)

Who changed what in which revision?

UserRevisionLine numberNew contents of line
donatien 2:cc30dc616fa2 1 #include "mbed.h"
mazgch 7:745fa95221ba 2 #include "C027.h"
mazgch 7:745fa95221ba 3 #include "UbloxUSBGSMModem.h"
mazgch 7:745fa95221ba 4 #include "UbloxUSBCDMAModem.h"
mazgch 7:745fa95221ba 5
donatien 2:cc30dc616fa2 6 #include "Websocket.h"
donatien 2:cc30dc616fa2 7
mazgch 7:745fa95221ba 8 void test(void const*)
donatien 2:cc30dc616fa2 9 {
mazgch 7:745fa95221ba 10 UbloxUSBGSMModem modem; // for LISA-C use the UbloxUSBCDMAModem instead
donatien 2:cc30dc616fa2 11 Websocket ws("ws://sockets.mbed.org:443/ws/demo/rw");
donatien 2:cc30dc616fa2 12 char recv[128];
mazgch 7:745fa95221ba 13
mazgch 7:745fa95221ba 14 int ret = modem.connect("internet"); // eventaully set another apn here
mazgch 7:745fa95221ba 15 if(ret) {
mazgch 7:745fa95221ba 16 printf("Could not connect\n");
mazgch 7:745fa95221ba 17 return;
donatien 2:cc30dc616fa2 18 }
mazgch 7:745fa95221ba 19
donatien 4:0f0cd888156b 20 bool c = ws.connect();
donatien 4:0f0cd888156b 21 printf("Connect result: %s\n", c?"OK":"Failed");
mazgch 7:745fa95221ba 22
mazgch 7:745fa95221ba 23 for(int i = 0; i < 10000; i++) {
mazgch 7:745fa95221ba 24 if(!(i%100)) {
mazgch 7:745fa95221ba 25 int ret = ws.send("WebSocket Hello World over the Vodafone Network!");
mazgch 7:745fa95221ba 26 if(ret<0) {
mazgch 7:745fa95221ba 27 printf("Timeout\n");
mazgch 7:745fa95221ba 28 ws.close();
mazgch 7:745fa95221ba 29 c = ws.connect();
mazgch 7:745fa95221ba 30 printf("Connect result: %s\n", c?"OK":"Failed");
mazgch 7:745fa95221ba 31 }
donatien 4:0f0cd888156b 32 }
mazgch 7:745fa95221ba 33
donatien 2:cc30dc616fa2 34 if (ws.read(recv)) {
donatien 2:cc30dc616fa2 35 printf("rcv: %s\r\n", recv);
donatien 2:cc30dc616fa2 36 }
donatien 4:0f0cd888156b 37
donatien 2:cc30dc616fa2 38 }
mazgch 7:745fa95221ba 39
mazgch 7:745fa95221ba 40 modem.disconnect();
donatien 2:cc30dc616fa2 41
donatien 2:cc30dc616fa2 42 while(1) {
donatien 2:cc30dc616fa2 43 }
donatien 2:cc30dc616fa2 44 }
donatien 2:cc30dc616fa2 45
donatien 2:cc30dc616fa2 46
donatien 2:cc30dc616fa2 47 int main()
donatien 2:cc30dc616fa2 48 {
mazgch 7:745fa95221ba 49 Thread testTask(test, NULL, osPriorityNormal, 1024 * 4);
mazgch 7:745fa95221ba 50 DigitalOut led(A0);
mazgch 7:745fa95221ba 51 while(1) {
mazgch 7:745fa95221ba 52 led=!led;
mazgch 7:745fa95221ba 53 Thread::wait(1000);
mazgch 7:745fa95221ba 54 }
donatien 2:cc30dc616fa2 55
mazgch 7:745fa95221ba 56 return 0;
donatien 2:cc30dc616fa2 57 }