初试连接阿里云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一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
目录
相关文章
|
1月前
|
SQL 关系型数据库 MySQL
2024年阿里云数据库创建_数据库账号密码和连接教程
阿里云数据库怎么使用?阿里云百科整理阿里云数据库从购买到使用全流程,阿里云支持MySQL、SQL Server、PostgreSQL和MariaDB等数据库引擎,阿里云数据库具有高可用、高容灾特性,阿里云提供数据库备份、恢复、迁移全套解决方案。详细阿里云数据库购买和使用流程方法如下
|
27天前
|
SQL 关系型数据库 MySQL
阿里云MySQL数据库价格、购买、创建账号密码和连接数据库教程
阿里云数据库使用指南:购买MySQL、SQL Server等RDS实例,选择配置和地区,完成支付。创建数据库和账号,设置权限。通过DMS登录数据库,使用账号密码访问。同地域VPC内的ECS需将IP加入白名单以实现内网连接。参考链接提供详细步骤。
367 3
|
17天前
|
弹性计算 关系型数据库 MySQL
阿里云数据库服务器价格表,数据库创建、连接和使用教程
阿里云数据库使用流程包括购买和管理。选择所需数据库类型如MySQL,完成实名认证后购买,配置CPU、内存和存储。确保数据库地域与ECS相同以允许内网连接。创建数据库和账号,设置权限。通过DMS登录数据库,使用账号密码连接。同一VPC内的ECS需添加至白名单以进行内网通信。参考官方文档进行详细操作。
76 3
|
1月前
|
SQL 关系型数据库 MySQL
阿里云数据库使用方法,从购买、创建数据库账号密码到连接数据库全流程
阿里云数据库使用方法,从购买、创建数据库账号密码到连接数据库全流程,阿里云数据库怎么使用?阿里云百科整理阿里云数据库从购买到使用全流程,阿里云支持MySQL、SQL Server、PostgreSQL和MariaDB等数据库引擎,阿里云数据库具有高可用、高容灾特性,阿里云提供数据库备份、恢复、迁移全套解决方案
336 0
|
2月前
|
API 网络安全
阿里云视觉智能平台中人脸搜索功能在长时间不使用后第一次使用时出现连接失败
阿里云视觉智能平台中人脸搜索功能在长时间不使用后第一次使用时出现连接失败
228 2
|
2月前
|
人工智能 自然语言处理 搜索推荐
阿里云推出企业级大模型RAG系统,几次点击即可连接PB级知识库
阿里云推出企业级大模型RAG系统,几次点击即可连接PB级知识库
701 1
|
3月前
|
人工智能 Cloud Native PyTorch
阿里云 ACK 云原生 AI 套件中的分布式弹性训练实践
阿里云 ACK 云原生 AI 套件中的分布式弹性训练实践
148648 4
|
5月前
阿里云 vps 关机 重启 无法连接
阿里云 vps 关机 重启 无法连接
255 0
|
6月前
|
应用服务中间件
IDEA 配置部署JavaWeb项目在阿里云服务器的tomcat上,成功连接服务器,但Artifact 没有成功部署
IDEA 配置部署JavaWeb项目在阿里云服务器的tomcat上,成功连接服务器,但Artifact 没有成功部署
439 0
|
7月前
|
存储 API 开发工具
将阿里云OpenAPI与App Inventor连接
将阿里云OpenAPI与App Inventor连接
329 1

热门文章

最新文章