初试连接阿里云IoT套件,教你一小时完成接入

简介:

1. 创建设备。

e6a74c0330b8a9f9cc3afb19abe639a147d588a9

8d4b67c117d228e855761da31999e9fab77652ab

0ac48e66efb69991e069fd054c814f5d28abb92f

717d0f1f698a2dad7ae3423eacec26a7e179efea

点击“查看设备”,点击“前往管理”点击添加设备

8b3b8d2c2ac2b694e551339cd2abe55a9c412605

9920858dee891735300a387666f66d0af0fa0335



从平台上获取相关的信息:

ProductKey:a1BekCto7zj

主机,端口a1BekCto7zj.iot-as-mqtt.cn-shanghai.aliyuncs.com:1883

DeviceName:Norra_Device_000001

DeviceSecret:OQzK9z8XoWrnH9LeeO4kIMFHk1WEu5ov

clientID:自己随意定义为12345

timestamp:自己随意定义为10,给上发的消息打上标识

 

参考Ref[3],获取相关信息:

规则:

mqttClientId: 12345+"|securemode=3,signmethod=hmacsha1,timestamp=10|"

例子:

"12345|securemode=3,signmethod=hmacsha1,timestamp=10|

 

规则:

mqttUsername: deviceName+"&"+productKey

例子:

"Norra_Device_000001&a1BekCto7zj"

 

规则:

mqttPassword: sign_hmac(deviceSecret,content)sign签名需要把以下参数按字典序排序后,再根据signmethod加签。

举例:password=hmacsha1("secret","clientId12345deviceNamedeviceproductKeypktimestamp789").toHexString();  //最后是二进制转16制字符串,大小写不敏感。 这个例子结果为FAFD82A3D602B37FB0FA8B7892F24A477F851A14

 

hmacsha1工具:http://tool.oschina.net/encrypt?type=2

例子:

clientId12345deviceNameNorra_Device_000001productKeya1BekCto7zjtimestamp10

的密码:

72770e19f50540d4a17b376808630ecd5c9a0fc9

7599a61f53c46d667a892e168030e7137d70c8b3

最终生成Mqtt connect内容:

10 8b 01 00 04 4d 51 54 54 04 C2 00 78 00 34 31 32 33 34 35 7C 73 65 63 75 72 65 6D 6F 64 65 3D 33 2C 73 69 67 6E 6D 65 74 68 6F 64 3D 68 6D 61 63 73 68 61 31 2C 74 69 6D 65 73 74 61 6D 70 3D 31 30 7C 00 1F 4E 6F 72 72 61 5F 44 65 76 69 63 65 5F 30 30 30 30 30 31 26 61 31 42 65 6B 43 74 6F 37 7A 6A 00 28 37 32 37 37 30 65 31 39 66 35 30 35 34 30 64 34 61 31 37 62 33 37 36 38 30 38 36 33 30 65 63 64 35 63 39 61 30 66 63 39

 

注意红色字体:

1. 第二个字节有关的Remaining Length field需要特别注意,容易弄错。

2. Playload里面的每个子项都由长度开头。

 

使用python连接阿里云IoT,参考Ref[4]

83e4881ed4679ec3c87b87e8d52db39f5616eef4


使用Wireshark监测通信和MQTT协议,参考Ref[2]

3f0a518b8ab6c08414b2b1093f53383c904d2b6a

 

结果:

90c53adc7d37483bbec538f4e9241b8473c6bbdc

de60d0094ae0f5dc339a928b31d0607567ac8457

9e492b6c4a34dbc03a7741f755606b5e0c189382

Ref[1]. http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.pdf

Ref[2].MQTT】使用Wireshark分析MQTT协议 - CSDN博客.pdfhttps://blog.csdn.net/yannanxiu/article/details/71310723

Ref[3]. MQTT-TCP连接通信_设备多协议连接_设备开发指南_阿里云物联网套件-阿里云.pdfhttps://help.aliyun.com/document_detail/30539.html?spm=a2c4g.11186623.6.592.fukmCQ

Ref[4]. Python】使用Python模拟设备接入阿里云物联网的MQTT服务器 - CSDN博客.pdfhttps://blog.csdn.net/yannanxiu/article/details/77185796



相关实践学习
消息队列RocketMQ版:基础消息收发功能体验
本实验场景介绍消息队列RocketMQ版的基础消息收发功能,涵盖实例创建、Topic、Group资源创建以及消息收发体验等基础功能模块。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
目录
相关文章
|
2月前
|
物联网 Linux C#
一键掌控未来!用 Uno Platform 打造跨平台 IoT 应用,轻松连接你的智能设备,让生活更智能!
微软的开源跨平台框架 Uno Platform 支持使用 C# 和 XAML 一次性编写代码并部署至多个平台,如 Windows、macOS、Linux、WebAssembly 及 iOS/Android,这使其成为 IoT 设备开发的理想选择。本文通过创建控制网络 LED 灯的应用,详细介绍了 Uno Platform 的环境搭建及 MQTT 客户端配置过程,实现了 LED 状态订阅与控制指令发送功能。该案例展示了 Uno Platform 在 IoT 领域的潜力及其跨平台优势,未来可扩展至更多设备类型,构建智能家居系统。
208 58
|
25天前
|
物联网 Linux Android开发
一键掌控未来!用 Uno Platform 打造跨平台 IoT 应用,轻松连接你的智能设备,让生活更智能!
本文通过具体案例介绍了如何使用微软的开源框架 Uno Platform 实现与 IoT 设备的集成。Uno Platform 支持一次编写、多平台部署,适用于 Windows、macOS、Linux、WebAssembly 及 iOS/Android。本例创建了一个控制网络 LED 灯的应用,详细说明了环境搭建、MQTT 客户端配置、主题订阅及控制指令发送等步骤。该案例展示了 Uno Platform 在 IoT 领域的潜力及其跨平台优势,未来可扩展至更多设备类型,构建智能家居系统。
40 0
|
3月前
|
存储 SQL JSON
【Azure IoT Hub】从设备端如何向IOT发送海量数据,可以使用从设备到IoT连接的直接传输吗?如何把IoT Hub中的数据存储到Azure Storage中?
【Azure IoT Hub】从设备端如何向IOT发送海量数据,可以使用从设备到IoT连接的直接传输吗?如何把IoT Hub中的数据存储到Azure Storage中?
|
6月前
|
消息中间件 弹性计算 物联网
【阿里云弹性计算】阿里云ECS在IoT领域的应用:支撑大规模设备连接与数据处理
【5月更文挑战第26天】阿里云ECS是弹性计算服务,支持IoT设备的连接与数据处理。通过MQTT协议实现设备快速接入,配合消息队列处理异构实时数据。ECS可用于部署数据处理工具、应用服务,如智能家居控制系统,通过弹性伸缩适应负载变化。结合阿里云其他服务,ECS为IoT提供完整解决方案,助力企业数字化转型。
88 0
|
6月前
|
安全 物联网 Android开发
安卓物联网(IoT)应用开发:连接物理世界
【4月更文挑战第14天】本文探讨了安卓平台在物联网应用开发中的角色,强调了设备连接性、数据处理、用户界面、安全性和可扩展性五大关键点。通过举例说明了一个智能家居应用的开发流程,涉及通信协议、用户界面设计、数据安全及可扩展性的实现。安卓物联网应用开发结合了多领域知识,为创造智能、安全的生活解决方案提供了广阔空间。
470 2
|
传感器 监控 物联网
阿里云IoT HaaS 510:快速实现物联网数据传输的利器
众所周知,物联网(IoT)是近年来日益热门的技术领域之一,它的广泛应用为人们的生活和工作带来了无限可能。在物联网应用中,数据的采集和传输是至关重要的一环。DTU是一种应用于物联网数据传输的终端设备,它可以将各类传感器、数据采集单元等通过串口RS232/485传输到DTU,再由DTU转发到4G网络上传至云端。阿里云IoT HaaS 510是一款开板式DTU产品,能够帮助企业快速搭建物联网平台,并实现数据的采集和传输,那么本文就来简单分享一下。
491 1
阿里云IoT HaaS 510:快速实现物联网数据传输的利器
|
编解码 小程序 JavaScript
阿里云IoT小程序应用开发和组件实践
通过实验,了解阿里云IoT小程序的应用开发的方法,了解其内置的基础组件使用,以及基于Vue.js实现可复用的自定义组件的方法。
434 1
|
运维 安全 物联网
使用阿里云 IoT 安全中心保护智慧遥控器
在物联网领域中,我们的 TO B 智慧设备,在发货之后,出现了不少困扰我们的安全问题,比如会被恶意安装应用,访问非法网站等,增加厂家的运维成本。 同时设备上的一些技术机密也容易被好事之人破解,对厂商构成商业损失,直到我们发现了阿里云物联网的一款安全防护产品 -- IoT 安全中心。它主打的 ID² 和安全运营有效的解决了我们的痛点。
494 3
|
自然语言处理 算法 物联网
阿里云正式发布「IoT消费电子应用引擎解决方案」,应用开发提效70%
阿里云正式发布「IoT消费电子应用引擎解决方案」,应用开发提效70%
300 0
|
物联网
《阿里云产品手册2022-2023 版》——阿里云IoT
《阿里云产品手册2022-2023 版》——阿里云IoT
342 0

热门文章

最新文章