Simple HTTP GET and POST with ESP8266.

Dependencies:   ESP8266Interface HTTPClient-SSL WebSocketClient mbed-rtos mbed

Fork of ESP8266_HTTP_HelloWorld by ESP8266

Files at this revision

API Documentation at this revision

Comitter:
sarahmarshy
Date:
Wed Jun 03 18:47:14 2015 +0000
Parent:
11:8acce2b8af6e
Child:
13:5f2bb0dc134b
Commit message:
Web sockets for ESP8266!

Changed in this revision

ESP8266Interface.lib Show annotated file Show diff for this revision Revisions of this file
WebSocketClient.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
--- a/ESP8266Interface.lib	Fri May 01 18:29:45 2015 +0000
+++ b/ESP8266Interface.lib	Wed Jun 03 18:47:14 2015 +0000
@@ -1,1 +1,1 @@
-http://developer.mbed.org/teams/ESP8266/code/ESP8266Interface/#22d30e936e4c
+http://developer.mbed.org/teams/ESP8266/code/ESP8266Interface/#c180905b5b79
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/WebSocketClient.lib	Wed Jun 03 18:47:14 2015 +0000
@@ -0,0 +1,1 @@
+http://developer.mbed.org/users/samux/code/WebSocketClient/#4567996414a5
--- a/main.cpp	Fri May 01 18:29:45 2015 +0000
+++ b/main.cpp	Wed Jun 03 18:47:14 2015 +0000
@@ -1,34 +1,44 @@
 #include "mbed.h"
 #include "ESP8266Interface.h"
 #include "TCPSocketConnection.h"
- 
-const char* ECHO_SERVER_ADDRESS = "192.168.2.4";
-const int ECHO_SERVER_PORT = 8080;
-ESP8266Interface wifi(D1,D0,D10,"demossid","password",115200); // TX,RX,Reset,SSID,Password
+#include "TCPSocketServer.h"
+#include "Websocket.h"
+
+
+
+ESP8266Interface wifi(D1,D0,D10,"demossid","password",115200); // TX,RX,Reset,SSID,Password,Baud
 RawSerial pc(USBTX, USBRX); // tx, rx
  
 int main() {
     pc.baud(115200);
-    wifi.init(); //Use DHCP
-    wifi.connect();
+    wifi.init(); //Reset
+    wifi.connect(); //Use DHCP
     pc.printf("IP Address is %s\n", wifi.getIPAddress());
     
-    TCPSocketConnection socket;
-    while (socket.connect(ECHO_SERVER_ADDRESS, ECHO_SERVER_PORT) < 0) {
-        pc.printf("Unable to connect to (%s) on port (%d)\n", ECHO_SERVER_ADDRESS, ECHO_SERVER_PORT);
-        wait(1);
-    }
+    Websocket ws("ws://192.168.1.20:8888/ws");
     
-    char hello[] = "Hello World\n";
-    socket.send_all(hello, sizeof(hello) - 1);
-    
-    char buf[256];
-    int n = socket.receive(buf, 256);
-    buf[n] = '\0';
-    pc.printf("%s", buf);
-    
-    socket.close();
-    wifi.disconnect();
+    //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 Ethernet", i);
+            ws.send(str);
+        
+            // clear the buffer and wait a sec...
+            memset(str, 0, 100);
+            wait(0.5f);
+        
+            // websocket server should echo whatever we sent it
+            if (ws.read(str)) {
+                pc.printf("rcv'd: %s\n", str);
+            }
+        }
+    }
+    ws.close();
     
     while(true) {}
 }
--- a/mbed.bld	Fri May 01 18:29:45 2015 +0000
+++ b/mbed.bld	Wed Jun 03 18:47:14 2015 +0000
@@ -1,1 +1,1 @@
-http://mbed.org/users/mbed_official/code/mbed/builds/433970e64889
\ No newline at end of file
+http://mbed.org/users/mbed_official/code/mbed/builds/cbbeb26dbd92
\ No newline at end of file