官网关于udp通信的介绍
esp8266模块在udp客户端模式下通信步骤
1. 接上路由器
2. 创建UDP套接字,也就是通信通道
3. 发送数据要知道UDP服务器的端口和ip , 其实也没有连接 只是客户端发送数据时要知道这些信息,不然也不知道数据发哪去了
udpclient.lua文件:
wifi.setmode(wifi.STATIONAP)--设置模块工作在ap+station模式下
apcfg={}
apcfg.ssid="ESP8266WIFI"
apcfg.pwd="12345678"
wifi.ap.config(apcfg) --配置模块AP模式
stacfg={}
stacfg.ssid="TP-Link"
stacfg.pwd="12345678"
wifi.sta.config(stacfg)--配置模块station模式
wifi.sta.autoconnect(1)--开启模块自动连接WIFI
ConnectIP = "192.168.0.100" --连接UDP服务器的ip
ConnectPort = 8000 --连接UDP服务器监听的端口
UdpSocket = net.createUDPSocket() --创建UDP套接字 通信通道
--[[
UDP 客户端接收数据 其回调函数中包含 通信的socket 数据 端口 ip
]]
UdpSocket:on("receive", function(socket, data, port, ip)
print("\r\nport:"..port.."---ip:"..ip.."\r\n") --打印远端 通信ip和端口
uart.write(0,data) --udp客户端接收的数据通过串口发送
end)
--[[
串口接收的数据,通过UDP客户端发送
]]
uart.on("data",0,function(data)
if UdpSocket~=nil then
UdpSocket:send(ConnectPort, ConnectIP, data)
end
end,0)