void wifiInit()
{
WiFi.mode(WIFI_STA);
WiFi.begin(WIFI_SSID, WIFI_PASSWD); //连接WiFi
while (WiFi.status() != WL_CONNECTED)
{
delay(1000); //这个延迟函数一定要有,不然连接不上
digitalWrite(MCU_LED,LOW);
}
delay(30);
digitalWrite(MCU_LED,HIGH);
client.setServer(MQTT_SERVER, MQTT_PORT); /* 连接WiFi之后,连接MQTT服务器 */
client.setCallback(callback);
}
WiFi.Mode()
一个参数,四种模式,表示WiFi类型
WIFI_OFF:关闭 Wi-Fi。
- WIFI_STA:将 ESP8266-12F 配置为 Wi-Fi 客户端,可以连接到 Wi-Fi 热点。
- WIFI_AP:将 ESP8266-12F 配置为 Wi-Fi 接入点,其他 Wi-Fi 设备可以连接到它。
- WIFI_AP_STA:将 ESP8266-12F 配置为同时作为 Wi-Fi 接入点和客户端,可以连接到其他 Wi-Fi 热点并接受其他 Wi-Fi 设备的连接。下面是一个使用 `WiFi.mode()` 方法的示例代码,将 ESP8266-12F 配置为 Wi-Fi 接入点:
这里用到的是WIFI_STA,将ESP8266-12F作为客户端,连接无线,家里的无线和密码在前面都给了。
WiFi.Begin()
ssid
:要连接的 Wi-Fi 网络的名称(SSID)。pass:密码
WiFi.status()
检查WiFi的连接状态
WL_IDLE_STATUS: WiFi模块处于空闲状态,没有与任何网络连接。
WL_NO_SSID_AVAIL: 表示找不到指定的 WiFi 网络(SSID),或者附近没有可用的 WiFi 网络。
WL_NO_SHIELD: 无 WiFi 模块存在。
WL_IDLE_STATUS:当 Wi-Fi 模块处于空闲状态时返回。这意味着 Wi-Fi 模块没有进行连接或扫描操作。当调用WiFi.begin()时分配,保持活动状态,直到连接尝试次数过期(导致WL_CONNECT_FAILED)或建立连接(导致WL_CONNECTED)。
WL_SCAN_COMPLETED: WiFi扫描已完成,但尚未连接到任何网络。
WL_CONNECTED: 表示 Arduino 成功连接到 Wi-Fi 网络。
WL_CONNECT_FAILED: 表示连接尝试失败。这可能是由于密码错误、无法找到网络或其他连接问题引起的。
WL_CONNECTION_LOST: 表示已连接的 Wi-Fi 连接丢失。
WL_DISCONNECTED: 表示 Arduino 已断开与 Wi-Fi 网络的连接。
————————————————
原文链接:https://blog.csdn.net/qq_29901385/article/details/133237039
这里如果没有连接,那么,满足循环条件,灯为低电位
如果连接成功则
- 先延迟30ms
- 然后内置LED变为高电位(亮)
client.setServer(MQTT_SERVER, MQTT_PORT);
:在这里,通常是一个MQTT库(如ESP8266_Arduino库)的对象,它设置了要连接的MQTT服务器地址和端口,以便于发送消息。这两个参数都在阿里云物联网平台的设备中的MQTT连接参数里有。-
client.setCallback(callback);
:设置回调函数,当从MQTT服务器接收数据时,此函数会被自动调用。callback
callback是下一段要读的代码