For test

Dependencies:   mbed

Committer:
shennongmin
Date:
Thu Feb 05 02:28:09 2015 +0000
Revision:
33:f721a46ef2f2
Parent:
30:46a560b71e61
Child:
34:65cd9c6eedb8
fixed showIP bug.

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 25:9af4575d3194 26 void httpRequest();
shennongmin 25:9af4575d3194 27 ESP8266 wifi(p28, p27);
shennongmin 25:9af4575d3194 28
shennongmin 25:9af4575d3194 29 const char *server = "www.163.com";
shennongmin 25:9af4575d3194 30 char message[4096];
shennongmin 25:9af4575d3194 31
shennongmin 25:9af4575d3194 32 void setup()
shennongmin 25:9af4575d3194 33 {
shennongmin 25:9af4575d3194 34 printf("setup begin\r\n");
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 33:f721a46ef2f2 43 } else {
shennongmin 33:f721a46ef2f2 44 printf("setStationMode err\r\n");
shennongmin 33:f721a46ef2f2 45 }
shennongmin 33:f721a46ef2f2 46
shennongmin 33:f721a46ef2f2 47 printf("IP:%s\r\n", wifi.showIP().c_str());
shennongmin 33:f721a46ef2f2 48 printf("AP:%s\r\n", wifi.showJAP().c_str());
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 httpRequest();
shennongmin 25:9af4575d3194 55 while(1);
shennongmin 25:9af4575d3194 56 }
shennongmin 25:9af4575d3194 57
shennongmin 25:9af4575d3194 58 // this method makes a HTTP connection to the server:
shennongmin 25:9af4575d3194 59 void httpRequest() {
shennongmin 25:9af4575d3194 60 unsigned long t;
shennongmin 25:9af4575d3194 61 // if there's a successful connection:
shennongmin 25:9af4575d3194 62 if (wifi.ipConfig(ESP8266_COMM_TCP, server, 80)) {
shennongmin 25:9af4575d3194 63 printf("connecting...\r\n");
shennongmin 25:9af4575d3194 64 wifi.send("GET / HTTP/1.1\r\n\r\n");
shennongmin 25:9af4575d3194 65
shennongmin 25:9af4575d3194 66 t = millis();
shennongmin 25:9af4575d3194 67 printf("Recv:\r\n[");
shennongmin 25:9af4575d3194 68 while(millis() - t <= 10000) {
shennongmin 25:9af4575d3194 69 if(wifi.recvData(message)) {
shennongmin 25:9af4575d3194 70 printf("%s", message);
shennongmin 25:9af4575d3194 71 message[0] = 0;
shennongmin 25:9af4575d3194 72 }
shennongmin 25:9af4575d3194 73 }
shennongmin 25:9af4575d3194 74 printf("]\r\n");
shennongmin 25:9af4575d3194 75
shennongmin 25:9af4575d3194 76 } else {
shennongmin 25:9af4575d3194 77 // if you couldn't make a connection:
shennongmin 25:9af4575d3194 78 printf("connection failed\r\n");
shennongmin 25:9af4575d3194 79 printf("disconnecting.\r\n");
shennongmin 25:9af4575d3194 80 wifi.closeMux();
shennongmin 25:9af4575d3194 81 }
shennongmin 25:9af4575d3194 82 }
shennongmin 25:9af4575d3194 83 #endif
shennongmin 25:9af4575d3194 84
shennongmin 25:9af4575d3194 85 #ifdef EXAMPLE_TCPSERVER
shennongmin 25:9af4575d3194 86 #define SSID "ITEAD"
shennongmin 25:9af4575d3194 87 #define PASSWORD "12345678"
shennongmin 25:9af4575d3194 88
shennongmin 25:9af4575d3194 89 #include "ESP8266.h"
shennongmin 25:9af4575d3194 90
shennongmin 25:9af4575d3194 91
shennongmin 25:9af4575d3194 92 ESP8266 wifi(p28, p27);
shennongmin 25:9af4575d3194 93
shennongmin 25:9af4575d3194 94
shennongmin 25:9af4575d3194 95 void setup()
shennongmin 25:9af4575d3194 96 {
shennongmin 29:75185b05d6a4 97 wifi.reset();
shennongmin 30:46a560b71e61 98 if(!wifi.setStationMode(SSID, PASSWORD)) {
shennongmin 25:9af4575d3194 99 printf("init error\r\n");
shennongmin 25:9af4575d3194 100 }
shennongmin 25:9af4575d3194 101 delay(8000);
shennongmin 25:9af4575d3194 102 printf("IP address:%s\r\n", wifi.showIP().c_str());
shennongmin 25:9af4575d3194 103 printf("Access Point:%s\r\n", wifi.showJAP().c_str());
shennongmin 25:9af4575d3194 104
shennongmin 25:9af4575d3194 105 delay(1000);
shennongmin 25:9af4575d3194 106 wifi.confMux(1);
shennongmin 25:9af4575d3194 107 delay(100);
shennongmin 25:9af4575d3194 108 if(wifi.confServer(1, 80)) {
shennongmin 25:9af4575d3194 109 printf("Server is set up\r\n");
shennongmin 25:9af4575d3194 110 }
shennongmin 25:9af4575d3194 111 }
shennongmin 25:9af4575d3194 112
shennongmin 25:9af4575d3194 113 void loop()
shennongmin 25:9af4575d3194 114 {
shennongmin 25:9af4575d3194 115 char buf[500];
shennongmin 25:9af4575d3194 116 int iLen = wifi.recvData(buf);
shennongmin 25:9af4575d3194 117 if(iLen > 0) {
shennongmin 25:9af4575d3194 118
shennongmin 25:9af4575d3194 119 printf("Recv:[%s]\r\n", buf);
shennongmin 25:9af4575d3194 120 delay(100);
shennongmin 25:9af4575d3194 121
shennongmin 25:9af4575d3194 122 String cmd;
shennongmin 25:9af4575d3194 123 cmd = "HTTP/1.1 200 OK\r\n";
shennongmin 25:9af4575d3194 124 cmd += "Content-Type: text/html\r\n";
shennongmin 25:9af4575d3194 125 cmd += "Connection: close\r\n";
shennongmin 25:9af4575d3194 126 cmd += "\r\n";
shennongmin 25:9af4575d3194 127 cmd += "This is a test server.";
shennongmin 25:9af4575d3194 128
shennongmin 29:75185b05d6a4 129 wifi.send(wifi.getMuxID(),cmd);
shennongmin 25:9af4575d3194 130 delay(300);
shennongmin 29:75185b05d6a4 131 wifi.closeMux(wifi.getMuxID());
shennongmin 25:9af4575d3194 132 delay(1000);
shennongmin 25:9af4575d3194 133 }
shennongmin 25:9af4575d3194 134 }
shennongmin 25:9af4575d3194 135
shennongmin 25:9af4575d3194 136 #endif
shennongmin 25:9af4575d3194 137
shennongmin 25:9af4575d3194 138 #ifdef EXAMPLE_UDPTEST
shennongmin 25:9af4575d3194 139 #define SSID "ITEAD"
shennongmin 25:9af4575d3194 140 #define PASSWORD "12345678"
shennongmin 25:9af4575d3194 141
shennongmin 25:9af4575d3194 142
shennongmin 25:9af4575d3194 143 #include "ESP8266.h"
shennongmin 25:9af4575d3194 144
shennongmin 25:9af4575d3194 145 ESP8266 wifi(p28, p27);
shennongmin 25:9af4575d3194 146 DigitalOut led1(LED1);
shennongmin 25:9af4575d3194 147
shennongmin 25:9af4575d3194 148 void setup()
shennongmin 25:9af4575d3194 149 {
shennongmin 29:75185b05d6a4 150 wifi.reset();
shennongmin 30:46a560b71e61 151 if(!wifi.setStationMode(SSID, PASSWORD)) {
shennongmin 25:9af4575d3194 152 printf("init error\r\n");
shennongmin 25:9af4575d3194 153 }
shennongmin 25:9af4575d3194 154 delay(8000);
shennongmin 25:9af4575d3194 155 printf("IP address:%s\r\n", wifi.showIP().c_str());
shennongmin 25:9af4575d3194 156 printf("Access Point:%s\r\n", wifi.showJAP().c_str());
shennongmin 25:9af4575d3194 157
shennongmin 25:9af4575d3194 158 if (wifi.ipConfig(ESP8266_UDP, "172.16.5.12", 5416)) { //Connect to your server
shennongmin 25:9af4575d3194 159 printf("Register UDP ok\r\n");
shennongmin 25:9af4575d3194 160 } else {
shennongmin 25:9af4575d3194 161 printf("Register UDP err\r\n");
shennongmin 25:9af4575d3194 162 }
shennongmin 25:9af4575d3194 163 wifi.send("setup done\r\n");
shennongmin 25:9af4575d3194 164 printf("setup done\r\n");
shennongmin 25:9af4575d3194 165 }
shennongmin 25:9af4575d3194 166
shennongmin 25:9af4575d3194 167
shennongmin 25:9af4575d3194 168
shennongmin 25:9af4575d3194 169 void loop() {
shennongmin 25:9af4575d3194 170 char buf[10];
shennongmin 25:9af4575d3194 171 int iLen = 0;
shennongmin 25:9af4575d3194 172 iLen = wifi.recvData(buf);
shennongmin 25:9af4575d3194 173 if(iLen > 0) {
shennongmin 25:9af4575d3194 174 //if you receive "HIGH" message, set the D13 to high voltage; and vice versa
shennongmin 25:9af4575d3194 175 if (strcmp(buf, "HIGH") == 0) {
shennongmin 25:9af4575d3194 176 printf("Set HIGH\r\n");
shennongmin 25:9af4575d3194 177 led1 = 1;
shennongmin 25:9af4575d3194 178 }
shennongmin 25:9af4575d3194 179 else if (strcmp(buf, "LOW") == 0) {
shennongmin 25:9af4575d3194 180 printf("Set LOW\r\n");
shennongmin 25:9af4575d3194 181 led1 = 0;
shennongmin 25:9af4575d3194 182 }
shennongmin 25:9af4575d3194 183 }
shennongmin 25:9af4575d3194 184 }
shennongmin 25:9af4575d3194 185
shennongmin 25:9af4575d3194 186 #endif
shennongmin 25:9af4575d3194 187
shennongmin 25:9af4575d3194 188 #ifdef EXAMPLE_WIFITEST
shennongmin 25:9af4575d3194 189 #include "ESP8266.h"
shennongmin 25:9af4575d3194 190
shennongmin 25:9af4575d3194 191 #define SSID "ITEAD"
shennongmin 25:9af4575d3194 192 #define PASSWORD "12345678"
shennongmin 25:9af4575d3194 193
shennongmin 25:9af4575d3194 194 ESP8266 wifi(p28, p27);
shennongmin 25:9af4575d3194 195
shennongmin 25:9af4575d3194 196 void setup(void) {
shennongmin 29:75185b05d6a4 197 wifi.reset();
shennongmin 30:46a560b71e61 198 if(!wifi.setStationMode(SSID, PASSWORD)) {
shennongmin 25:9af4575d3194 199 printf("init error\r\n");
shennongmin 25:9af4575d3194 200 }
shennongmin 25:9af4575d3194 201 delay(8000);
shennongmin 25:9af4575d3194 202 printf("IP address:%s\r\n", wifi.showIP().c_str());
shennongmin 25:9af4575d3194 203 printf("Access Point:%s\r\n", wifi.showJAP().c_str());
shennongmin 25:9af4575d3194 204 }
shennongmin 25:9af4575d3194 205
shennongmin 25:9af4575d3194 206 void loop(void) {
shennongmin 25:9af4575d3194 207 }
shennongmin 25:9af4575d3194 208
shennongmin 25:9af4575d3194 209 #endif