WeMos D1开发板
全称是WeMos D1 WiFI UNO R3开发板,基于ESP-12E,兼容Arduino。
有了这款物联网开发板,我们就可以愉快的使用arduino方式开发ESP8266,玩转物联网项目。
1.Arduino IDE下载
链接:https://pan.baidu.com/s/1ig6psM6GvWJk0CwqaIqs7A
提取码:uyy4
2.示例(搜索WIFI)
1 /* 2 * This sketch demonstrates how to scan WiFi networks. 3 * The API is almost the same as with the WiFi Shield library, 4 * the most obvious difference being the different file you need to include: 5 */ 6 #include "ESP8266WiFi.h" 7 8 void setup() { 9 Serial.begin(115200); 10 11 // Set WiFi to station mode and disconnect from an AP if it was previously connected 12 WiFi.mode(WIFI_STA); 13 WiFi.disconnect(); 14 delay(100); 15 16 Serial.println("Setup done"); 17 } 18 19 void loop() { 20 Serial.println("scan start"); 21 22 // WiFi.scanNetworks will return the number of networks found 23 int n = WiFi.scanNetworks(); 24 Serial.println("scan done"); 25 if (n == 0) 26 Serial.println("no networks found"); 27 else 28 { 29 Serial.print(n); 30 Serial.println(" networks found"); 31 for (int i = 0; i < n; ++i) 32 { 33 // Print SSID and RSSI for each network found 34 Serial.print(i + 1); 35 Serial.print(": "); 36 Serial.print(WiFi.SSID(i)); 37 Serial.print(" ("); 38 Serial.print(WiFi.RSSI(i)); 39 Serial.print(")"); 40 Serial.println((WiFi.encryptionType(i) == ENC_TYPE_NONE)?" ":"*"); 41 delay(10); 42 } 43 } 44 Serial.println(""); 45 46 // Wait a bit before scanning again 47 delay(5000); 48 }
3.WIFI搜索
4.点灯控制
/* * This sketch demonstrates how to set up a simple HTTP-like server. * The server will set a GPIO pin depending on the request * http://server_ip/gpio/0 will set the GPIO2 low, * http://server_ip/gpio/1 will set the GPIO2 high * server_ip is the IP address of the ESP8266 module, will be * printed to Serial when the module is connected. */ #include <ESP8266WiFi.h> const char* ssid = "your-ssid"; const char* password = "your-password"; // Create an instance of the server // specify the port to listen on as an argument WiFiServer server(80); void setup() { Serial.begin(115200); delay(10); // prepare GPIO2 pinMode(2, OUTPUT); digitalWrite(2, 0); // Connect to WiFi network Serial.println(); Serial.println(); Serial.print("Connecting to "); Serial.println(ssid); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi connected"); // Start the server server.begin(); Serial.println("Server started"); // Print the IP address Serial.println(WiFi.localIP()); } void loop() { // Check if a client has connected WiFiClient client = server.available(); if (!client) { return; } // Wait until the client sends some data Serial.println("new client"); while(!client.available()){ delay(1); } // Read the first line of the request String req = client.readStringUntil('\r'); Serial.println(req); client.flush(); // Match the request int val; if (req.indexOf("/gpio/0") != -1) val = 0; else if (req.indexOf("/gpio/1") != -1) val = 1; else { Serial.println("invalid request"); client.stop(); return; } // Set GPIO2 according to the request digitalWrite(2, val); client.flush(); // Prepare the response String s = "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n<!DOCTYPE HTML>\r\n<html>\r\nGPIO is now "; s += (val)?"high":"low"; s += "</html>\n"; // Send the response to the client client.print(s); delay(1); Serial.println("Client disonnected"); // The client will actually be disconnected // when the function returns and 'client' object is detroyed }