低功耗4G模组:MQTT通信功能

电子说

1.3w人已加入

描述

​今天我们来学习使用合宙Air708E开发板的MQTT通信基本功能。

一、MQTT介绍

MQTT是一种低开销、低带宽占用的即时通讯协议,可以用极少的代码和带宽为远程设备提供实时可靠的消息服务。它适用于硬件性能低下的设备以及网络状况不佳的环境,因此在物联网(IoT)小型设备和移动应用等方面有广泛应用。

MQTT采用发布/订阅通信模型,客户端可以发布消息到主题(Topic),也可以订阅主题来接收消息。这种模式解耦了消息的发送者和接收者。

MQTT的消息传递质量分为三种:最多一次(QoS0)不保证交付,至少一次(QoS1)确保至少到达但可能重复,只有一次(QoS2)确保仅到达一次。

二、演示功能概述

本demo通过使用AIR708E开发板,带你快速体验通过MQTT协议进行数据接收与发送。

三、准备硬件环境

3.1 AIR780E开发板

3.2 TYPE-C线快充线

MQTT

四、准备软件环境

注:以下软件下载链接,请复制后,粘贴到浏览器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固件,是基础环境,该固件由合宙官方提供,用户不可修改;源码脚本,为应用程序,可由客户自行修改;

五、软硬件资料

●AIR708E开发板原理图,打开Air780E产品手册,访问页面中的《EVB_Air780X_V1.6.zip》

●API使用介绍说明

●AIR708E开发板使用说明,打开Air780E产品手册,访问页面中的《Core_Air780E使用说明V1.0.5.pdf》

5.1 开发板按钮与指示灯图示与说明

MQTT

MQTT

MQTT

MQTT

5.2 硬件安装与连接

5.2.1 SIM卡安装

MQTT

MQTT

5.2.2 实物连接图

MQTT

MQTT

注:开发板与电脑通过TYPE-C线连接,用于通信与供电,所以必须使用“支持快充”的TYPE-C线才可以;

六、代码示例介绍

6.1 DEMO软件流程图

MQTT

MQTT

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.3 完整程序清单

注:完整复制后保存为main.lua,可直接使用

MQTT

MQTT

七、功能验证

7.1 开机

按图1所示通过TYPE-C线将开发板与电脑连接无误后,开发板电源指示红灯常亮,网络指示灯灭,如下图:

MQTT

MQTT

此时按下开机键,约2秒后释放,等待几秒网络指示绿灯常亮,即开机成功,如下图:

MQTT

MQTT

此时电脑设备管理器中会发现下图所示几个设备,即代表开机成功!

MQTT

MQTT

7.2 打开Luatool软件工具并进入项目管理测试页面

MQTT

MQTT

图4

7.3 按序号步骤创建项目

MQTT

MQTT

MQTT

MQTT

7.4 按如下步骤进行程序烧录

MQTT

MQTT

MQTT

MQTT

7.5 观察下载过程后确认烧录结果

MQTT

MQTT

MQTT

MQTT

7.6 查看调试日志,获取设备发布与订阅主题

MQTT

MQTT

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(接收服务器数据主题)

MQTT

MQTT

7.8 订阅设备主题

MQTT

MQTT

7.9 MQTT客户端给开发板发送数据

MQTT

MQTT

7.10 查MQTT客户端订阅的设备数据

MQTT

MQTT

八、总结

至此,我们已使用AIR708E开发板完成了MQTT通信的基本功能。

​审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分