Test u-blox C027, nodejs, socketio on heroku

Dependencies:   C027 EthernetInterface SocketIO WebSocketClient mbed-rtos mbed

Fork of C027_Socketio_Ethernet by Chau Vo

Committer:
olympux
Date:
Wed Apr 09 20:14:57 2014 +0000
Revision:
3:259ac92c3ca8
Parent:
1:1c1802ec42a2
Child:
4:0bdab35cb164
initial version

Who changed what in which revision?

UserRevisionLine numberNew contents of line
samux 1:1c1802ec42a2 1 #include "mbed.h"
olympux 3:259ac92c3ca8 2 #include "C027.h"
samux 1:1c1802ec42a2 3 #include "EthernetInterface.h"
samux 1:1c1802ec42a2 4 #include "Websocket.h"
samux 1:1c1802ec42a2 5
samux 1:1c1802ec42a2 6
olympux 3:259ac92c3ca8 7 void test(void const*)
olympux 3:259ac92c3ca8 8 {
olympux 3:259ac92c3ca8 9 char msg[512] = {0};
samux 1:1c1802ec42a2 10
samux 1:1c1802ec42a2 11 EthernetInterface eth;
samux 1:1c1802ec42a2 12 eth.init(); //Use DHCP
samux 1:1c1802ec42a2 13 eth.connect();
samux 1:1c1802ec42a2 14 printf("IP Address is %s\n\r", eth.getIPAddress());
samux 1:1c1802ec42a2 15
olympux 3:259ac92c3ca8 16 Websocket ws("ws://sockets.mbed.org:443/ws/chauvo/wo");
olympux 3:259ac92c3ca8 17 Timer t;
olympux 3:259ac92c3ca8 18 t.start();
olympux 3:259ac92c3ca8 19
olympux 3:259ac92c3ca8 20 bool c = ws.connect();
olympux 3:259ac92c3ca8 21 printf("Connect result: %s\n", c?"OK":"Failed");
olympux 3:259ac92c3ca8 22
olympux 3:259ac92c3ca8 23 for(int i = 0; i < 10000; i++)
olympux 3:259ac92c3ca8 24 {
olympux 3:259ac92c3ca8 25 ws.connect();
olympux 3:259ac92c3ca8 26 // create json string with acc/tmp data
olympux 3:259ac92c3ca8 27 sprintf(msg, "Chau's demo loop: %d", i);
olympux 3:259ac92c3ca8 28 ws.send(msg);
olympux 3:259ac92c3ca8 29 wait(0.5f);
olympux 3:259ac92c3ca8 30 memset(msg, 0, 512);
olympux 3:259ac92c3ca8 31
olympux 3:259ac92c3ca8 32 if (ws.read(msg))
olympux 3:259ac92c3ca8 33 {
olympux 3:259ac92c3ca8 34 printf("rcv: %s\r\n", msg);
olympux 3:259ac92c3ca8 35 }
olympux 3:259ac92c3ca8 36 else
olympux 3:259ac92c3ca8 37 {
olympux 3:259ac92c3ca8 38 printf("Loop %d ws.read() returns 0\n \t %s, line %d @ %6.2f seconds\n", i, __FILE__, __LINE__, t.read());
olympux 3:259ac92c3ca8 39 wait(5.0f);
olympux 3:259ac92c3ca8 40 }
olympux 3:259ac92c3ca8 41 ws.close();
samux 1:1c1802ec42a2 42 }
olympux 3:259ac92c3ca8 43
olympux 3:259ac92c3ca8 44 while(1) {
olympux 3:259ac92c3ca8 45 }
olympux 3:259ac92c3ca8 46 }
olympux 3:259ac92c3ca8 47
olympux 3:259ac92c3ca8 48 int main()
olympux 3:259ac92c3ca8 49 {
olympux 3:259ac92c3ca8 50 Thread testTask(test, NULL, osPriorityNormal, 1024 * 4);
olympux 3:259ac92c3ca8 51 DigitalOut led(LED); // on rev A you should reasign the signal to A0
olympux 3:259ac92c3ca8 52 while(1) {
olympux 3:259ac92c3ca8 53 led=!led;
olympux 3:259ac92c3ca8 54 Thread::wait(1000);
olympux 3:259ac92c3ca8 55 }
olympux 3:259ac92c3ca8 56
olympux 3:259ac92c3ca8 57 return 0;
samux 1:1c1802ec42a2 58 }