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

news/2025/1/14 18:13:28/文章来源:https://www.cnblogs.com/luatos/p/18519245

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

一、MQTT介绍

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

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

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

二、演示功能概述

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

三、准备硬件环境

3.1 AIR780E开发板

 

3.2 TYPE-C线快充线

 

图片

四、准备软件环境

注:以下软件下载链接,请复制后,粘贴到浏览器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 开发板按钮与指示灯图示与说明

 

图片

 

图片

5.2 硬件安装与连接

5.2.1 SIM卡安装

 

图片

5.2.2 实物连接图

 

图片

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

六、代码示例介绍

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

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

 

图片

七、功能验证

7.1 开机

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

 

图片

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

 

图片

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

 

图片

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

 

图片

图4

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客户端订阅的设备数据

 

图片

八、总结

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/825019.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

低功耗4G模组:Air780EP之fskv开发示例

​ 今天我们学习合宙低功耗4G模组Air780EP的fskv开发示例。 一、简介兼容fdb的函数使用fdb的flash空间,启用时也会替代fdb库功能上与EEPROM是类似的fskv与fdb的实现机制导致的差异功能fskvfdbvalue长度4096255key长度6364空间利用率(对比)较低较高读取速度恒定脏数据影响速度,非…

低功耗4G模组HTTP网络协议应用

​ 大家好,今天我们来学习合宙Air780E模组LuatOS开发4G通信中HTTP网络协议的应用,实现模组和服务器之间数据的传输。一、HTTP概述 1.1 简介 HTTP是HyperTextTransferProtocol(超文本传输协议)的缩写。HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型。…

2024年10月总结及随笔之漏更及失而复得

2024年10月总结及随笔之漏更及失而复得1. 回头看 日更坚持了670天。读《数据湖仓》更新完成 读《数据工程之道:设计和构建健壮的数据系统》开更并持续更新2023年至2024年10月底累计码字1642797字,累计日均码字2451字。 2024年10月码字86801字,同比下降30.77%,环比下降6.65%…

在系统中部署两个版本JDK实现自由切换(windows

前言 ​ 在学习和工作中遇到不同的项目需要使用不同版本的JDK,可以通过以下办法实现jdk版本自由切换。 准备工作: ​ 准备两种不同版本的jdk(我用的是jdk8和jdk11) 链接附上: https://pan.baidu.com/s/1ZGhVYw6YITLUDJFmfLDGqw?pwd=vuz41.在系统变量中新建: 变量名:CLA…

1 The Ecology of Financial Market

阅读 Trades, Quotes and Prices 的第一章。 Originally Posted at: https://clouder0.com/zh-cn/posts/financial-market-ecology/ How Trade Happens Traditional Way 金融市场都有哪些参与者?他们的各自的目的是什么? 任何交易,总是有两个参与方:Buyer & Seller. 买…

《数字经济产业》

今天,我为大家推荐一篇《数字经济产业集群发展 白皮书》报告。 报告 共 71 页。从 “数字经济概念、特征、典型产业集群案例、要素、策略、产业展望” 等六个方面,详细解读了《2023 数字经济产业》。 很重磅。#01#【关键要点】一、数字经济定义据资源作为关键生产要素、以现代…

requests接口响应出现乱码

在项目里使用requests去请求接口出现一串二进制 如:测试时却显示正常,使用的是另一个项目的虚拟环境(python 3.11.5)切换到本项目中,使用本项目虚拟环境仍然乱码(python3.11.5) 在本项目中尝试切换到3.10,创建一个新的虚拟环境,并保留comment.py脚本只需要的包,仍然报…

CUDA 编程学习 (5)——内存访问性能

现代DRAM结构由于核心速度限制,通过burst模式和多Banks结构提高带宽。CUDA中,warp级聚合内存访问减少DRAM请求,提升效率。分块访问模式通过将数据加载到共享内存中,降低全局内存访问频率,进一步优化CUDA内存访问性能。1. DRAM 带宽 1.1 DRAM 核心阵列结构每个 DRAM 核心阵…

射蜡工序流程图

包含工序:射蜡件、射水溶芯、射尿素芯、化芯、射刺头、射冷蜡块、射牙套、射帽。 前后序:(射芯射配件转至射蜡件)、平行工序(射水溶芯、尿素芯、牙套、刺头) 工序交集点:射水溶芯、射尿素芯 转修蜡修芯 转射蜡件,化芯转修蜡,射蜡首检件转检验,检验合格转修蜡。

定时调度框架Quartz使用

使用背景 在最近的项目中遇到一个需要使用到动态定时任务的需求,即定时任务的调用时间不是在某个固定时间自动执行,而是由用户控制,并且需要持久化。因此在网上搜了一下,发现了一个基于Java开发的Quartz定时任务调度框架,很符合我的需求,因此记录一下便于以后再次使用。 …

网络重置后WiFi列表消失

打开服务 启动WLAN AutoConfig

当然不是草台班子 云译网 原型设计+概要设计

作业所属课程 软件工程2024作业要求 2024秋软工实践团队作业-第二次作业目标 设计出原型与后端架构团队名称 当然不是草台班子团队成员学号 姓名102201427 侯丽珂102201426 郑嘉祺102201241 戴康怡102201218 肖晗涵112200328 谢李东292300304 陈鹭102201242 魏儀阳082100170 朱…