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

This library works with the AT Thinker firmware.


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:


  • 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)
Wed Jun 10 15:47:33 2015 +0000
ESP8266 was changing ssid spaces to "$". Unecessary. Removed this feature.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
michaeljkoster 13:41098c907200 1 #include "ESP8266Interface.h"
samux 1:fb4494783863 2
michaeljkoster 13:41098c907200 3 ESP8266Interface::ESP8266Interface( PinName tx, PinName rx, PinName reset,
mbedAustin 28:91e65e22e63a 4 const char * ssid, const char * phrase, uint32_t baud ) :
mbedAustin 28:91e65e22e63a 5 ESP8266(tx, rx, reset, ssid, phrase, baud )
samux 1:fb4494783863 6 {
samux 1:fb4494783863 7 }
samux 1:fb4494783863 8
michaeljkoster 13:41098c907200 9 int ESP8266Interface::init()
samux 1:fb4494783863 10 {
michaeljkoster 14:4d1128f72e00 11 ESP8266::reset();
samux 1:fb4494783863 12 return 0;
samux 1:fb4494783863 13 }
samux 1:fb4494783863 14
michaeljkoster 16:3f0efaa57a12 15 bool ESP8266Interface::connect()
samux 1:fb4494783863 16 {
michaeljkoster 16:3f0efaa57a12 17 return ESP8266::connect();
samux 1:fb4494783863 18 }
samux 1:fb4494783863 19
michaeljkoster 13:41098c907200 20 int ESP8266Interface::disconnect()
samux 1:fb4494783863 21 {
michaeljkoster 13:41098c907200 22 return ESP8266::disconnect();
samux 1:fb4494783863 23 }
samux 1:fb4494783863 24
michaeljkoster 13:41098c907200 25 char * ESP8266Interface::getIPAddress()
samux 1:fb4494783863 26 {
michaeljkoster 14:4d1128f72e00 27 return ESP8266::getIPAddress();
samux 1:fb4494783863 28 }