lua语言开发esp8266接入巴法云,mqtt和tcp协议
第一步,lua语言开发环境配置
下载安装java环境,下载地址:点击下载
选择windows版本下载安装即可,如图所示:
下载开发环境包:
下载地址:点击下载
esp8266串口驱动:点击下载
下载后解压,电脑插上8266开发板,打开 NodeMCU-PyFlasher.exe 软件,选择esp8266的com口,选择nodemcu.bin 固件,点击flash nodemcu 刷入,如图所示:
当刷入nodemcu固件后,就可以进行lua编程。解压ESPlorer-0.2.0.zip后,双击文件夹中的 ESPlorer.jar 启动软件(需完成第一步的java环境安装,否则点击无反应)软件使用步骤:
第一:选择esp8266的com口。
第二:点击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 = 1sck:send("cmd=1&uid=4d9ec352e0376f2110a0c601a2857225&topic=led002\r\n")--心跳liveTimer = tmr.create()liveTimer:register(30000, tmr.ALARM_AUTO, function() sck:send("ping\r\n") 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 thenprint(data)endend)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秒,可自行修改。
lua语言开发esp8266接入巴法云,mqtt和tcp协议相关推荐
- 【基于Arduino IDE平台开发ESP8266连接巴法云】
Arduino教程传送门
- esp8266 TCP接入巴法云物联网云平台
文章目录 前言 (一)注册添加TCP设备 (1)注册巴法云账号 (2)创建主题 (二)订阅发布主题 (1)TCP设备相关指令 (2)调试 (三)ESP8266接入巴法云 前言 巴法云物联网云平台,就如 ...
- lua语言学习之自定义wireshark插件来解析自定义协议
lua语言学习之自定义wireshark插件来解析自定义协议 关于wireshark这个抓包工具 关于lua 使用lua写wireshark插件 wireshark接口文档 如何在wireshark使 ...
- 爱普生机器人与欧姆龙PLC Fins/Tcp协议驱动程序 自己开发,提供项目源码Fins/Tcp协议源码
爱普生机器人与欧姆龙PLC Fins/Tcp协议驱动程序 自己开发,提供项目源码Fins/Tcp协议源码
- python接入巴法云,TCP协议,MQTT协议示例
第一,tcp协议连接 说明: tcp服务器地址:bemfa.com 端口 8344 tcp协议详细订阅.发布指令,见接入文档:点击跳转 # -*- coding: utf-8 import socke ...
- ESP8266 连接巴法云
ESP8266代码 /** 智能语言控制控制,支持天猫.小爱.小度.google Assistent同时控制* 2021-08-12* QQ交流群:566565915* 官网https://bemfa ...
- ESP8266-01模块接入巴法云,SmartConfig智能配网,设置断电记忆模式,可以使用米家控制和普通开关控制
文章目录 前言 Demo下载地址 一.项目介绍 1.开关控制方式: 2.SmartConfig配网: 3.重置配网: 4.断电记忆模式切换: 5.通过MQTT设备云方式接入网络 二.使用步骤 1.文件 ...
- CF-IOT之LUA语言开发
概述 CFIOT内置了丰富的API接口,以模块的形式类聚这些API接口,并导入到内置的LUA虚拟机,供用户的LUA脚本调用,用户可使用CFIOT云端通讯协议远程更新LUA脚本和管理虚拟机,如关闭.启动 ...
- lua 给userdata设置元表_提高Lua语言开发效率的简单方法
概述 首先,lua是一门高效的(efficient).轻量级(lightweight)的嵌入式脚本语言(embeddable scripting language),这是它的官方网站的标语. 其次,l ...
最新文章
- 微信公众号开发 微信消息回复开发 文本消息 图片消息开发
- [云炬创业学笔记]第一章创业是什么测试13
- windows bat 进入或跳转到其它目录命令
- 消费物联网与工业物联网有何区别?
- 机器学习,计算机视觉相关资料
- java装箱和拆箱_java自动装箱和拆箱
- 今日重磅!恺明大神又一力作!重新思考万能的ImageNet预训练模型
- php实现关键字搜索mysql数据_PHP实现多个关键词搜索查询功能示例
- matlab predict函数并行,Matalb 智能算法第29个案例运行报错问题
- c语言格式化 病毒源码,【病毒】震荡波病毒C语言源码
- java反射机制历史_java的反射机制浅谈
- python下载离线包
- 记录一下最近安装的Tongweb
- AI语音克隆软件安装和使用教程
- 电工知识:常用电子元件名称及其对应图片实用大全
- 在微软工作365天,还你一个我眼中更加真实的微软
- 15. 徽章 和 面包屑导航
- ARM如何判断合法的立即数
- Vue.js 事件处理器,医院的胸牌佩戴在哪,给医生护士佩戴赞赏胸牌,对服务质量打分。
- Linux C++ 网络库 Muduo