pengfei wu
/
ESP8266Program
For test
main.cpp@35:90be2bc2a492, 2015-02-05 (annotated)
- Committer:
- shennongmin
- Date:
- Thu Feb 05 06:48:45 2015 +0000
- Revision:
- 35:90be2bc2a492
- Parent:
- 34:65cd9c6eedb8
compile okay and test okay
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
shennongmin | 16:e184ebcd5896 | 1 | #include "mbed.h" |
shennongmin | 16:e184ebcd5896 | 2 | |
shennongmin | 25:9af4575d3194 | 3 | #define EXAMPLE_TCPCLIENT |
shennongmin | 25:9af4575d3194 | 4 | //#define EXAMPLE_TCPSERVER |
shennongmin | 25:9af4575d3194 | 5 | //#define EXAMPLE_UDPTEST |
shennongmin | 25:9af4575d3194 | 6 | //#define EXAMPLE_WIFITEST |
shennongmin | 25:9af4575d3194 | 7 | |
shennongmin | 26:50cbfeaa1094 | 8 | //Serial pc(USBTX, USBRX); |
shennongmin | 10:9d4ec0359a5c | 9 | extern void setup(void); |
shennongmin | 10:9d4ec0359a5c | 10 | extern void loop(void); |
shennongmin | 10:9d4ec0359a5c | 11 | |
shennongmin | 10:9d4ec0359a5c | 12 | int main () { |
shennongmin | 10:9d4ec0359a5c | 13 | setup(); |
shennongmin | 10:9d4ec0359a5c | 14 | while(1) { |
shennongmin | 10:9d4ec0359a5c | 15 | loop(); |
shennongmin | 10:9d4ec0359a5c | 16 | } |
shennongmin | 10:9d4ec0359a5c | 17 | } |
shennongmin | 25:9af4575d3194 | 18 | |
shennongmin | 25:9af4575d3194 | 19 | #ifdef EXAMPLE_TCPCLIENT |
shennongmin | 25:9af4575d3194 | 20 | |
shennongmin | 25:9af4575d3194 | 21 | #define SSID "ITEAD" |
shennongmin | 25:9af4575d3194 | 22 | #define PASSWORD "12345678" |
shennongmin | 25:9af4575d3194 | 23 | |
shennongmin | 25:9af4575d3194 | 24 | |
shennongmin | 25:9af4575d3194 | 25 | #include "ESP8266.h" |
shennongmin | 34:65cd9c6eedb8 | 26 | |
shennongmin | 25:9af4575d3194 | 27 | ESP8266 wifi(p28, p27); |
shennongmin | 25:9af4575d3194 | 28 | const char *server = "www.163.com"; |
shennongmin | 25:9af4575d3194 | 29 | char message[4096]; |
shennongmin | 25:9af4575d3194 | 30 | |
shennongmin | 25:9af4575d3194 | 31 | void setup() |
shennongmin | 25:9af4575d3194 | 32 | { |
shennongmin | 25:9af4575d3194 | 33 | printf("setup begin\r\n"); |
shennongmin | 34:65cd9c6eedb8 | 34 | |
shennongmin | 33:f721a46ef2f2 | 35 | if(wifi.reset()) { |
shennongmin | 33:f721a46ef2f2 | 36 | printf("reset ok\r\n"); |
shennongmin | 33:f721a46ef2f2 | 37 | } else { |
shennongmin | 33:f721a46ef2f2 | 38 | printf("reset err\r\n"); |
shennongmin | 25:9af4575d3194 | 39 | } |
shennongmin | 33:f721a46ef2f2 | 40 | |
shennongmin | 33:f721a46ef2f2 | 41 | if(wifi.setStationMode(SSID, PASSWORD)) { |
shennongmin | 33:f721a46ef2f2 | 42 | printf("setStationMode ok\r\n"); |
shennongmin | 34:65cd9c6eedb8 | 43 | printf("AP:%s\r\n", wifi.showJAP().c_str()); |
shennongmin | 34:65cd9c6eedb8 | 44 | printf("IP:%s\r\n", wifi.showIP().c_str()); |
shennongmin | 33:f721a46ef2f2 | 45 | } else { |
shennongmin | 33:f721a46ef2f2 | 46 | printf("setStationMode err\r\n"); |
shennongmin | 33:f721a46ef2f2 | 47 | } |
shennongmin | 33:f721a46ef2f2 | 48 | |
shennongmin | 25:9af4575d3194 | 49 | printf("setup end\r\n"); |
shennongmin | 25:9af4575d3194 | 50 | } |
shennongmin | 25:9af4575d3194 | 51 | |
shennongmin | 25:9af4575d3194 | 52 | void loop() |
shennongmin | 25:9af4575d3194 | 53 | { |
shennongmin | 25:9af4575d3194 | 54 | unsigned long t; |
shennongmin | 25:9af4575d3194 | 55 | if (wifi.ipConfig(ESP8266_COMM_TCP, server, 80)) { |
shennongmin | 34:65cd9c6eedb8 | 56 | printf("connected and get /\r\n"); |
shennongmin | 25:9af4575d3194 | 57 | wifi.send("GET / HTTP/1.1\r\n\r\n"); |
shennongmin | 25:9af4575d3194 | 58 | t = millis(); |
shennongmin | 25:9af4575d3194 | 59 | printf("Recv:\r\n["); |
shennongmin | 25:9af4575d3194 | 60 | while(millis() - t <= 10000) { |
shennongmin | 25:9af4575d3194 | 61 | if(wifi.recvData(message)) { |
shennongmin | 25:9af4575d3194 | 62 | printf("%s", message); |
shennongmin | 25:9af4575d3194 | 63 | message[0] = 0; |
shennongmin | 25:9af4575d3194 | 64 | } |
shennongmin | 25:9af4575d3194 | 65 | } |
shennongmin | 25:9af4575d3194 | 66 | printf("]\r\n"); |
shennongmin | 25:9af4575d3194 | 67 | |
shennongmin | 25:9af4575d3194 | 68 | } else { |
shennongmin | 34:65cd9c6eedb8 | 69 | printf("connect failed\r\n"); |
shennongmin | 25:9af4575d3194 | 70 | } |
shennongmin | 34:65cd9c6eedb8 | 71 | while(1); |
shennongmin | 25:9af4575d3194 | 72 | } |
shennongmin | 34:65cd9c6eedb8 | 73 | |
shennongmin | 25:9af4575d3194 | 74 | #endif |
shennongmin | 25:9af4575d3194 | 75 | |
shennongmin | 25:9af4575d3194 | 76 | #ifdef EXAMPLE_TCPSERVER |
shennongmin | 25:9af4575d3194 | 77 | #define SSID "ITEAD" |
shennongmin | 25:9af4575d3194 | 78 | #define PASSWORD "12345678" |
shennongmin | 25:9af4575d3194 | 79 | |
shennongmin | 25:9af4575d3194 | 80 | #include "ESP8266.h" |
shennongmin | 25:9af4575d3194 | 81 | |
shennongmin | 25:9af4575d3194 | 82 | |
shennongmin | 25:9af4575d3194 | 83 | ESP8266 wifi(p28, p27); |
shennongmin | 25:9af4575d3194 | 84 | |
shennongmin | 25:9af4575d3194 | 85 | |
shennongmin | 25:9af4575d3194 | 86 | void setup() |
shennongmin | 25:9af4575d3194 | 87 | { |
shennongmin | 29:75185b05d6a4 | 88 | wifi.reset(); |
shennongmin | 30:46a560b71e61 | 89 | if(!wifi.setStationMode(SSID, PASSWORD)) { |
shennongmin | 25:9af4575d3194 | 90 | printf("init error\r\n"); |
shennongmin | 25:9af4575d3194 | 91 | } |
shennongmin | 25:9af4575d3194 | 92 | delay(8000); |
shennongmin | 25:9af4575d3194 | 93 | printf("IP address:%s\r\n", wifi.showIP().c_str()); |
shennongmin | 25:9af4575d3194 | 94 | printf("Access Point:%s\r\n", wifi.showJAP().c_str()); |
shennongmin | 25:9af4575d3194 | 95 | |
shennongmin | 25:9af4575d3194 | 96 | delay(1000); |
shennongmin | 25:9af4575d3194 | 97 | wifi.confMux(1); |
shennongmin | 25:9af4575d3194 | 98 | delay(100); |
shennongmin | 25:9af4575d3194 | 99 | if(wifi.confServer(1, 80)) { |
shennongmin | 25:9af4575d3194 | 100 | printf("Server is set up\r\n"); |
shennongmin | 25:9af4575d3194 | 101 | } |
shennongmin | 25:9af4575d3194 | 102 | } |
shennongmin | 25:9af4575d3194 | 103 | |
shennongmin | 25:9af4575d3194 | 104 | void loop() |
shennongmin | 25:9af4575d3194 | 105 | { |
shennongmin | 25:9af4575d3194 | 106 | char buf[500]; |
shennongmin | 25:9af4575d3194 | 107 | int iLen = wifi.recvData(buf); |
shennongmin | 25:9af4575d3194 | 108 | if(iLen > 0) { |
shennongmin | 25:9af4575d3194 | 109 | |
shennongmin | 25:9af4575d3194 | 110 | printf("Recv:[%s]\r\n", buf); |
shennongmin | 25:9af4575d3194 | 111 | delay(100); |
shennongmin | 25:9af4575d3194 | 112 | |
shennongmin | 25:9af4575d3194 | 113 | String cmd; |
shennongmin | 25:9af4575d3194 | 114 | cmd = "HTTP/1.1 200 OK\r\n"; |
shennongmin | 25:9af4575d3194 | 115 | cmd += "Content-Type: text/html\r\n"; |
shennongmin | 25:9af4575d3194 | 116 | cmd += "Connection: close\r\n"; |
shennongmin | 25:9af4575d3194 | 117 | cmd += "\r\n"; |
shennongmin | 25:9af4575d3194 | 118 | cmd += "This is a test server."; |
shennongmin | 25:9af4575d3194 | 119 | |
shennongmin | 29:75185b05d6a4 | 120 | wifi.send(wifi.getMuxID(),cmd); |
shennongmin | 25:9af4575d3194 | 121 | delay(300); |
shennongmin | 29:75185b05d6a4 | 122 | wifi.closeMux(wifi.getMuxID()); |
shennongmin | 25:9af4575d3194 | 123 | delay(1000); |
shennongmin | 25:9af4575d3194 | 124 | } |
shennongmin | 25:9af4575d3194 | 125 | } |
shennongmin | 25:9af4575d3194 | 126 | |
shennongmin | 25:9af4575d3194 | 127 | #endif |
shennongmin | 25:9af4575d3194 | 128 | |
shennongmin | 25:9af4575d3194 | 129 | #ifdef EXAMPLE_UDPTEST |
shennongmin | 25:9af4575d3194 | 130 | #define SSID "ITEAD" |
shennongmin | 25:9af4575d3194 | 131 | #define PASSWORD "12345678" |
shennongmin | 25:9af4575d3194 | 132 | |
shennongmin | 25:9af4575d3194 | 133 | |
shennongmin | 25:9af4575d3194 | 134 | #include "ESP8266.h" |
shennongmin | 25:9af4575d3194 | 135 | |
shennongmin | 25:9af4575d3194 | 136 | ESP8266 wifi(p28, p27); |
shennongmin | 25:9af4575d3194 | 137 | DigitalOut led1(LED1); |
shennongmin | 25:9af4575d3194 | 138 | |
shennongmin | 25:9af4575d3194 | 139 | void setup() |
shennongmin | 25:9af4575d3194 | 140 | { |
shennongmin | 29:75185b05d6a4 | 141 | wifi.reset(); |
shennongmin | 30:46a560b71e61 | 142 | if(!wifi.setStationMode(SSID, PASSWORD)) { |
shennongmin | 25:9af4575d3194 | 143 | printf("init error\r\n"); |
shennongmin | 25:9af4575d3194 | 144 | } |
shennongmin | 25:9af4575d3194 | 145 | delay(8000); |
shennongmin | 25:9af4575d3194 | 146 | printf("IP address:%s\r\n", wifi.showIP().c_str()); |
shennongmin | 25:9af4575d3194 | 147 | printf("Access Point:%s\r\n", wifi.showJAP().c_str()); |
shennongmin | 25:9af4575d3194 | 148 | |
shennongmin | 25:9af4575d3194 | 149 | if (wifi.ipConfig(ESP8266_UDP, "172.16.5.12", 5416)) { //Connect to your server |
shennongmin | 25:9af4575d3194 | 150 | printf("Register UDP ok\r\n"); |
shennongmin | 25:9af4575d3194 | 151 | } else { |
shennongmin | 25:9af4575d3194 | 152 | printf("Register UDP err\r\n"); |
shennongmin | 25:9af4575d3194 | 153 | } |
shennongmin | 25:9af4575d3194 | 154 | wifi.send("setup done\r\n"); |
shennongmin | 25:9af4575d3194 | 155 | printf("setup done\r\n"); |
shennongmin | 25:9af4575d3194 | 156 | } |
shennongmin | 25:9af4575d3194 | 157 | |
shennongmin | 25:9af4575d3194 | 158 | |
shennongmin | 25:9af4575d3194 | 159 | |
shennongmin | 25:9af4575d3194 | 160 | void loop() { |
shennongmin | 25:9af4575d3194 | 161 | char buf[10]; |
shennongmin | 25:9af4575d3194 | 162 | int iLen = 0; |
shennongmin | 25:9af4575d3194 | 163 | iLen = wifi.recvData(buf); |
shennongmin | 25:9af4575d3194 | 164 | if(iLen > 0) { |
shennongmin | 25:9af4575d3194 | 165 | //if you receive "HIGH" message, set the D13 to high voltage; and vice versa |
shennongmin | 25:9af4575d3194 | 166 | if (strcmp(buf, "HIGH") == 0) { |
shennongmin | 25:9af4575d3194 | 167 | printf("Set HIGH\r\n"); |
shennongmin | 25:9af4575d3194 | 168 | led1 = 1; |
shennongmin | 25:9af4575d3194 | 169 | } |
shennongmin | 25:9af4575d3194 | 170 | else if (strcmp(buf, "LOW") == 0) { |
shennongmin | 25:9af4575d3194 | 171 | printf("Set LOW\r\n"); |
shennongmin | 25:9af4575d3194 | 172 | led1 = 0; |
shennongmin | 25:9af4575d3194 | 173 | } |
shennongmin | 25:9af4575d3194 | 174 | } |
shennongmin | 25:9af4575d3194 | 175 | } |
shennongmin | 25:9af4575d3194 | 176 | |
shennongmin | 25:9af4575d3194 | 177 | #endif |
shennongmin | 25:9af4575d3194 | 178 | |
shennongmin | 25:9af4575d3194 | 179 | #ifdef EXAMPLE_WIFITEST |
shennongmin | 25:9af4575d3194 | 180 | #include "ESP8266.h" |
shennongmin | 25:9af4575d3194 | 181 | |
shennongmin | 25:9af4575d3194 | 182 | #define SSID "ITEAD" |
shennongmin | 25:9af4575d3194 | 183 | #define PASSWORD "12345678" |
shennongmin | 25:9af4575d3194 | 184 | |
shennongmin | 25:9af4575d3194 | 185 | ESP8266 wifi(p28, p27); |
shennongmin | 25:9af4575d3194 | 186 | |
shennongmin | 25:9af4575d3194 | 187 | void setup(void) { |
shennongmin | 29:75185b05d6a4 | 188 | wifi.reset(); |
shennongmin | 30:46a560b71e61 | 189 | if(!wifi.setStationMode(SSID, PASSWORD)) { |
shennongmin | 25:9af4575d3194 | 190 | printf("init error\r\n"); |
shennongmin | 25:9af4575d3194 | 191 | } |
shennongmin | 25:9af4575d3194 | 192 | delay(8000); |
shennongmin | 25:9af4575d3194 | 193 | printf("IP address:%s\r\n", wifi.showIP().c_str()); |
shennongmin | 25:9af4575d3194 | 194 | printf("Access Point:%s\r\n", wifi.showJAP().c_str()); |
shennongmin | 25:9af4575d3194 | 195 | } |
shennongmin | 25:9af4575d3194 | 196 | |
shennongmin | 25:9af4575d3194 | 197 | void loop(void) { |
shennongmin | 25:9af4575d3194 | 198 | } |
shennongmin | 25:9af4575d3194 | 199 | |
shennongmin | 25:9af4575d3194 | 200 | #endif |