友情提示:680元/半年,儿童学编程,就上码丁实验室。
WiFi
wemos D1开发板
需要准备什么
硬件方面需要一块 wemos D1开发板,LED灯、330欧姆电阻以及电脑
软件方面需要arduino IDE
你将学到什么
1、你将学到如何使用wemos D1开发板控制LED灯
2、你将学到如何读取数字针脚的的值
3、你将学到如何从抓取网页的内容
硬件连接图
硬件连接
控制LED灯闪烁
LED灯闪烁程序
可以看出使用arduino IDE开发基于ESP8266 WiFi芯片的wemos D1开发板和开发arduino UNO很类似,需要注意两点:
1、开发板型号选择正确(本例为 WeMos D1)
2、针脚号要写使用正确(如本例中的针脚为D4而不是4)
读取数字针脚的值
读取数字针脚值
和编写arduino uno也很类似,同样是使用digitalRead()函数来读取数字针脚值。
开发ESP8266开发板,一般选择串口波特率为115200。
抓取网页内容
上面两个例子都没有使用到WiFi功能,接下来我们需要将wemos开发板连接到本地WiFi,然后下载一个网页,并打印在串口监视器中。读取到的网页内容是HTML格式的文本。
代码如下:
#include <ESP8266WiFi.h>
// wifi 参数
const char* ssid = “your_wifi_network”;
const char* password = “your_wifi_password”;
// Host
const char* host = “www.baidu.com”;
void setup() {
// 启动串口
Serial.begin(115200);
Serial.println();
Serial.println();
Serial.print(“Connecting to “);
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) //连接WiFi
{
delay(500);
Serial.print(“.”);
}
Serial.println(“”);
Serial.println(“WiFi connected”);
Serial.println(“IP address: “);
Serial.println(WiFi.localIP());//打印出开发板的IP地址
}
int value = 0;
void loop() {
Serial.print(“Connecting to “);
Serial.println(host);
// 使用 WiFiClient 类创建TCP连接
WiFiClient client;
const int httpPort = 80;
if (!client.connect(host, httpPort)) //TCP连接失败
{
Serial.println(“connection failed”);
return;
}
// 向服务器发送一个request请求
client.print(String(“GET /”) + ” HTTP/1.1rn” +
“Host: ” + host + “rn” + “Connection: closernrn”);
delay(10);
//读取服务器返回的所用行,并打印到串口监视器
while(client.available())
{
String line = client.readStringUntil(‘r’);
Serial.print(line);
}
Serial.println();
Serial.println(“closing connection”);
delay(5000);
}
串口打印的内容如下:
抓取的网页内容
欢迎转发分享,谢谢