学物联网之ESP8266NodeMCU(三)
Created|Updated
|Word count:1.7k|Reading time:6min|Post View:
准备工作
目前大部分电脑驱动都已自动安装完成,可先进行下一步,若遇连接问题,可自行百度安装驱动。
下载 Arduino IDE
打开Arduino IDE,“文件” -> “首选项”, 在 “附加开发板管理网址” 中输入以下网址:
esp8266开发板管理器地址:
1
| http://arduino.esp8266.com/stable/package_esp8266com_index.json
|
(选填,方便日后开发esp32)esp32开发版管理器地址:
1
| https://dl.espressif.com/dl/package_esp32_index.json
|
紧接着点击”工具“ -> ”开发板“ -> “开发板管理器”, 在搜索栏中输入“esp8266”,看到搜索结果显示“esp8266 by ESP8266 Community”, 选择最新版本安装即可(我这里是3.0.2)
安装成功后,在”工具“ -> ”开发板“ 中选择”NodeMCU 1.0 (ESP-12E Moudle)“ 即可
紧接着设置NodeMCU开发板的端口,在 “工具” -> “端口”
(这里比较简单,如果有其它问题自行百度解决)
接入点模式(Access Point, 也称 AP)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
#include <ESP8266WiFi.h> const char *ssid = "设定自己的wifi名"; const char *password = "设定自己的wifi密码"; void setup() { Serial.begin(9600); WiFi.softAP(ssid, password); Serial.print("Access Point: "); Serial.println(ssid); Serial.print("IP address: "); Serial.println(WiFi.softAPIP()); } void loop() { }
|
将程序上传至开发板以后, NodeMCU在每次启动以后,都会自动启动接入点模式。接入点WiFi的详细信息会通过串口监视器输出给用户查看。
若想要验证一下电脑是否可以与NodeMCU进行网络通讯,那么同样可以在Windows操作系统的“命令提示符”中输入:ping IP address
(注意:ping的IP地址是NodeMCU默认的接入点IP地址,这一信息在上面的 串口监视器截屏中可以看到。)
无线终端模式(Station)
1. 连接WiFI
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
#include <ESP8266WiFi.h> const char* ssid = "自家路由器的wifi名"; const char* password = "自家路由器的wifi密码"; void setup() { Serial.begin(9600); WiFi.begin(ssid, password); Serial.print("Connecting to "); Serial.print(ssid); Serial.println(" ..."); int i = 0; while (WiFi.status() != WL_CONNECTED) { delay(1000); Serial.print(i++); Serial.print(' '); } Serial.println(""); Serial.println("Connection established!"); Serial.print("IP address: "); Serial.println(WiFi.localIP()); } void loop() { }
|
2. 自动连接最强信号WiFi网络
有时会在家,学校,公司等来回跑,这样的话没换一个地方就得重新更改代码,太麻烦,于是我们可以:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
#include <ESP8266WiFi.h> #include <ESP8266WiFiMulti.h> ESP8266WiFiMulti wifiMulti; void setup() { Serial.begin(9600);
wifiMulti.addAP("taichi-maker", "12345678"); wifiMulti.addAP("taichi-maker2", "87654321"); wifiMulti.addAP("taichi-maker3", "13572468"); Serial.println("Connecting ..."); int i = 0; while (wifiMulti.run() != WL_CONNECTED) { delay(1000); Serial.print('.'); } Serial.println('\n'); Serial.print("Connected to "); Serial.println(WiFi.SSID()); Serial.print("IP address:\t"); Serial.println(WiFi.localIP()); } void loop() { }
|