For test

Dependencies:   mbed

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?

UserRevisionLine numberNew 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