ESP8266 Socket Library. AT Thinker firmware.

Dependents:   ESP8266_MQTT_HelloWorld ESP8266_IFTTT_Test ECE_4180_Lab_4 websocketmbed ... more

Fork of ESP8266Interface by ESP8266

This repository has been superceded

This project has moved to https://developer.mbed.org/teams/ESP8266/code/esp8266-driver/

This library works with the AT Thinker firmware.

Note

This library is currently in Beta. It is not feature complete and has some bugs, proceed with caution! Fixes and patches are welcome and appreciated!

Currently the ESP8266Interface Library has the following Abilities:

Working

  • TCP Client
  • UDP Client
  • Transparent mode (single connection of 1 type at a time)
  • Station Mode (connects to AP)

To be implemented

  • TCP Server
  • UDP Server
  • Multi Connection Mode (able to have up to 5 sockets at a time)
  • AP Mode (Make ESP Chip act like access point)
  • DNS Support (currently websites must be looked up by IP)
  • Error Recovery

Nice but not necessary

  • colorized text for ESP AT Commands in Command line (easier to differentiate from other text)
Revision:
16:3f0efaa57a12
Parent:
15:37a7a56a424f
Child:
19:fb8d5bff2076
--- a/ESP8266/ESP8266.h	Sun Nov 30 21:56:03 2014 +0000
+++ b/ESP8266/ESP8266.h	Mon Dec 01 06:22:00 2014 +0000
@@ -17,11 +17,11 @@
  *
  * @section DESCRIPTION
  *
- * ESP8266 RN131-C, wifi module
+ * ESP8266 serial wifi module
  *
  * Datasheet:
  *
- * http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Wireless/WiFi/ESP8266-RN-UM.pdf
+ * http://www.electrodragon.com/w/Wi07c
  */
 
 #ifndef ESP8266_H
@@ -75,9 +75,14 @@
     * @return true if successful
     */
     bool disconnect();
+    
+    /*
+    * Start up a UDP Connection
+    */
+    bool startUDP(char* ip, int port);
 
     /**
-    * Close a tcp connection
+    * Close a connection
     *
     * @return true if successful
     */
@@ -160,7 +165,7 @@
     *
     * @return true if ACK has been found in the response from the wifi module. False otherwise or if there is no response in 5s.
     */
-    int send(const char * str, int len, const char * ACK = NULL, char * res = NULL, int timeout = DEFAULT_WAIT_RESP_TIMEOUT);
+    int send(const char * buf, int len);
 
     static ESP8266 * getInstance() {
         return inst;
@@ -176,6 +181,7 @@
 
     static ESP8266 * inst;
 
+    void ATcommand(char* command);
     void attach_rx(bool null);
     void handler_rx(void);