Test u-blox C027, nodejs, socketio on heroku
Dependencies: C027 EthernetInterface SocketIO WebSocketClient mbed-rtos mbed
Fork of C027_Socketio_Ethernet by
main.cpp@3:259ac92c3ca8, 2014-04-09 (annotated)
- 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?
User | Revision | Line number | New 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 | } |