完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
第一步,lua语言开发环境配置
下载安装java环境,下载地址:点击下载 选择windows版本下载安装即可,如图所示: 下载开发环境包: 下载地址:点击下载 esp8266串口驱动:点击下载 下载后解压,电脑插上8266开发板,打开 NodeMCU-PyFlasher.exe 软件,选择esp8266的com口,选择nodemcu.bin 固件,点击flash nodemcu 刷入,如图所示: 第二:点击open连接esp8266,等待连接成功,如果连接成功,会显示nodemcu固件信息,如果连接失败,可点击两次open按钮左边的RTS按钮重启esp8266,注意是双击RTS。 第三:点击open文件夹图标选择init.lua程序。 第四:当程序修改完成后,点击save to ESP按钮上传程序,或者ctrl+s也可以保存并上传,上传完成后,双击软件上的RTS按钮重启esp8266,或者手动重启esp8266也可以。 第二,示例程序 tcp示例程序:需修改wifi名称和密码,用户私钥uid和主题topic值。 巴法云tcp服务地址:bemfa.com 端口:8344 -- wifi配置wifi.setmode(wifi.STATIONAP)apcfg={}--wifi名称和密码apcfg.ssid="newhtc2" apcfg.pwd="qq123456"wifi.sta.config(apcfg)wifi.sta.connect()wifi.sta.autoconnect(1)function startup() srv = net.createConnection(net.TCP, 0) --连接服务器 srv:connect(8344,"bemfa.com") --接收消息 srv:on("receive", function(sck, c) print(c) end) --当连接到服务器 srv:on("connection", function(sck, c) ConnOK = 1 sck:send("cmd=1&uid=4d9ec352e0376f2110a0c601a2857225&topic=led002rn") --心跳 liveTimer = tmr.create() liveTimer:register(30000, tmr.ALARM_AUTO, function() sck:send("pingrn") end) liveTimer:start() end) --当连接断开 srv:on("disconnection", function(sck, c) tmr.create():alarm(1000, tmr.ALARM_SINGLE, startup) end)end--当wifi连接成功wifi.eventmon.register(wifi.eventmon.STA_GOT_IP, function(T) print("WIFI CONNECTED OK") tmr.create():alarm(2000, tmr.ALARM_SINGLE, startup) end)详细巴法云tcp指令可参考接入文档:点击跳转 mqtt示例程序: 巴法云mqtt服务ip:bemfa.com 端口:9501 连接服务器 1.用户私钥作为连接MQTT服务器的客户端ID 2.连接时用户名和密码为空,或随意填写,即设备连接时不需要账号和密码 -- wifi配置wifi.setmode(wifi.STATIONAP)apcfg={}apcfg.ssid="newhtc2"apcfg.pwd="qq123456"wifi.sta.config(apcfg)wifi.sta.connect()wifi.sta.autoconnect(1)function startup() --client id 连接 m = mqtt.Client("4d9ec352e0376f2110a0c601a2857225", 60) m:connect("bemfa.com", 9501, false, function(client) print("connected") client:subscribe("mylight002", 0, function(client) print("subscribe success") end) end, function(client, reason) print("Connection failed reason: " .. reason) tmr.create():alarm(3000, tmr.ALARM_SINGLE, startup) end) m:on("message", function(client, topic, data) print(topic .. ":" ) if data ~= nil then print(data) end end) m:on("offline", function(client) print ("offline") tmr.create():alarm(3000, tmr.ALARM_SINGLE, startup) end)end--当wifi连接成功wifi.eventmon.register(wifi.eventmon.STA_GOT_IP, function(T) print("WIFI CONNECTED OK") tmr.create():alarm(3000, tmr.ALARM_SINGLE, startup) end)程序讲解:首先配置wifi,,当连接wifi成功时,通过wifi.eventmon.STA_GOT_IP事件获取wifi连接成功状态,启动startup函数,startup函数中初始化服务器连接,当连接断开时,通过语句: tmr.create():alarm(3000, tmr.ALARM_SINGLE, startup)实现3s后再次启动startup函数重新连接服务器,默认重连是3秒,可自行修改。 |
|
|
|
只有小组成员才能发言,加入小组>>
imx6ull 和 lan8742 工作起来不正常, ping 老是丢包
3533 浏览 0 评论
3446 浏览 9 评论
3128 浏览 16 评论
3629 浏览 1 评论
9335 浏览 16 评论
1478浏览 3评论
726浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
745浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2533浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
2059浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-4-27 06:10 , Processed in 2.525384 second(s), Total 78, Slave 59 queries .
Powered by 电子发烧友网
© 2015 www.ws-dc.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191