• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ESP8266-01S基于lua的最简串口wifi透传源码

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

ESP8266-01S基于lua的最简串口wifi透传源码


修改记录:
2020年5月31日创建

源码

完整UART WIFI透传程序
从网上照抄,做了一点点修改,模块设置成AP模式,ssid为Hellow8266,程序下载后运行。查询手机的无线和网络,其中的WLAN,可以找到名为Hellow8266的连接点。

–[[
module ESP8266-07S LED_Pin = GPIO14 = 5
GPIO5=1NC
GPIO4=2 NC
GPIO2=3 for Direct
GPIO2=4 for Throttle

ESP8266-01S LED_Pin = 4 Here used for channel 2 (Dirrect) output
GPIO2=3 for Direct
GPIO2=4 for Throttle
20200706 recoded
]]
–defined client connected socket

lighton = 0
count = 0
Ledpin = 4
gpio.mode(Ledpin,gpio.OUTPUT)
gpio.mode(Ledpin,gpio.HIGH)

tmr.alarm(0, 1000, 1, function()
gpio.write(Ledpin,1-gpio.read(Ledpin))
end)
–tmr.stop(0)
uartsocket = nil
buf=""
uart.setup(0,115200,8,0,1,0)
SendCount = 0
UartCounter = 0

wifi.setmode(wifi.SOFTAP)
cfg={
ssid=“Hellow8266”,
pwd=“11223344”,
auth=wifi.WPA2_PSK,
ip=“192.168.1.5”,
netmask=“255.255.255.0”,
gateway=“192.168.1.1”
}
wifi.ap.setip(cfg)
wifi.ap.config(cfg)
print("\r")
print(“My Ap ip:”…wifi.ap.getip())
print(“My Ap mac:”…wifi.ap.getmac())
TCPSever = net.createServer(net.TCP,28800)

TCPSever:listen(8080,function(socket)
socket:on(“receive”,function(socket,data)
uartsocket = socket
if data == “q” then
–gpio.write(ledpin,gpio.HIGH)
restring = string.format("%03d %s OFF\r\n",SendCount,data)
socket:send(restring)
elseif data == “a” then
–gpio.write(ledpin,gpio.LOW)
restring = string.format("%03d %s ON\r\n",SendCount,data)
socket:send(restring)
else
restring = string.format(“Client:%03d %s\r\n”,string.len(data),data)
socket:send(restring)
uart.write(0,restring)
end
SendCount = SendCount + 1
–reset the counter of send
if SendCount > 255 then
SendCount = 1
end
end)
socket:on(“disconnection”,function(sck,c)
socket = nil
end)

end)

uart.on(“data”, “\r”, function(Rec)
–uart.write(0, Rec)
UartCounter = UartCounter+1
if UartCounter > 99 then
UartCounter =0
end
buf = string.format(“UART:%02d%03d%s\r\n”,
UartCounter,string.len(Rec),Rec)
–uart.write(0, buf)
if uartsocket ~= nil then
uartsocket:send(buf)
else
uart.write(0, “Client disconneected…\r\n”)
end
end, 0)

源码说明

1、tmr.alarm(0, 1000, 1, function()这段程序使得ESP8266-01S模块上的LED以每秒1次的频率闪烁,表示程序正常运行;
2、wifi.setmode(wifi.SOFTAP)及以下这段程序,配置wifi
3、TCPSever:listen(8080,function(socket) 及以下这段程序,等待手机APP或是电脑以Clinet模式链接到ESP8266-01S;其中,手机端发“q“使ESP8266-01S模块上的LED灭;手机端发“a“使ESP8266-01S模块上的LED亮;测试通讯用的,如不用,则
socket:send(restring)
把收到的数据,简单处理一下返回给链接的客户段(如手机APP);
uart.write(0,restring)
把收到的数据,简单处理一下,ESP8266-01S模块的串口TXD送出。
4、 uart.on(“data”, “\r”, function(Rec)及以下代码,从ESP8266-01S模块的串口RXD接收数据,通过uartsocket:send(buf)送出;
5、注意,wifi通讯信息字符串的形式传送,并以回车符作结束,信息app或单片机程序发送字符串必须加回车符”\r"结尾,否则,会不成功,或其他错误。

操作界面之一


ESPlorer串口上到数据


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Cocos2d-x教程 Lua脚本(1) 如何在Cocos2d-x中使用Lua脚本发布时间:2022-07-22
下一篇:
转 LUA语法分析发布时间:2022-07-22
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap