This project is a requirement for the fulfillment of the course ECE 59500: Design with Embedded System offered at Department of Electrical and Computer Engineering, Purdue School of Engineering and Technology, IUPUI

Dependencies:   Servo mbed-os FXOS8700Q

Committer:
sahilkasana
Date:
Wed Apr 29 00:17:28 2020 +0000
Revision:
0:b2db5e8bd926
smart parking system using ESP-8266 Wi-Fi module with Thingspeak.; Infrared sensors are used in the project along with servo motor.

Who changed what in which revision?

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