打印
[新唐博主]

MQTT协议应用实例 - 基于NuMaker-IoT-M487平台,轻松完成云连接

[复制链接]
9786|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
21ic小管家|  楼主 | 2023-5-26 09:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
MQTT 协议应用实例
基于 NuMaker-IoT-M487 平台,轻松完成云连接
NuMaker-IoT-M487 开发板提供多元连网方式与接口。基于NuMaker-IoT-M487 开发板,通过与 Wi-Fi 模块进行 AT 指令串口通信,可快速实现与云连接的 IoT物联典型开发应用实例。入门教程包含如何在您的计算机获取开发软件、实例编译、固件下载以及连网、连接云测试。

NuMaker-IoT-M487 开发板整合常用组件,内建多轴传感器,提供兼容 Arduino UNO 与 mikroBUS™ 接口,不论是 GPIO、UART、ADC、PWM、SPI 或 I2C 等等都能连接;外挂 SPI Flash 及提供 microSD 卡插槽。

软件需求
Window 7/8/10 操作系统
Arm Keil MDK v5 – 工程编译软件
Tera Term – 终端联机工具
阿里巴巴 AliOS Things 开发包(https://github.com/wosayttn/AliOS-Things/tree/numicro)

硬件需求
NuMaker-IoT-M487 开发工具包
USB Micro 数据传输线 1 条
可连接网际网络的 Wi-Fi Router 1 台

第一步
从 Github website 下载开发软件
请进入代码仓库页面,操作步骤如图所示:最后,解压缩下载的档案。仓库代码页面地址:https://github.com/wosayttn/AliOS-Things/tree/numicro
第二步
mqttapp 工程编译
进入解压缩的目录
\AliOS-Things\projects\Keil\mqttapp@numicro-iotm487\keil_project
并打开 mqttapp@numaker-iot-m487 Keil 工程并进行工程重新建置。

Keil工程重新建置成功后,输出的二进制映像档案输出路径
\AliOS-Things\projects\Keil\mqttapp@numicro-iotm487\keil_project\Objects\mattapp@numaker-iot-m487.bin

第三步
固件下载
简易的下载方法: 透过拖拉二进制映像档案(mattapp@numaker-iot-m487.bin)到 NuMicro MCU 虚拟磁盘或是使用传送到 NuMicro MCU 虚拟磁盘的方式,即可完成固件下载。

(1) NuMicro MCU 虚拟磁盘  
首先,配置 NuMaker-IOT-M487上的 ISW1,将四个开关拨到 ‘ON’ 的位置,如 图 1 所示。配置完成后,将开发板使用 Micro USB 连接线连接计算机(图2),我的计算机将出现一个 NuMicro MCU 虚拟磁盘。接下来,我们将使用这个虚拟磁盘来进行固件下载。(注意:若需要进行 IAR/MDK 源码除错功能,需要将第 4 个指拨开关切换回到 OFF 的位置。)


图1:NuMaker-IoT-M487 开发板 ISW1 配置

图2:NuMaker-IoT-M487 连接计算机 USB 端口

(2) 刻录二进制执行档案
拖拉二进制映像档案至 NuMicro MCU 磁盘,完成固件下載。mqttapp示例的二进制映像档案mqttapp@numaker-iot-m487.bin 整体路径如下。
\AliOS-Things\projects\Keil\mqttapp@numicro-iotm487\keil_project\Objects\mattapp@numaker-iot-m487.bin

(3) 测试Wi-Fi本地端连网
使用 Tera Term 终端软件,操作 AliOS Things 的命令行功能。串口的配置如图所示。(注意:
Nuvoton Virtual Com Port 对应的串口编号可在设备管理器内找到。例如: 串口编号为 COM30。)


打开串口通信后并且按下板子的 Reset 键。待系统重置后,Tera Term 终端画面印出开机信息。

首次启动时需要手动配网,配网命令如下
netmgr connect ssid password open|wep|wpa|wpa2
ex: ssid: NT_ZY_BUFFALO, password: 12345678

第四步
测试连接阿里云云端服务
连接阿里云 MQTT 云端服务器,需要申请三元组信息、并在 mqtt_example.c 代码内配置三元组信息,mqttapp 代码默认的三元组信息為测试使用。在成功连结 Wi-Fi 局端网络后,mqttapp 示例将自动联机至阿里云 MQTT 云端服务器。使用自行申请的三元组信息进行产品开发与测试,关于阿里云三元组信息的申请、配置,可请参照 AliOS Things 官方的说明文件。

阿里云三元组信息配置示例


成功连接阿里云 MQTT 云端服务器示例



使用特权

评论回复
沙发
两只袜子| | 2023-6-20 15:15 | 只看该作者
挺强悍的开发版

使用特权

评论回复
板凳
sanfuzi| | 2023-8-9 16:47 | 只看该作者
如何应用MQTT协议到物联网中              

使用特权

评论回复
地板
primojones| | 2023-8-9 17:01 | 只看该作者
MQTT协议基于发布/订阅模式进行消息传输。客户端可以订阅一个或多个主题,以便接收与之相关的消息。当有新的消息发布到相应主题时,所有已订阅该主题的客户端都会收到通知。

使用特权

评论回复
5
saservice| | 2023-8-9 17:06 | 只看该作者
MQTT协议需要通过代理进行通信,因此需要选择合适的MQTT代理,例如Eclipse Mosquitto、VerneMQ、EMQ X等。

使用特权

评论回复
6
usysm| | 2023-8-9 17:12 | 只看该作者
主要用于低功耗、远程、高可靠性的物联网应用。

使用特权

评论回复
7
sdlls| | 2023-8-9 17:24 | 只看该作者
在进行MQTT通信时,需要采取适当的安全保护措施,特别是在涉及敏感数据或需要保密性的应用中。可以通过使用TLS/SSL进行加密传输、认证机制(如用户名密码认证、客户端证书等)来提高通信的安全性。

使用特权

评论回复
8
10299823| | 2023-8-9 17:34 | 只看该作者
对于对消息传输顺序要求较高或不允许数据丢失的应用,可以选择较高的QoS级别。

使用特权

评论回复
9
gygp| | 2023-8-9 20:46 | 只看该作者
MQTT协议采用客户端/服务器架构,客户端负责发起连接请求、发送和接收消息,而服务器负责处理连接请求、消息发布和订阅。在实际应用中,你需要搭建一个MQTT服务器,并配置好相应的主题和用户权限。

使用特权

评论回复
10
1988020566| | 2023-8-9 20:54 | 只看该作者
每个终端都和实现了 MQTT 协议的代理/服务器相连。

使用特权

评论回复
11
lzmm| | 2023-8-9 21:05 | 只看该作者
如何采用mqtt协议实现android消息推送

使用特权

评论回复
12
mmbs| | 2023-8-9 21:16 | 只看该作者
MQTT协议对单个消息的长度有限制,默认情况下,最大长度为256字节。

使用特权

评论回复
13
adolphcocker| | 2023-8-9 21:35 | 只看该作者
在选择MQTT版本时,需要确保所选版本与目标设备和服务的兼容性。

使用特权

评论回复
14
jimmhu| | 2023-8-9 21:49 | 只看该作者
MQTT协议有不同的版本,例如MQTT 3.1.1、MQTT 5.0.0等,需要根据具体需求选择合适的MQTT协议版本。

使用特权

评论回复
15
primojones| | 2023-8-9 22:34 | 只看该作者
需要合理管理订阅主题,以确保消息发送和接收的正确性和效率。避免创建过多的订阅主题,同时确保订阅的主题与应用需求相匹配。

使用特权

评论回复
16
gygp| | 2023-8-13 21:36 | 只看该作者
MQTT协议基于TCP/IP网络传输,可能会受到网络延迟和丢包的影响。

使用特权

评论回复
17
51xlf| | 2023-8-13 21:44 | 只看该作者
MQTT协议需要按照特定的格式传输数据,因此需要注意数据格式的正确性。

使用特权

评论回复
18
kkzz| | 2023-8-13 21:55 | 只看该作者
MQTT是一种轻量级的通信协议,适用于物联网等有限带宽和高延迟的环境。在应用中,需要合理规划和分配网络带宽以及考虑延迟问题,以确保消息传输的效率和实时性。

使用特权

评论回复
19
updownq| | 2023-8-14 08:29 | 只看该作者
在应用中,需要合理处理MQTT连接错误和异常情况

使用特权

评论回复
20
uiint| | 2023-8-14 08:40 | 只看该作者
MQTT是一种轻量级协议,在数据传输时应注意控制消息负载的大小

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:祝大家天天开❤ ///w/// 有问题咨询联系QQ:3326242524

2749

主题

6436

帖子

239

粉丝