Donavan Martin
/
Web_suck_et
Websocket example
Fork of Websocket_Ethernet_HelloWorld by
main.cpp@8:1b4bf6e5e029, 2017-12-03 (annotated)
- Committer:
- Dontydonty
- Date:
- Sun Dec 03 18:19:22 2017 +0000
- Revision:
- 8:1b4bf6e5e029
- Parent:
- 6:2fae6e37c5ca
Web sock et
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Dontydonty | 8:1b4bf6e5e029 | 1 | #include "mbed.h" |
Dontydonty | 8:1b4bf6e5e029 | 2 | #include "config.h" |
Dontydonty | 8:1b4bf6e5e029 | 3 | #include "seg.h" |
Dontydonty | 8:1b4bf6e5e029 | 4 | #include "ATcommand.h" |
mbed_official | 6:2fae6e37c5ca | 5 | |
Dontydonty | 8:1b4bf6e5e029 | 6 | LocalFileSystem local("local"); |
Dontydonty | 8:1b4bf6e5e029 | 7 | Serial xbee(p9, p10); /*tx, rx */ |
Dontydonty | 8:1b4bf6e5e029 | 8 | DigitalOut rst(p5); |
Dontydonty | 8:1b4bf6e5e029 | 9 | Serial pc(USBTX, USBRX); |
Dontydonty | 8:1b4bf6e5e029 | 10 | Serial seg(p28, p27); |
Dontydonty | 8:1b4bf6e5e029 | 11 | DigitalOut btnState(p20); |
Dontydonty | 8:1b4bf6e5e029 | 12 | |
Dontydonty | 8:1b4bf6e5e029 | 13 | char url[256]; |
Dontydonty | 8:1b4bf6e5e029 | 14 | |
Dontydonty | 8:1b4bf6e5e029 | 15 | // Check connection |
Dontydonty | 8:1b4bf6e5e029 | 16 | #define TIMEOUT 1000 |
Dontydonty | 8:1b4bf6e5e029 | 17 | #define RETRY_DELAY 100 |
Dontydonty | 8:1b4bf6e5e029 | 18 | int connectionTimeout = TIMEOUT; |
Dontydonty | 8:1b4bf6e5e029 | 19 | char *packet = NULL; |
Dontydonty | 8:1b4bf6e5e029 | 20 | |
samux | 1:1c1802ec42a2 | 21 | #include "EthernetInterface.h" |
samux | 1:1c1802ec42a2 | 22 | #include "Websocket.h" |
sam_grove | 3:9bd22e5386cd | 23 | |
Dontydonty | 8:1b4bf6e5e029 | 24 | int main() { |
Dontydonty | 8:1b4bf6e5e029 | 25 | display_dot(&seg); |
Dontydonty | 8:1b4bf6e5e029 | 26 | pc.printf("------Application Start------"); |
Dontydonty | 8:1b4bf6e5e029 | 27 | rst = 0; |
Dontydonty | 8:1b4bf6e5e029 | 28 | wait_ms(1000); |
Dontydonty | 8:1b4bf6e5e029 | 29 | rst = 1; |
Dontydonty | 8:1b4bf6e5e029 | 30 | wait_ms(1000); |
Dontydonty | 8:1b4bf6e5e029 | 31 | flush(&xbee, &pc); |
Dontydonty | 8:1b4bf6e5e029 | 32 | |
Dontydonty | 8:1b4bf6e5e029 | 33 | int result = configFromFile("/local/config.txt", &xbee, &pc, url); |
Dontydonty | 8:1b4bf6e5e029 | 34 | pc.printf("OK Start receiving data"); |
Dontydonty | 8:1b4bf6e5e029 | 35 | char d[4]; |
Dontydonty | 8:1b4bf6e5e029 | 36 | |
Dontydonty | 8:1b4bf6e5e029 | 37 | |
mbed_official | 6:2fae6e37c5ca | 38 | |
mbed_official | 6:2fae6e37c5ca | 39 | // Create a network interface and connect |
Dontydonty | 8:1b4bf6e5e029 | 40 | //EthernetInterface eth; |
Dontydonty | 8:1b4bf6e5e029 | 41 | //eth.connect(); |
Dontydonty | 8:1b4bf6e5e029 | 42 | //printf("IP Address is %s\n\r", eth.get_ip_address()); |
sam_grove | 3:9bd22e5386cd | 43 | |
mbed_official | 6:2fae6e37c5ca | 44 | // Create a websocket instance |
Dontydonty | 8:1b4bf6e5e029 | 45 | Websocket ws("ws://localhost.com:8080/"); |
mbed_official | 6:2fae6e37c5ca | 46 | int connect_error = ws.connect(); |
sam_grove | 3:9bd22e5386cd | 47 | |
mbed_official | 6:2fae6e37c5ca | 48 | // begin main loop |
mbed_official | 6:2fae6e37c5ca | 49 | while (true) { |
mbed_official | 6:2fae6e37c5ca | 50 | wait(0.5); |
mbed_official | 6:2fae6e37c5ca | 51 | int error_c = ws.send("Hello World\r\n"); |
samux | 1:1c1802ec42a2 | 52 | } |
Dontydonty | 8:1b4bf6e5e029 | 53 | |
Dontydonty | 8:1b4bf6e5e029 | 54 | |
Dontydonty | 8:1b4bf6e5e029 | 55 | |
Dontydonty | 8:1b4bf6e5e029 | 56 | |
Dontydonty | 8:1b4bf6e5e029 | 57 | /*while(1){ |
Dontydonty | 8:1b4bf6e5e029 | 58 | while(xbee.readable()) { |
Dontydonty | 8:1b4bf6e5e029 | 59 | if(0 == isStartDelimiter(&xbee, &pc)){ |
Dontydonty | 8:1b4bf6e5e029 | 60 | int len = getLenght(&xbee, &pc); |
Dontydonty | 8:1b4bf6e5e029 | 61 | packet = readFrame(&xbee, &pc); |
Dontydonty | 8:1b4bf6e5e029 | 62 | |
Dontydonty | 8:1b4bf6e5e029 | 63 | pc.printf("\n\rPacket type 0x%x",packet[0]); |
Dontydonty | 8:1b4bf6e5e029 | 64 | |
Dontydonty | 8:1b4bf6e5e029 | 65 | if(packet[0]== 0x90){ |
Dontydonty | 8:1b4bf6e5e029 | 66 | char * params= NULL; |
Dontydonty | 8:1b4bf6e5e029 | 67 | params = readParam(&xbee, &pc); |
Dontydonty | 8:1b4bf6e5e029 | 68 | displayAngle(&seg,params); |
Dontydonty | 8:1b4bf6e5e029 | 69 | free(params); |
Dontydonty | 8:1b4bf6e5e029 | 70 | |
Dontydonty | 8:1b4bf6e5e029 | 71 | }else if(packet[0]== 0x92){ |
Dontydonty | 8:1b4bf6e5e029 | 72 | char * params= NULL; |
Dontydonty | 8:1b4bf6e5e029 | 73 | params = readParam(&xbee, &pc); |
Dontydonty | 8:1b4bf6e5e029 | 74 | pc.printf("\n\r\tButtonState 0x%x",params[4]); |
Dontydonty | 8:1b4bf6e5e029 | 75 | if(params[4]== 0x10){ |
Dontydonty | 8:1b4bf6e5e029 | 76 | btnState = 1; |
Dontydonty | 8:1b4bf6e5e029 | 77 | }else if(params[4]== 0x00){ |
Dontydonty | 8:1b4bf6e5e029 | 78 | btnState = 0; |
Dontydonty | 8:1b4bf6e5e029 | 79 | } |
Dontydonty | 8:1b4bf6e5e029 | 80 | free(params); |
Dontydonty | 8:1b4bf6e5e029 | 81 | |
Dontydonty | 8:1b4bf6e5e029 | 82 | }else if(decodePacket(&xbee, &pc, packet, len)==-1){ |
Dontydonty | 8:1b4bf6e5e029 | 83 | toggleError(&xbee, &pc, 200, "Packet Error"); |
Dontydonty | 8:1b4bf6e5e029 | 84 | } |
Dontydonty | 8:1b4bf6e5e029 | 85 | free(packet); |
Dontydonty | 8:1b4bf6e5e029 | 86 | }else{ |
Dontydonty | 8:1b4bf6e5e029 | 87 | toggleError(&xbee, &pc, 200, "Error in FrameID"); |
Dontydonty | 8:1b4bf6e5e029 | 88 | } |
Dontydonty | 8:1b4bf6e5e029 | 89 | flush(&xbee, &pc); |
Dontydonty | 8:1b4bf6e5e029 | 90 | } |
Dontydonty | 8:1b4bf6e5e029 | 91 | }*/ |
Dontydonty | 8:1b4bf6e5e029 | 92 | } |