Simple HTTP GET and POST with ESP8266.
Dependencies: ESP8266Interface HTTPClient-SSL WebSocketClient mbed-rtos mbed
Fork of ESP8266_HTTP_HelloWorld by
Diff: main.cpp
- Revision:
- 12:978788c2156c
- Parent:
- 9:91fe783e1dd4
- Child:
- 13:5f2bb0dc134b
--- 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) {}
}
