IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> lua语言开发esp8266接入巴法云,mqtt和tcp协议 -> 正文阅读

[网络协议]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 = 1
        sck: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 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秒,可自行修改。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-10-22 11:17:36  更:2021-10-22 11:19:10 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 5:31:36-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码