3-1-4 NodeMCU开发板的无线终端模式

位置导航: 首页 / 物联网教程 / 第3章 – 用C/C++开发物联网 / 3-1 – 物联网开发基础 /本页

无线终端模式(Station)

1. 连接WiFI

如下图所示,ESP8266可通过WiFi连接无线路由器。这与用您的手机通过WiFi连接无线路由器的模式相同。

ESP8266-NodeMCU无线终端(Wireless Station)工作模式
ESP8266-NodeMCU无线终端(Wireless Station)工作模式

以下示例程序用于演示如何使用NodeMCU以无线终端模式通过WiFi连接无线路由器。
注:我们在本教程中为您所提供的所有代码都会尽可能丰富的提供注释说明。这些注释说明的作用就是为了便于您更好的理解程序的运行。

无法复制本站示例程序?请点击这里找到解决方案。

在以上程序的控制下,您的NodeMCU将会连接名称是”taichi-maker”的WiFi网络。当网络连接成功后,您可以通过串口监视器看到如下信息。其中最后一行“IP Address”信息就是NodeMCU连接WiFi以后的IP地址了。

NodeMCU网络连接信息
NodeMCU网络连接信息

如下图所示,为了确认NodeMCU的确已经联网,我们可以在Windows操作系统的“命令提示符”中输入:
ping 192.168.0.106

使用ping测试NodeMCU的WiFi连接情况
使用ping测试NodeMCU的WiFi连接情况

从以上截屏可以看到,NodeMCU成功的对我们的ping指令做出应答。到这里就可以确定当前NodeMCU已经成功连接WiFi了。

假如您不清楚以上操作的原理,请让我在这里给您做一个简单的介绍。当NodeMCU成功连接WiFi以后,电脑就可以通过WiFi与NodeMCU相互通讯了。反之,如果NodeMCU没有成功连接WiFi,那电脑自然是无法与NodeMCU通讯的。因此我们可以通过电脑能否与NodeMCU通讯来判断NodeMCU是否成功联网?但是该如何让电脑和NodeMCU进行通讯呢?这就要借助Windows指令ping了。

从以上的串口监视器截屏我们知道了NodeMCU在网络中的IP地址是192.168.0.106。接下来我们只需要在Windows的“命令提示符”中输入ping 192.168.0.106然后回车。这时电脑将会向NodeMCU所在的IP地址192.168.0.106发送多个数据包。如果NodeMCU成功接收到了这些数据包,那么它会同样回复几个数据包给电脑。于是在“命令提示符”窗口中,我们看到了这几条Reply from 192.168.0.106: bytes=32 ...信息如下图红色方框标注部分所示:

使用ping测试NodeMCU成功联网
使用ping测试NodeMCU成功联网

当我们在“命令提示符”窗口中看到了这几条Reply from 192.168.0.106: bytes=32 ...以后,就可以确定电脑和NodeMCU可以彼此通讯了,这也就证明了NodeMCU已经成功联网。

相反,如果您的NodeMCU没有联网的话,在“命令提示符”窗口中将会看到Request timed out 信息。如下图所示。

使用ping测试NodeMCU网络连接失败信息
使用ping测试NodeMCU网络连接失败信息

2. 自动连接最强信号WiFi网络

假如我们的NodeMCU只在一个地方使用,它也就只需要知道一个WiFi网络的连接信息。但是如果NodeMCU需要在多个地方使用,这时候就需要它能存储多个地点的WiFi信息。通过以下示例程序,NodeMCU可以在它所处的网络环境里搜索预先存储好的WiFi。一旦找到预存的WiFi名称,NodeMCU将会使用预存的密码信息尝试连接该WiFi。如果同时找到多个预存WiFi,NodeMCU将会尝试连接信号最强的WiFi。

以下这段示例程序将会实现这一功能。