Basic websocket demo esp8266
Dependencies: ESP8266Interface HTTPClient-SSL WebSocketClient mbed-rtos mbed-dev
Fork of ESP8266_HTTP_HelloWorld by
Diff: main.cpp
- Revision:
- 19:15351a791e29
- Parent:
- 18:3209e51b731a
- Child:
- 20:42f15f50e2ee
--- a/main.cpp Tue Jun 09 17:49:47 2015 +0000 +++ b/main.cpp Tue Aug 09 08:11:54 2016 +0000 @@ -1,44 +1,53 @@ #include "mbed.h" + #include "HTTPClient.h" #include "ESP8266Interface.h" #include "TCPSocketConnection.h" #include "Websocket.h" -ESP8266Interface wifi(D1,D0,D2,"demossid","password",115200); // TX,RX,Reset,SSID,Password,Baud -RawSerial pc(USBTX, USBRX); // tx, rx -HTTPClient http; -char str[512]; -int main() -{ - pc.baud(9600); + + +DigitalOut myled(LED1); +Serial pc(USBTX, USBRX); // tx, rx + +ESP8266Interface wifi(D8,D2,D7,"EE-mehrg7","MFPHOME0708",115200); // TX,RX,Reset,SSID,Password,Baud + +int main() { + pc.baud(921600); wifi.init(); //Reset wifi.connect(); //Use DHCP + wait(2); + printf("IP Address is %s\n\r", wifi.getIPAddress()); + wait(2); + + printf("connect ws\n\r", wifi.getIPAddress()); + Websocket ws("ws://192.168.1.84:8000/"); + wait(20); - //GET - pc.printf("\nTrying to fetch page using GET...\n\r"); - int ret = http.get("http://54.175.222.246/get", str, 512);//IP address is httpbin.org/get - if (!ret) { - pc.printf("Page fetched successfully - read %d characters\n\r", strlen(str)); - pc.printf("Result: %s\n\r", str); - } else { - pc.printf("Error - ret = %d - HTTP return code = %d\n\r", ret, http.getHTTPResponseCode()); + //Check for successful socket connection + if(!ws.connect()) + ws.close(); + else{ + char str[100]; + + for(int i=0; i<0x7fffffff; ++i) { + // string with a message + sprintf(str, "%d WebSocket Hello World over wifi", i); + printf("send: %s\n\r",str); + ws.send(str); + + // clear the buffer and wait a sec... + memset(str, 0, 100); + wait(2); + + // websocket server should echo whatever we sent it + if (ws.read(str)) { + printf("rcv'd: %s\n", str); + } + } } - //POST - HTTPMap map; - HTTPText inText(str, 512); - map.put("Hello", "World"); - map.put("test", "1234"); - printf("\nTrying to POST data to httpbin.org/post...\n\r"); - ret = http.post("http://54.175.222.246/post", map, &inText);//IP address is httpbin.org/post - if (!ret) - { - printf("Executed POST successfully - read %d characters\n\r", strlen(str)); - printf("Result: %s\n\r", str); - } - else - { - printf("Error - ret = %d - HTTP return code = %d\n\r", ret, http.getHTTPResponseCode()); - } - + ws.close(); + + while(true) {} } - + \ No newline at end of file