For test

Dependencies:   mbed

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