[AliOS-Things 之 MQTT] 接入阿里云物联网套件

简介:

阿里开发 AliOS-Things 的主要动机,应该就是让别的商家利用 AliOS-Things 快速接入阿里云平台,所以我们可以直接利用 AliOS-Things 提供的 mqttapp 示例进行快速接入。

关于 AliOS 的系列博客,请参考 AliOS-Things系列学习笔记-目录

云端操作

在云端的操作主要包括如下几步:

  1. 开通物联网套件
  2. 创建产品,拿到 ProductKey
  3. 创建设备,拿到 DeviceName 和 DeviceSecret
  4. 定义 Topic $(PRODUCT_KEY)/$(DEVICE_NAME)/data,并设置权限为”设备具有发布与订阅”

注意第 4 步不要漏掉了,我之前就是没有添加这个 Topic,在云端查看日志一直提示失败。

具体步骤在阿里云的官方写得比较清楚了,请移步 设备接入准备

修改参数

Demo 程序所在路径是 AliOS-Things/example/mqttapp。由于 AliOS-Things 直接支持作为 Linux 平台的应用程序,所以即使没有 MK3060 开发板的话,也可以直接在 Linux 下跑这个 Demo,亲测没问题。

我们在云端操作时获取的三个参数需要在这里排上用场,根据这三个参数修改文件 AliOS-Things/example/mqttapp/mqtt-example.c 的 38~40 行代码,例如我是:

1
2
3
#define PRODUCT_KEY             "sbYCVxN7htJ"// "BfKxBDSjWCH"
#define DEVICE_NAME "alios-test-device" //"aos_mqtt_test"
#define DEVICE_SECRET "cfety4D51cAaHiG9JORTn7vGpVeHBy5O" //"zcBZ5TB9cfAylUGo1flH0o47PxS8Mqu2"

在设备端运行

Linux 平台

如果是 Linux 平台,则直接可以编译并运行程序了。如果你之前操作无误的话,程序运行后会连上阿里云并向其推送消息。

下图是我的示例:

![](./mqtt.png)

可以看到,订阅和推送 Topic 都成功了。

MK3060 平台

如果是在开发板 MK3060 上运行,则将程序编译并烧写到开发板上后,还需要执行 shell 命令让其连接到 WiFi 热点。连接上热点后,MQTT 程序才会真正运行。

让设备连接到 WiFi 热点需要执行命令 sta,其具体格式是 sta 热点的名字 热点的密码,例如我的热点名是 “ABC”,热点密码是 “ABC8881033”,则我就执行命令:

1
# sta ABC ABC8881033

下图是连接连接热点时的日志截图:

![](./connect_ap.png)

下图是 MQTT 示例运行时的日志截图:

![](./publish_success.png)

学习资料

相关实践学习
快速体验阿里云云消息队列RocketMQ版
本实验将带您快速体验使用云消息队列RocketMQ版Serverless系列实例进行获取接入点、创建Topic、创建订阅组、收发消息、查看消息轨迹和仪表盘。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
4月前
|
消息中间件 安全 物联网
海量接入、毫秒响应:易易互联携手阿里云构筑高可用物联网消息中枢
面对换电生态高速发展的通信挑战,易易互联通过采用阿里云 MQTT + RocketMQ 的融合解决方案,成功构建了“海量接入、实时响应、弹性处理、安全可信”的物联网通信底座。该架构不仅显著提升了系统稳定性与可扩展性,更保障了高并发场景下的业务连续性,为实现“让换电成为营运补能第一选择”的战略目标提供了坚实的技术支撑。
272 37
|
4月前
|
消息中间件 安全 物联网
海量接入、毫秒响应:易易互联基于 Apache RocketMQ + MQTT 构筑高可用物联网消息中枢
易易互联科技有限公司是吉利集团旗下专注于换电生态的全资子公司,致力于打造安全、便捷、便宜的智能换电网络。公司依托吉利GBRC换电平台,基于电池共享与车辆全生命周期运营,已布局超470座换电站,覆盖40多个城市,计划2027年达2000座。面对海量设备高并发连接、高实时性要求及数据洪峰挑战,易易互联采用阿里云MQTT与RocketMQ构建高效物联网通信架构,实现稳定接入、低延迟通信与弹性处理,全面支撑其全国换电网络规模化运营与智能化升级。
338 1
海量接入、毫秒响应:易易互联基于 Apache RocketMQ + MQTT 构筑高可用物联网消息中枢
|
8月前
|
物联网
(手把手)在华为云、阿里云搭建自己的物联网MQTT消息服务器,免费IOT平台
本文介绍如何在阿里云搭建自己的物联网MQTT消息服务器,并使用 “MQTT客户端调试工具”模拟MQTT设备,接入平台进行消息收发。
2912 42
|
8月前
|
物联网
如何在腾讯云等平台搭建自己的物联网MQTT服务器Broker
物联网技术及MQTT协议被广泛应用于各种场景。本文介绍物联网MQTT服务助手下载,如何搭建自己的物联网平台,并使用 “MQTT客户端调试工具”模拟MQTT设备,接入平台进行消息收发。
677 37
|
10月前
|
监控 物联网 网络性能优化
【杂谈】-MQTT与HTTP在物联网中的比较:为什么MQTT是更好的选择
通过上述分析,可以看出MQTT在物联网应用中的确是更好的选择。其高效的通信模型、低带宽消耗、稳定的连接保持机制以及可靠的消息质量保证,使其在各种物联网场景中都能表现出色。开发者在设计和实现物联网系统时,应优先考虑采用MQTT协议,以充分发挥其在资源受限环境下的优势,提升系统的整体性能和可靠性。
2134 26
|
6月前
|
消息中间件 数据管理 Serverless
阿里云消息队列 Apache RocketMQ 创新论文入选顶会 ACM FSE 2025
阿里云消息团队基于 Apache RocketMQ 构建 Serverless 消息系统,适配多种主流消息协议(如 RabbitMQ、MQTT 和 Kafka),成功解决了传统中间件在可伸缩性、成本及元数据管理等方面的难题,并据此实现 ApsaraMQ 全系列产品 Serverless 化,助力企业提效降本。
|
4月前
|
消息中间件 Java Kafka
消息队列比较:Spring 微服务中的 Kafka 与 RabbitMQ
本文深入解析了 Kafka 和 RabbitMQ 两大主流消息队列在 Spring 微服务中的应用与对比。内容涵盖消息队列的基本原理、Kafka 与 RabbitMQ 的核心概念、各自优势及典型用例,并结合 Spring 生态的集成方式,帮助开发者根据实际需求选择合适的消息中间件,提升系统解耦、可扩展性与可靠性。
337 1
消息队列比较:Spring 微服务中的 Kafka 与 RabbitMQ
|
消息中间件 JSON Java
开发者如何使用轻量消息队列MNS
【10月更文挑战第19天】开发者如何使用轻量消息队列MNS
942 89
|
消息中间件 安全 Java
云消息队列RabbitMQ实践解决方案评测
一文带你详细了解云消息队列RabbitMQ实践的解决方案优与劣
432 83
|
消息中间件 存储 Kafka
MQ 消息队列核心原理,12 条最全面总结!
本文总结了消息队列的12个核心原理,涵盖消息顺序性、ACK机制、持久化及高可用性等内容。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。

相关产品

  • 物联网平台