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

简介:

1. 创建设备。



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





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

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


最终生成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]



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


 

结果:




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连接通信_设备多协议连接_设备开发指南_阿里云物联网套件-阿里云.pdf

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
目录
相关文章
|
消息中间件 监控 安全
|
网络协议 物联网 大数据
|
弹性计算 负载均衡 网络协议
|
安全 物联网 网络性能优化
|
网络协议 物联网 网络性能优化
|
安全 物联网 物联网安全
H8
|
自然语言处理 物联网 Unix
全网最佳IoT命令行超级工具箱|帮你轻松解决百万物联网设备测试和联调
作为一个物联网开发和学习人员,IoT设备协议的测试联调是工作中很重要的一环!我有很多时刻都想拥有一个能集成常见物联网协议的客户端工具可供使用。经过我一通查找,发现和我拥有相同问题的人不在少数。 不仅仅是IoT开发者,包括云厂商、网络运营商都有相同烦恼: 开源物联网平台Thingsboard: coap -> coap.js(需要安装node); 移动OneNET平台: mqtt -> mqtt.fx(几年没更新了); 电信AEP平台:自定义TCP协议 -> sokit工具(只支持windows); 阿里云物联网平台: Nb-IoT协议 -> 需要到电信或移动平台上进行测试; 作者:穆书伟
H8
540 0
|
传感器 消息中间件 弹性计算
IoT设备接入基础(一)|学习笔记
快速学习IoT设备接入基础(一)
IoT设备接入基础(一)|学习笔记
|
安全 网络协议 物联网
IoT设备接入基础(三)|学习笔记
IoT设备接入基础(三)|学习笔记
IoT设备接入基础(三)|学习笔记
|
存储 网络协议 安全
IoT设备接入基础(四)|学习笔记
IoT设备接入基础(四)|学习笔记
IoT设备接入基础(四)|学习笔记

热门文章

最新文章