今天我们白嫖的是4G 模组 MQTT 通信功能!以AIR708E开发板为例
从MQTT介绍,演示功能概述,准备硬件环境,准备软件环境,代码示例介绍等给大家展示明白:
1、MQTT介绍
MQTT是一种低开销、低带宽占用的即时通讯协议,可以用极少的代码和带宽为远程设备提供实时可靠的消息服务。它适用于硬件性能低下的设备以及网络状况不佳的环境,因此在物联网(IoT)小型设备和移动应用等方面有广泛应用。
MQTT采用发布/订阅通信模型,客户端可以发布消息到主题(Topic),也可以订阅主题来接收消息。这种模式解耦了消息的发送者和接收者。
MQTT的消息传递质量分为三种:最多一次(QoS0)不保证交付,至少一次(QoS1)确保至少到达但可能重复,只有一次(QoS2)确保仅到达一次。
2、演示功能概述
本demo通过使用AIR708E开发板,带你快速体验通过MQTT协议进行数据接收与发送。
3、准备硬件环境
3.1 AIR780E开发板
3.2 TYPE-C线快充线
4、准备软件环境
注:以下软件下载链接,请复制后,粘贴到浏览器URL地址栏进行下载;
4.1 MQTT.fx
MQTT客户端软件下载:
https://docs.openluat.com/air780e/luatos/app/socket/mqtt/
4.2 Luatools
Luatools日志打印与程序烧录软件下载:
https://doc.openluat.com/wiki/52?wiki_page_id=5071
4.3 core固件和源码脚本
注:core固件,是基础环境,该固件由合宙官方提供,用户不可修改;源码脚本,为应用程序,可由客户自行修改;
5、软硬件资料
●AIR708E开发板原理图,打开Air780E产品手册,访问页面中的《EVB_Air780X_V1.6.zip》
●API使用介绍说明
●AIR708E开发板使用说明,打开Air780E产品手册,访问页面中的《Core_Air780E使用说明V1.0.5.pdf》
5.1 开发板按钮与指示灯图示与说明
5.2 硬件安装与连接
5.2.1 SIM卡安装
5.2.2 实物连接图
注:开发板与电脑通过TYPE-C线连接,用于通信与供电,所以必须使用“支持快充”的TYPE-C线才可以;
6、代码示例介绍
6.1 DEMO软件流程图
6.2 配置
6.2.1 MQTT的4个重要配置
localmqtt_host="lbsmqtt.airm2m.com"(MQTT服务器地址,这里使用公用测试服务器)
localmqtt_port=1884(MQTT端口)
localuser_name="user"(MQTT服务器登录用户名)
localpassword="password"(MQTT服务器登录密码)
6.2.2 MQTT的2个重要主题
localpub_topic="/luatos/pub/123"--..(mcu.unique_id():toHex())(设备发布主题,以下方源码55行,可自行修改)
localsub_topic="/luatos/sub/123"--..(mcu.unique_id():toHex())(设备订阅主题,以下方源码56行,可自行修改)
6.2 完整程序清单
注:完整复制后保存为main.lua,可直接使用
7、功能验证
7.1 开机
按图1所示通过TYPE-C线将开发板与电脑连接无误后,开发板电源指示红灯常亮,网络指示灯灭,如下图:
此时按下开机键,约2秒后释放,等待几秒网络指示绿灯常亮,即开机成功,如下图:
此时电脑设备管理器中会发现下图所示几个设备,即代表开机成功!
7.2 打开Luatool软件工具并进入项目管理测试页面
7.3 按序号步骤创建项目
7.4 按如下步骤进行程序烧录
7.5 观察下载过程后确认烧录结果
7.6 查看调试日志,获取设备发布与订阅主题
7.7 打开MQTT客户端MQTT.fx应用程序并配置
7.7.1 MQTT客户端基本配置
ProfileName:(可修改为你想要的名称)
BrokerAddress:http://lbsmqtt.airm2m.com(免费测试服务器,也可修改为自己的服务器)
BrokerPort:1883(端口号)
UserName:user
Password:password
7.7.2 两个重要主题
设备发布主题:861959068926349/up(设备向服务器发送数据使用)
设备订阅主题:861959068926349/down(接收服务器数据主题)
7.8 订阅设备主题
7.9 MQTT客户端给开发板发送数据
7.10 查MQTT客户端订阅的设备数据
8、总结
至此,我们已使用AIR708E开发板完成了MQTT通信的基本功能。
分享完毕。
审核编辑 黄宇