《ESP8266通信指南》14-连接WIFI(基于Lua)


往期

《ESP8266通信指南》13-Lua 简单入门(打印数据)-CSDN博客

《ESP8266通信指南》12-Lua 固件烧录-CSDN博客

《ESP8266通信指南》11-Lua开发环境配置-CSDN博客

《ESP8266通信指南》10-MQTT通信(Arduino开发)-CSDN博客

《ESP8266通信指南》9-TCP通信(Arudino开发)-CSDN博客

《ESP8266通信指南》8-连接WIFI(Arduino开发)(非常简单)-CSDN博客

《ESP8266通信指南》7-Arduino 开发8266的环境配置与示例代码烧录-CSDN博客

《ESP8266通信指南》6-创建TCP服务器(AT指令)-CSDN博客

《ESP8266通信指南》5-TCP通信透传模式(AT指令)-CSDN博客

《ESP8266通信指南》4-以Client进行TCP通信(AT指令)-CSDN博客

《ESP8266通信指南》3-常用AT指令详解-8266连WIFI-CSDN博客

《ESP8266通信指南》2-ESP8266 AT测试-CSDN博客

《ESP8266通信指南》1-ESP8266 简介-CSDN博客

1. 小节目标

使用 Lua 编写连接 WIFI 代码,烧录到 ESP8266 上,连接 WIFI 后打印 IP 地址。

2. 完整代码

在之前的小节中我们多次的提到电脑开移动热点的问题,这里就不在赘述,烧录代码可参考:《ESP8266通信指南》13-Lua 简单入门(打印数据)-CSDN博客

wificonf={}
wificonf.ssid="ct-iot"
wificonf.pwd="ctiot666"
wifi.setmode(wifi.STATION)
wifi.sta.config(wificonf)
wifi.sta.autoconnect(1)
wifi.sta.connect()

wifi.eventmon.register(wifi.eventmon.STA_DISCONNECTED, function(T)
    printip = 0
end)

wifi.eventmon.register(wifi.eventmon.STA_GOT_IP, function(T)
   if printip == 0 then
      print("+IP-"..T.IP)
   end
   printip = 1
end)

3. 代码详解

  1. 初始化WiFi配置字典
wificonf={}

这里创建了一个空的Lua表(也称为字典)wificonf来存储WiFi的SSID和密码。


2. 设置WiFi的SSID和密码

wificonf.ssid="ct-iot"  
wificonf.pwd="ctiot666"

这两行代码将WiFi的SSID设置为"ct-iot",密码设置为"ctiot666"。


3. 设置WiFi模式并连接

wifi.setmode(wifi.STATION)

设置WiFi模式为STA(Station),也就是客户端模式,它会连接到其他WiFi路由器。

wifi.sta.config(wificonf)

使用之前设置的wificonf字典来配置WiFi的SSID和密码。

wifi.sta.autoconnect(1)

设置自动连接WiFi。参数1表示启用自动连接。

wifi.sta.connect()

这行代码看起来有些冗余,因为当你设置autoconnect(1)后,WiFi应该会自动尝试连接。但在某些情况下,显式调用connect()可能有助于确保连接。


4. 注册WiFi事件处理程序

wifi.eventmon.register(wifi.eventmon.STA_DISCONNECTED, function(T)  
    printip = 0  
end)

当WiFi客户端断开连接时,这个函数将被调用。这里它设置了一个名为printip的变量(虽然这个变量没有在代码中明确定义,但我猜测它在代码的其他部分被定义或默认为0)为0。

wifi.eventmon.register(wifi.eventmon.STA_GOT_IP, function(T)  
   if printip == 0 then  
      print("+IP-"..T.IP)  
   end  
   printip = 1  
end)

当WiFi客户端成功获取IP地址时,这个函数将被调用。如果printip是0(表示我们之前尚未打印IP地址),它将打印IP地址,并将printip设置为1,以确保我们不会再次打印相同的IP地址。

4. 结语


在本小节中介绍了 ESP8266 使用 Lua 编程连接 WIFI,并打印 ESP8266 的 IP 地址。



柴头物联网出品

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-05-10 00:58:04       14 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-10 00:58:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-10 00:58:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-10 00:58:04       18 阅读

热门阅读

  1. 3D旋转rotatex

    2024-05-10 00:58:04       14 阅读
  2. 详解Go语言Map

    2024-05-10 00:58:04       10 阅读
  3. c#读取hex文件方法,相对来说比较清楚

    2024-05-10 00:58:04       12 阅读
  4. 【网络】TCP的长连接是如何实现的

    2024-05-10 00:58:04       9 阅读
  5. AtCoder Beginner Contest 336 D题 Pyramid

    2024-05-10 00:58:04       13 阅读
  6. 今日总结2024/5/9

    2024-05-10 00:58:04       11 阅读
  7. 训练:shell_day01-10

    2024-05-10 00:58:04       12 阅读
  8. 2024.04.19校招 实习 内推 面经

    2024-05-10 00:58:04       12 阅读
  9. 【GoLang基础】map是什么?

    2024-05-10 00:58:04       9 阅读
  10. dockerFile指令

    2024-05-10 00:58:04       11 阅读