tes
Dependencies: ASyncTicker EthernetInterface WebSocketClient mbed-rtos mbed MbedJSONValue xbee_lib
main.cpp@0:d73af3f5c81d, 2014-01-27 (annotated)
- Committer:
- ammanvedi
- Date:
- Mon Jan 27 21:50:20 2014 +0000
- Revision:
- 0:d73af3f5c81d
- Child:
- 1:6c1df6c9be4d
initial
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
ammanvedi | 0:d73af3f5c81d | 1 | #include "mbed.h" |
ammanvedi | 0:d73af3f5c81d | 2 | #include "EthernetInterface.h" |
ammanvedi | 0:d73af3f5c81d | 3 | #include <stdio.h> |
ammanvedi | 0:d73af3f5c81d | 4 | #include <string.h> |
ammanvedi | 0:d73af3f5c81d | 5 | #include "Websocket.h" |
ammanvedi | 0:d73af3f5c81d | 6 | #include "Updateable.h" |
ammanvedi | 0:d73af3f5c81d | 7 | #include "ASyncTicker.h" |
ammanvedi | 0:d73af3f5c81d | 8 | #define PORT 80 |
ammanvedi | 0:d73af3f5c81d | 9 | |
ammanvedi | 0:d73af3f5c81d | 10 | |
ammanvedi | 0:d73af3f5c81d | 11 | EthernetInterface ethernet; |
ammanvedi | 0:d73af3f5c81d | 12 | Websocket ws("ws://192.168.0.4:8080/"); |
ammanvedi | 0:d73af3f5c81d | 13 | Ticker pull_ticker; |
ammanvedi | 0:d73af3f5c81d | 14 | |
ammanvedi | 0:d73af3f5c81d | 15 | |
ammanvedi | 0:d73af3f5c81d | 16 | |
ammanvedi | 0:d73af3f5c81d | 17 | void pull_updates(){ |
ammanvedi | 0:d73af3f5c81d | 18 | wait(0.1f); |
ammanvedi | 0:d73af3f5c81d | 19 | printf("%s", "hello"); |
ammanvedi | 0:d73af3f5c81d | 20 | |
ammanvedi | 0:d73af3f5c81d | 21 | } |
ammanvedi | 0:d73af3f5c81d | 22 | |
ammanvedi | 0:d73af3f5c81d | 23 | int main () |
ammanvedi | 0:d73af3f5c81d | 24 | { |
ammanvedi | 0:d73af3f5c81d | 25 | |
ammanvedi | 0:d73af3f5c81d | 26 | ethernet.init(); // connect with DHCP |
ammanvedi | 0:d73af3f5c81d | 27 | int ret_val = ethernet.connect(); |
ammanvedi | 0:d73af3f5c81d | 28 | |
ammanvedi | 0:d73af3f5c81d | 29 | if (0 == ret_val) { |
ammanvedi | 0:d73af3f5c81d | 30 | printf("IP Address: %s\n\r", ethernet.getIPAddress()); |
ammanvedi | 0:d73af3f5c81d | 31 | } else { |
ammanvedi | 0:d73af3f5c81d | 32 | error("ethernet failed to connect: %d.\n\r", ret_val); |
ammanvedi | 0:d73af3f5c81d | 33 | } |
ammanvedi | 0:d73af3f5c81d | 34 | |
ammanvedi | 0:d73af3f5c81d | 35 | |
ammanvedi | 0:d73af3f5c81d | 36 | ws.connect(); |
ammanvedi | 0:d73af3f5c81d | 37 | |
ammanvedi | 0:d73af3f5c81d | 38 | char str[100]; |
ammanvedi | 0:d73af3f5c81d | 39 | // string with a message |
ammanvedi | 0:d73af3f5c81d | 40 | sprintf(str, "PU"); |
ammanvedi | 0:d73af3f5c81d | 41 | ws.send(str); |
ammanvedi | 0:d73af3f5c81d | 42 | |
ammanvedi | 0:d73af3f5c81d | 43 | // clear the buffer and wait a sec... |
ammanvedi | 0:d73af3f5c81d | 44 | memset(str, 0, 100); |
ammanvedi | 0:d73af3f5c81d | 45 | wait(0.5f); |
ammanvedi | 0:d73af3f5c81d | 46 | |
ammanvedi | 0:d73af3f5c81d | 47 | // websocket server should echo whatever we sent it |
ammanvedi | 0:d73af3f5c81d | 48 | if (ws.read(str)) { |
ammanvedi | 0:d73af3f5c81d | 49 | printf("rcv'd: %s\n\r", str); |
ammanvedi | 0:d73af3f5c81d | 50 | } |
ammanvedi | 0:d73af3f5c81d | 51 | ws.close(); |
ammanvedi | 0:d73af3f5c81d | 52 | pull_ticker.attach(&pull_updates, 5.0); |
ammanvedi | 0:d73af3f5c81d | 53 | while(1){ |
ammanvedi | 0:d73af3f5c81d | 54 | |
ammanvedi | 0:d73af3f5c81d | 55 | wait(0.1f); |
ammanvedi | 0:d73af3f5c81d | 56 | } |
ammanvedi | 0:d73af3f5c81d | 57 | |
ammanvedi | 0:d73af3f5c81d | 58 | } |