ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Wemos D1入门

2021-08-13 18:34:13  阅读:522  来源: 互联网

标签:入门 WiFi Wemos server print client println Serial D1


 

 

 

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
}

 

标签:入门,WiFi,Wemos,server,print,client,println,Serial,D1
来源: https://www.cnblogs.com/bymeet/p/15138653.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有