第一步,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协议相关推荐

  1. 【基于Arduino IDE平台开发ESP8266连接巴法云】

    Arduino教程传送门

  2. esp8266 TCP接入巴法云物联网云平台

    文章目录 前言 (一)注册添加TCP设备 (1)注册巴法云账号 (2)创建主题 (二)订阅发布主题 (1)TCP设备相关指令 (2)调试 (三)ESP8266接入巴法云 前言 巴法云物联网云平台,就如 ...

  3. lua语言学习之自定义wireshark插件来解析自定义协议

    lua语言学习之自定义wireshark插件来解析自定义协议 关于wireshark这个抓包工具 关于lua 使用lua写wireshark插件 wireshark接口文档 如何在wireshark使 ...

  4. 爱普生机器人与欧姆龙PLC Fins/Tcp协议驱动程序 自己开发,提供项目源码Fins/Tcp协议源码

    爱普生机器人与欧姆龙PLC Fins/Tcp协议驱动程序 自己开发,提供项目源码Fins/Tcp协议源码

  5. python接入巴法云,TCP协议,MQTT协议示例

    第一,tcp协议连接 说明: tcp服务器地址:bemfa.com 端口 8344 tcp协议详细订阅.发布指令,见接入文档:点击跳转 # -*- coding: utf-8 import socke ...

  6. ESP8266 连接巴法云

    ESP8266代码 /** 智能语言控制控制,支持天猫.小爱.小度.google Assistent同时控制* 2021-08-12* QQ交流群:566565915* 官网https://bemfa ...

  7. ESP8266-01模块接入巴法云,SmartConfig智能配网,设置断电记忆模式,可以使用米家控制和普通开关控制

    文章目录 前言 Demo下载地址 一.项目介绍 1.开关控制方式: 2.SmartConfig配网: 3.重置配网: 4.断电记忆模式切换: 5.通过MQTT设备云方式接入网络 二.使用步骤 1.文件 ...

  8. CF-IOT之LUA语言开发

    概述 CFIOT内置了丰富的API接口,以模块的形式类聚这些API接口,并导入到内置的LUA虚拟机,供用户的LUA脚本调用,用户可使用CFIOT云端通讯协议远程更新LUA脚本和管理虚拟机,如关闭.启动 ...

  9. lua 给userdata设置元表_提高Lua语言开发效率的简单方法

    概述 首先,lua是一门高效的(efficient).轻量级(lightweight)的嵌入式脚本语言(embeddable scripting language),这是它的官方网站的标语. 其次,l ...

最新文章

  1. 微信公众号开发 微信消息回复开发 文本消息 图片消息开发
  2. [云炬创业学笔记]第一章创业是什么测试13
  3. windows bat 进入或跳转到其它目录命令
  4. 消费物联网与工业物联网有何区别?
  5. 机器学习,计算机视觉相关资料
  6. java装箱和拆箱_java自动装箱和拆箱
  7. 今日重磅!恺明大神又一力作!重新思考万能的ImageNet预训练模型
  8. php实现关键字搜索mysql数据_PHP实现多个关键词搜索查询功能示例
  9. matlab predict函数并行,Matalb 智能算法第29个案例运行报错问题
  10. c语言格式化 病毒源码,【病毒】震荡波病毒C语言源码
  11. java反射机制历史_java的反射机制浅谈
  12. python下载离线包
  13. 记录一下最近安装的Tongweb
  14. AI语音克隆软件安装和使用教程
  15. 电工知识:常用电子元件名称及其对应图片实用大全
  16. 在微软工作365天,还你一个我眼中更加真实的微软
  17. 15. 徽章 和 面包屑导航
  18. ARM如何判断合法的立即数
  19. Vue.js 事件处理器,医院的胸牌佩戴在哪,给医生护士佩戴赞赏胸牌,对服务质量打分。
  20. Linux C++ 网络库 Muduo

热门文章

  1. 仿站利器!一键去除冗余css
  2. 假如我是一台计算机作文,假如我是一台电脑作文
  3. 注解方式—解决mybatis实体类属性名和数据库字段名不一致问题
  4. 智能汽车与Qualcomm骁龙820A
  5. centos7连接华为san存储_云计算中的存储技术 | SPOTO 分享
  6. Python中LDA 计算 perplexity来确定主题数
  7. 《安全周报》2011年5月第3期
  8. [解释]“hardcode”是什么意思?
  9. 文件系统管理源码(MxsDoc)
  10. JAVA感知机的动态分类实现