Websocket example

Dependencies:   WebSocketClient

Fork of Websocket_Ethernet_HelloWorld by mbed_example

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?

UserRevisionLine numberNew 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 }