Modified Library for using the Wifi module ESP8266, first version with basic commands, soon new commands will be added
Fork of ESP8266 by
Diff: ESP8266.cpp
- Revision:
- 2:77388e8f0697
- Parent:
- 1:399414d48048
- Child:
- 3:8a8fb2e0958c
diff -r 399414d48048 -r 77388e8f0697 ESP8266.cpp --- a/ESP8266.cpp Wed Dec 17 13:54:34 2014 +0000 +++ b/ESP8266.cpp Sun Dec 28 21:58:49 2014 +0000 @@ -1,8 +1,8 @@ #include "ESP8266.h" // Constructor -ESP8266::ESP8266(PinName tx, PinName rx) : comm(tx, rx) { - comm.baud(115200); +ESP8266::ESP8266(PinName tx, PinName rx, int br) : comm(tx, rx) { + comm.baud(br); } // Destructor @@ -25,6 +25,29 @@ s[k + 1] = 0; } +// Converts integer number to null-terminated string +void ESP8266::itoa(int n, char * s) { + char k = 0; + char r[11]; + + if(n == 0) { + s[0] = '0'; + s[1] = 0; + } else { + while(n != 0) { + r[k]= (n % 10) + '0'; + n = n / 10; + k++; + } + while(k > 0) { + s[n] = r[k - 1] + '0'; + n++; + k--; + } + s[n] = 0; + } +} + // Sends command to ESP8266. Receives the command string void ESP8266::SendCMD(char * s) { AddEOL(s); @@ -117,4 +140,29 @@ char rs[15]; strcpy(rs, "AT+CIPMUX=1"); SendCMD(rs); +} + +// Gets connection status. Parameter: string to contain status +void ESP8266::GetConnStatus(char * st) { + char cmd[15]; + strcpy(cmd, "AT+CIPSTATUS"); + SendCMD(cmd); + RcvReply(st, 2000); +} + +// Starts server mode. Parameter: port to be used +void ESP8266::StartServerMode(int port) { + char rs[25]; + char t[4]; + strcpy(rs, "AT+CIPSERVER=1,"); + itoa(port, t); + strcat(rs, t); + SendCMD(rs); +} + +// Close server mode. +void ESP8266::CloseServerMode(void) { + char rs[20]; + strcpy(rs, "AT+CIPSERVER=0"); + SendCMD(rs); } \ No newline at end of file