ESP8266

Dependencies:   mbed

Fork of Client-ESP8266 by Digital dog

Committer:
chanagan2540
Date:
Mon Dec 11 15:18:07 2017 +0000
Revision:
4:484b0a418fed
Parent:
3:2df821b3eb35
esp8266

Who changed what in which revision?

UserRevisionLine numberNew contents of line
chanagan2540 0:3222c85ebd43 1 #ifndef ESP8266_H
chanagan2540 0:3222c85ebd43 2 #define ESP8266_H
chanagan2540 0:3222c85ebd43 3
chanagan2540 0:3222c85ebd43 4 #include <string>
chanagan2540 0:3222c85ebd43 5 #include "mbed.h"
chanagan2540 0:3222c85ebd43 6
chanagan2540 0:3222c85ebd43 7 class ESP8266
chanagan2540 0:3222c85ebd43 8 {
chanagan2540 0:3222c85ebd43 9 public:
chanagan2540 0:3222c85ebd43 10 /**
chanagan2540 0:3222c85ebd43 11 * ESP8266 constructor
chanagan2540 0:3222c85ebd43 12 *
chanagan2540 0:3222c85ebd43 13 * @param tx TX pin
chanagan2540 0:3222c85ebd43 14 * @param rx RX pin
chanagan2540 0:3222c85ebd43 15 * @param br Baud Rate
chanagan2540 0:3222c85ebd43 16 */
chanagan2540 0:3222c85ebd43 17 ESP8266(PinName tx, PinName rx, int br);
chanagan2540 0:3222c85ebd43 18
chanagan2540 0:3222c85ebd43 19 /**
chanagan2540 0:3222c85ebd43 20 * ESP8266 destructor
chanagan2540 0:3222c85ebd43 21 */
chanagan2540 0:3222c85ebd43 22 ~ESP8266();
chanagan2540 1:edcfe804de99 23
chanagan2540 4:484b0a418fed 24 void check(void);
chanagan2540 4:484b0a418fed 25 void SendData(char * str);
chanagan2540 3:2df821b3eb35 26 void transfer(void);
chanagan2540 1:edcfe804de99 27 void look(void);
chanagan2540 1:edcfe804de99 28 void SetPath(char * t, char* o, char * v);
chanagan2540 0:3222c85ebd43 29 void Check(char * con);
chanagan2540 0:3222c85ebd43 30 void SendCMD(char * s);
chanagan2540 0:3222c85ebd43 31 void Reset(void);
chanagan2540 0:3222c85ebd43 32 void RcvReply(char * r, int to);
chanagan2540 0:3222c85ebd43 33 void GetList(char * l);
chanagan2540 1:edcfe804de99 34 void Join(char * id, char * pwd);
chanagan2540 0:3222c85ebd43 35 void GetIP(char * ip);
chanagan2540 0:3222c85ebd43 36 void SetMode(char mode);
chanagan2540 0:3222c85ebd43 37 void Quit(void);
chanagan2540 0:3222c85ebd43 38 void SetSingle(void);
chanagan2540 0:3222c85ebd43 39 void SetMultiple(void);
chanagan2540 0:3222c85ebd43 40 void GetConnStatus(char * st);
chanagan2540 0:3222c85ebd43 41 void StartServerMode(int port);
chanagan2540 0:3222c85ebd43 42 void CloseServerMode(void);
chanagan2540 0:3222c85ebd43 43
chanagan2540 0:3222c85ebd43 44 private:
chanagan2540 0:3222c85ebd43 45 Serial comm;
chanagan2540 0:3222c85ebd43 46 void AddEOL(char * s);
chanagan2540 0:3222c85ebd43 47 void AddChar(char * s, char c);
chanagan2540 0:3222c85ebd43 48 void itoa(int c, char s[]);
chanagan2540 0:3222c85ebd43 49
chanagan2540 0:3222c85ebd43 50 };
chanagan2540 0:3222c85ebd43 51
chanagan2540 0:3222c85ebd43 52 #endif
chanagan2540 0:3222c85ebd43 53 /*
chanagan2540 0:3222c85ebd43 54 COMMAND TABLE
chanagan2540 0:3222c85ebd43 55 Basic:
chanagan2540 0:3222c85ebd43 56 AT: Just to generate "OK" reply
chanagan2540 0:3222c85ebd43 57 Wifi:
chanagan2540 0:3222c85ebd43 58 AT+RST: restart the module
chanagan2540 0:3222c85ebd43 59 AT+CWMODE: define wifi mode; AT+CWMODE=<mode> 1= Sta, 2= AP, 3=both; Inquiry: AT+CWMODE? or AT+CWMODE=?
chanagan2540 0:3222c85ebd43 60 AT+CWJAP: join the AP wifi; AT+ CWJAP =<ssid>,< pwd > - ssid = ssid, pwd = wifi password, both between quotes; Inquiry: AT+ CWJAP?
chanagan2540 0:3222c85ebd43 61 AT+CWLAP: list the AP wifi
chanagan2540 0:3222c85ebd43 62 AT+CWQAP: quit the AP wifi; Inquiry: AT+CWQAP=?
chanagan2540 0:3222c85ebd43 63 * AT+CWSAP: set the parameters of AP; AT+CWSAP= <ssid>,<pwd>,<chl>,<ecn> - ssid, pwd, chl = channel, ecn = encryption; Inquiry: AT+CWJAP?
chanagan2540 0:3222c85ebd43 64 TCP/IP:
chanagan2540 0:3222c85ebd43 65 AT+CIPSTATUS: get the connection status
chanagan2540 0:3222c85ebd43 66 * AT+CIPSTART: set up TCP or UDP connection 1)single connection (+CIPMUX=0) AT+CIPSTART= <type>,<addr>,<port>; 2) multiple connection (+CIPMUX=1) AT+CIPSTART= <id><type>,<addr>, <port> - id = 0-4, type = TCP/UDP, addr = IP address, port= port; Inquiry: AT+CIPSTART=?
chanagan2540 0:3222c85ebd43 67 * AT+CIPSEND: send data; 1)single connection(+CIPMUX=0) AT+CIPSEND=<length>; 2) multiple connection (+CIPMUX=1) AT+CIPSEND= <id>,<length>; Inquiry: AT+CIPSEND=?
chanagan2540 0:3222c85ebd43 68 * AT+CIPCLOSE: close TCP or UDP connection; AT+CIPCLOSE=<id> or AT+CIPCLOSE; Inquiry: AT+CIPCLOSE=?
chanagan2540 0:3222c85ebd43 69 AT+CIFSR: Get IP address; Inquiry: AT+ CIFSR=?
chanagan2540 0:3222c85ebd43 70 AT+CIPMUX: set mutiple connection; AT+ CIPMUX=<mode> - 0 for single connection 1 for mutiple connection; Inquiry: AT+CIPMUX?
chanagan2540 0:3222c85ebd43 71 AT+CIPSERVER: set as server; AT+ CIPSERVER= <mode>[,<port> ] - mode 0 to close server mode, mode 1 to open; port = port; Inquiry: AT+CIFSR=?
chanagan2540 0:3222c85ebd43 72 * +IPD: received data
chanagan2540 0:3222c85ebd43 73 */