003-STM32+W5500基本控制篇(阿里云物联网平台)-在阿里云物联网平台上一型一密动态注册设备(STM32+W5500)
2022/2/8 23:51:15
本文主要是介绍003-STM32+W5500基本控制篇(阿里云物联网平台)-在阿里云物联网平台上一型一密动态注册设备(STM32+W5500),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/STM32W5500AIR202A/aliyun.html" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>
<iframe frameborder="0" height="1500" name="ifd" scrolling="auto" src="https://mnifdv.cn/resource/cnblogs/STM32W5500AIR202A/aliyun.html" width="100%"></iframe>
说明
一定要看完前面的章节再来看这节.......
如果设备成批量的出售,谁也不想,一个一个的在网页上添加上设备
然后再一个一个的把设备信息(三元组)烧录到设备!!!!
这节呢就是不需要再烧录或者配置什么三元组,
所有的设备都是一个程序.
设备连接上网络以后自己去注册.
然后设备的名字我规定的是:
如果是WiFi或者以太网设备,就用MAC地址作为设备名字
如果是GPRS设备,就用IMEI作为设备的名字.
动态注册的方式(咱使用的是,一型一密免预注册)
先解释几个名词:一机一密 ;一型一密(预注册) ;一型一密(免预注册)
一机一密:
就是咱原先测试的在网页上去手动注册设备,然后把ProductKey、DeviceSecret、DeviceName
给设备,然后设备根据这三个信息组合计算下得到mqtt的连接参数,然后就连接通信了
https://help.aliyun.com/document_detail/74005.html?spm=a2c4g.11186623.6.585.3bb41114l1EN77
一型一密(预注册):
需要咱先在网页上注册上设备,然后把ProductKey、ProductSecret、DeviceName
给设备,然后设备通过https或者mqtt获取DeviceSecret
然后设备根据ProductKey、DeviceSecret、DeviceName这三个信息组合计算下得到mqtt的连接参数,然后就连接通信了
https://help.aliyun.com/document_detail/132111.html?spm=a2c4g.11186623.2.18.59863f82PBOpQr#task-1545804
一型一密(免预注册): 免预注册就是不用在云端自己注册设备,设备连接上网络以后设备自己去注册.
这样子的话,每个设备烧录同样的程序就可以.
不过每个设备程序里面的需要写上产品的ProductKey 和 ProductSecret 的值,这两个值是固定的.
主要是区分开你注册的时候注册到哪个产品下.
然后设备通过https或者mqtt接口注册设备,
注册的时候服务器会返回ClientID和DeviceToken 等参数
最后按照平台规定的组合MQTT参数
MQTT连接的方式注册设备:
https://help.aliyun.com/document_detail/132111.html?spm=a2c4g.11186623.2.18.59863f82PBOpQr#task-1545804
拼接注册返回的参数连接MQTT:
https://help.aliyun.com/document_detail/73742.html?spm=a2c4g.11186623.2.16.1c99426ff6ECtQ#concept-mhv-ghm-b2b
测试本节一型一密(免预注册)程序
1.打开本节的单片机程序
2.登录自己的云平台打开动态注册
注:选择哪个产品,设备就会注册到哪个产品下
打开动态注册
3,查看并替换自己产品的ProductSecret; ProductKey;
4,查看并替换自己instanceId
提示:在2021年7月30日之前购买的实例是没有 instanceId 的, 单片机程序里面可保持空
如果有, 则需要填写上.
5.编译下载后测试(可以观察日志口)
6.在物联网平台上刷新一下设备列表,会看到注册了一个新设备
单片机程序说明
1. 先浏览下阿里云文档
https://help.aliyun.com/document_detail/132111.html?spm=a2c4g.11186623.2.18.59863f82PBOpQr#task-1545804
2.连接阿里云的TCP服务器(MQTT服务器),发送MQTT连接协议(实际是注册设备协议)
先以SSL方式连接TCP服务器(MQTT服务器), 然后发送注册协议
提前说下哈, 设备的名字 DeviceName 在一开始初始化的时候就赋值了 (使用的设备的MAC地址)
根据阿里云的文档,组合发送注册设备信息,
使用MQTT发送完以后, 服务器会把注册信息通过MQTT发送给设备, 所以咱直接在MQTT接收回调函数里面获取就可以
把获取到的设备注册信息存储到flash, 然后重启
3.重启之后呢判断下已经注册了
4.设备使用注册的信息连接MQTT服务器
其实最终就是mqtt连接通信哈, 只不过mqtt的那些参数是使用先前的注册的设备信息进行拼接.
程序显得有点多, 因为除了注册以外, 我还把正常通信时使用SSL 或者 不使用SSL的程序同时加在了程序里面;
结语
有了动态注册以后,咱的设备就可以烧录一个程序
然后只要设备可以连接网络,那么注册的事情就交给设备去做了.
这篇关于003-STM32+W5500基本控制篇(阿里云物联网平台)-在阿里云物联网平台上一型一密动态注册设备(STM32+W5500)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-15鸿蒙生态设备数量超8亿台
- 2024-05-13TiDB + ES:转转业财系统亿级数据存储优化实践
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?
- 2024-05-09这种运行结果里的10.100000001,怎么能最快改成10.1?