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)


RevisionDateWhoCommit message
57:2ad35ade7a83 2016-05-10 Christopher Haster Minor documentation changes default tip
56:34829ec3a3da 2016-04-21 Christopher Haster Match changes to the NSAPI
55:d6244089a657 2016-04-15 geky Move to teams/components
54:e78fad32cfff 2016-04-01 geky Matched changes to the NSAPI
53:8ded612adb96 2016-03-09 sam_grove change ESP8266Socket from struct to class
52:42441dd2093e 2016-03-03 geky Updated dependencies
51:eb8c3577e22d 2016-02-29 geky Moved ESP8266Socket into private class in ESP8266Interface
50:2d7f6b97234e 2016-02-29 geky Matched changes to NetworkSocketAPI
49:750ed1b67483 2016-02-26 geky Updated file summary in comment
48:70f16502253b 2016-02-25 Christopher Haster Merged api-changes
47:60a4b49e8b83 2016-02-25 Christopher Haster Sped up handling of failed transactions api-changes
46:6b1bd1268074 2016-02-25 Christopher Haster Removed storing IP address locally api-changes
45:538e5ce2f0d3 2016-02-25 Christopher Haster Added more appropriate timeouts for driver operations api-changes
44:7ac7eb406603 2016-02-25 Christopher Haster Matched changes to the NetworkSocketAPI api-changes
43:7c010b1db697 2016-02-24 Christopher Haster Added error codes where necessary api-changes
42:4bf09cadf328 2016-02-24 Christopher Haster Moved ESP8266Socket entirely into ESP8266Interface.cpp api-changes
41:3f4d5f4862d2 2016-02-24 Christopher Haster Matched mbed coding standards api-changes
40:83c6b4129468 2016-02-24 Christopher Haster Moved ESP8266SocketInterface into ESP8266Interface api-changes
39:7e85bf8003fa 2016-02-24 Christopher Haster Fixed memory leak in destroySocket api-changes
38:eb1e46561a19 2016-02-23 Christopher Haster Matched changes to NetworkSocketAPI api-changes
37:77ad7da7474b 2016-02-23 Christopher Haster Updated ESP8266 api-changes
36:3d55c7187e34 2016-02-23 Christopher Haster Increased delay on connect api-changes
35:03a9eb614414 2016-02-23 Christopher Haster Added ESP8266SocketInterface api-changes
34:9c26a3dcdc1f 2016-02-22 Christopher Haster Matched changes in NetworkSocketAPI api-changes
33:276cb279df57 2016-02-22 geky Matched changes to ESP8266
32:c98b8086ef34 2016-02-02 geky Reverted "Updated AT firmware version"
31:e587ee768fb5 2016-02-01 geky Bumping ESP8266 version
30:c19f1e61063b 2015-12-28 sam_grove expose debug through the constructor. Fix bug when deallocating sockets if they haven't been allocated (check for null)
29:f2ae8f47729b 2015-08-27 sarahmarshy DnsQuery Structrue Change
28:6426873b21bd 2015-08-13 bridadan Removing printf
27:eaeecaaae611 2015-08-05 sarahmarshy DNS support revised. Timeouts set properly.
26:6e36dd3cec3f 2015-07-27 sarahmarshy Merge
25:91c4e9d34b77 2015-07-27 sarahmarshy DnsQuery support
24:37504440f296 2015-07-26 sam_grove Updates
23:fd0f3197c30b 2015-07-23 sarahmarshy Moved AT commands to driver
22:312453862371 2015-07-22 sarahmarshy Updated socket internals. Implemented getHandle function in ESP8266.
21:2400f429ec6b 2015-07-21 sarahmarshy Moving to ESP8266 driver
20:5d0762aa4680 2015-07-21 sarahmarshy Fixed getIPAddress
19:783c46b13285 2015-07-21 sarahmarshy Working receive comman
18:9fc7976c7b27 2015-07-17 sarahmarshy ESP8266 driver implemented on top of NetworkSocketAPI
17:c3f4095337b8 2015-07-16 sam_grove Update includes
16:b2f781416464 2015-07-15 bridadan Moved some underscored_functions to camelCase, added functions and data structures to prepare for multiple sockets, added ATParser dependency
15:d29439d50306 2015-06-18 sam_grove change wifi-connect to wifi-open
14:55e8928e5788 2015-06-17 sam_grove delete separate socket folder. this is now part of the interface. next change will be making driver a folder i think but possibly could be convinced otherwise
13:0186e9e35a24 2015-06-17 sam_grove add socket implementations
12:8db9b116cf76 2015-06-17 sam_grove Updating comments
11:288c15b80a26 2015-06-17 sam_grove renaming again
10:80ece8d5aa2d 2015-06-17 sam_grove Giving it a name. Being abstract was making thing confusing
9:8c7a42277b0e 2015-06-01 added socket implementation to wifi interface
8:c462815787f5 2015-06-01 removed f1.txt
7:9c56e0d94d7b 2015-06-01 moved wifi specific stuff from virtual base class to wifi_interface
6:c14f777101e0 2015-06-01 updated reference to driverlib pointer
5:72561d7c6f65 2015-05-31 added #include for hte hwnamedriver.h file since the interface .c file will have to call the funcitons in the hw driver to impliment its functions.
4:323f42baa75a 2015-05-28 sam_grove Update driver library error
3:4d5d60de745a 2015-05-28 sam_grove Update driver library
2:87009183eb2e 2015-05-13 sam_grove Added files for interface
1:c2d1f4ece00d 2015-05-11 sam_grove Initial commit
0:35ee90b1f699 2015-05-11 sam_grove Initial commit