Basic websocket demo esp8266
Dependencies: ESP8266Interface HTTPClient-SSL WebSocketClient mbed-rtos mbed-dev
Fork of ESP8266_HTTP_HelloWorld by
main.cpp@4:d02fdd139307, 2015-04-29 (annotated)
- Committer:
- mbedAustin
- Date:
- Wed Apr 29 22:43:10 2015 +0000
- Revision:
- 4:d02fdd139307
- Parent:
- 3:5175e53017e4
- Child:
- 6:9ca92d1d90dd
safety save
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
michaeljkoster | 0:6a891da014a3 | 1 | #include "mbed.h" |
mbedAustin | 3:5175e53017e4 | 2 | #define DEBUG 1 |
michaeljkoster | 0:6a891da014a3 | 3 | #include "ESP8266Interface.h" |
michaeljkoster | 0:6a891da014a3 | 4 | #include "UDPSocket.h" |
michaeljkoster | 0:6a891da014a3 | 5 | #include "Endpoint.h" |
michaeljkoster | 0:6a891da014a3 | 6 | |
mbedAustin | 3:5175e53017e4 | 7 | RawSerial pc(USBTX, USBRX); // tx, rx |
mbedAustin | 3:5175e53017e4 | 8 | ESP8266Interface wifi(D1,D0,D10,"demossid","password",115200); // TX,RX,Reset,SSID,Password |
michaeljkoster | 0:6a891da014a3 | 9 | |
michaeljkoster | 0:6a891da014a3 | 10 | UDPSocket server; |
michaeljkoster | 0:6a891da014a3 | 11 | bool UDP_blocking = false; |
michaeljkoster | 0:6a891da014a3 | 12 | unsigned int UDP_timeout = 100; |
michaeljkoster | 0:6a891da014a3 | 13 | |
michaeljkoster | 0:6a891da014a3 | 14 | |
michaeljkoster | 0:6a891da014a3 | 15 | int main() |
michaeljkoster | 0:6a891da014a3 | 16 | { |
mbedAustin | 3:5175e53017e4 | 17 | pc.baud(115200); |
mbedAustin | 3:5175e53017e4 | 18 | int check = 0; |
mbedAustin | 3:5175e53017e4 | 19 | pc.printf("\n\rSystemCoreClock=: %d", SystemCoreClock / 1000000) ; |
mbedAustin | 3:5175e53017e4 | 20 | |
mbedAustin | 3:5175e53017e4 | 21 | // Init ESP8266 |
mbedAustin | 3:5175e53017e4 | 22 | pc.printf("\r\nwifi.init: "); |
mbedAustin | 3:5175e53017e4 | 23 | check = wifi.init(); // initialize the interface, reset the module |
mbedAustin | 3:5175e53017e4 | 24 | pc.printf("%d",check); |
mbedAustin | 3:5175e53017e4 | 25 | |
mbedAustin | 3:5175e53017e4 | 26 | // Initialize Socket |
mbedAustin | 3:5175e53017e4 | 27 | pc.printf("\r\nwifi.connect: "); |
mbedAustin | 3:5175e53017e4 | 28 | check = wifi.connect(); // join AP and get DHCP settings |
mbedAustin | 3:5175e53017e4 | 29 | pc.printf("%d",check); |
mbedAustin | 3:5175e53017e4 | 30 | |
mbedAustin | 3:5175e53017e4 | 31 | // printf("\r\nsocket init: "); |
mbedAustin | 3:5175e53017e4 | 32 | // check = server.init(); |
mbedAustin | 3:5175e53017e4 | 33 | // printf("%d",check); |
mbedAustin | 3:5175e53017e4 | 34 | // |
mbedAustin | 3:5175e53017e4 | 35 | // printf("\r\nsocket bind: "); |
mbedAustin | 3:5175e53017e4 | 36 | // check = server.bind(0); |
mbedAustin | 3:5175e53017e4 | 37 | // printf("%d",check); |
mbedAustin | 3:5175e53017e4 | 38 | // |
mbedAustin | 3:5175e53017e4 | 39 | // printf("\r\nset blocking option"); |
mbedAustin | 3:5175e53017e4 | 40 | // server.set_blocking(UDP_blocking, UDP_timeout); |
mbedAustin | 3:5175e53017e4 | 41 | |
mbedAustin | 4:d02fdd139307 | 42 | if(wifi.is_connected()) { |
mbedAustin | 4:d02fdd139307 | 43 | pc.printf("\r\nConnected to Wifi!\r\n"); |
mbedAustin | 4:d02fdd139307 | 44 | } else { |
mbedAustin | 4:d02fdd139307 | 45 | pc.printf("\r\nFailed to Connect to Wifi...\r\n"); |
mbedAustin | 4:d02fdd139307 | 46 | } |
mbedAustin | 3:5175e53017e4 | 47 | |
mbedAustin | 4:d02fdd139307 | 48 | pc.printf("\n\rIP = %s \n\r",wifi.getIPAddress()); |
mbedAustin | 4:d02fdd139307 | 49 | |
mbedAustin | 4:d02fdd139307 | 50 | pc.printf("\r\n#####Starting Interactive Terminal:#####\r\n"); |
mbedAustin | 3:5175e53017e4 | 51 | while(1) { |
mbedAustin | 3:5175e53017e4 | 52 | if(pc.readable()) { |
mbedAustin | 3:5175e53017e4 | 53 | char c = pc.getc(); |
mbedAustin | 3:5175e53017e4 | 54 | wifi.putc(c); |
mbedAustin | 3:5175e53017e4 | 55 | } |
mbedAustin | 3:5175e53017e4 | 56 | if(wifi.readable()) { |
mbedAustin | 3:5175e53017e4 | 57 | char c = wifi.getc(); |
mbedAustin | 3:5175e53017e4 | 58 | pc.putc(c); |
mbedAustin | 3:5175e53017e4 | 59 | } |
mbedAustin | 3:5175e53017e4 | 60 | } |
michaeljkoster | 0:6a891da014a3 | 61 | } |