Socket interface for ESP8266. Implements the NetworkSocketAPI. Requires device to use the Espressif Firmware.

Dependencies:   ESP8266

Dependents:   ESP8266InterfaceTests HelloESP8266Interface

Fork of ESP8266Interface by NetworkSocketAPI


This library assumes your ESP8266 is running the Espressif Firmware. For instructions on how to update your ESP8266 to use the correct firmware see the Firmware Update Wiki Page.

Currently the ESP8266Interface LIbrary has the following Abilities:


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

To be implimented

  • 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)

Revisions of ESP8266Interface.cpp

Revision Date Message Actions
57:2ad35ade7a83 2016-05-10 Minor documentation changes File  Diff  Annotate
56:34829ec3a3da 2016-04-21 Match changes to the NSAPI File  Diff  Annotate
54:e78fad32cfff 2016-04-01 Matched changes to the NSAPI File  Diff  Annotate
51:eb8c3577e22d 2016-02-29 Moved ESP8266Socket into private class in ESP8266Interface File  Diff  Annotate
50:2d7f6b97234e 2016-02-29 Matched changes to NetworkSocketAPI File  Diff  Annotate
49:750ed1b67483 2016-02-26 Updated file summary in comment File  Diff  Annotate
47:60a4b49e8b83 2016-02-25 Sped up handling of failed transactions File  Diff  Annotate
46:6b1bd1268074 2016-02-25 Removed storing IP address locally File  Diff  Annotate
45:538e5ce2f0d3 2016-02-25 Added more appropriate timeouts for driver operations File  Diff  Annotate
44:7ac7eb406603 2016-02-25 Matched changes to the NetworkSocketAPI File  Diff  Annotate
43:7c010b1db697 2016-02-24 Added error codes where necessary File  Diff  Annotate
42:4bf09cadf328 2016-02-24 Moved ESP8266Socket entirely into ESP8266Interface.cpp File  Diff  Annotate
41:3f4d5f4862d2 2016-02-24 Matched mbed coding standards File  Diff  Annotate
40:83c6b4129468 2016-02-24 Moved ESP8266SocketInterface into ESP8266Interface File  Diff  Annotate
39:7e85bf8003fa 2016-02-24 Fixed memory leak in destroySocket File  Diff  Annotate
38:eb1e46561a19 2016-02-23 Matched changes to NetworkSocketAPI File  Diff  Annotate
34:9c26a3dcdc1f 2016-02-22 Matched changes in NetworkSocketAPI File  Diff  Annotate
33:276cb279df57 2016-02-22 Matched changes to ESP8266 File  Diff  Annotate
30:c19f1e61063b 2015-12-28 expose debug through the constructor. Fix bug when deallocating sockets if they haven't been allocated (check for null) File  Diff  Annotate
29:f2ae8f47729b 2015-08-27 DnsQuery Structrue Change File  Diff  Annotate
28:6426873b21bd 2015-08-13 Removing printf File  Diff  Annotate
27:eaeecaaae611 2015-08-05 DNS support revised. Timeouts set properly. File  Diff  Annotate
26:6e36dd3cec3f 2015-07-27 Merge File  Diff  Annotate
25:91c4e9d34b77 2015-07-27 DnsQuery support File  Diff  Annotate
24:37504440f296 2015-07-26 Updates File  Diff  Annotate
23:fd0f3197c30b 2015-07-23 Moved AT commands to driver File  Diff  Annotate
22:312453862371 2015-07-22 Updated socket internals. Implemented getHandle function in ESP8266. File  Diff  Annotate
20:5d0762aa4680 2015-07-21 Fixed getIPAddress File  Diff  Annotate
19:783c46b13285 2015-07-21 Working receive comman File  Diff  Annotate
18:9fc7976c7b27 2015-07-17 ESP8266 driver implemented on top of NetworkSocketAPI File  Diff  Annotate | base
10:80ece8d5aa2d 2015-06-17 Giving it a name. Being abstract was making thing confusing File  Diff  Annotate | base