课时5:Paho MQTT客户端接入阿里云物联网平台
一、产品与设备的关系
二、物联网平台、网关和设备的关系的关系
三、在阿里云控制台注册一个产品与其设备
1.进入阿里云控制台:https://homenew./
2.进入阿里云物联网平台创建产品
3.三元组概念:
4.创建设备
设备创建后,会生成唯一属于设备的三元组信息
5.为产品定义Topic类
Topic类会在后面讲MQTT协议时详细介绍,暂时理解为一个能传递信息的黑匣子
注册格式:
操作权限可选为发布和订阅(都是以设备端为第一人称视角)
发布:设备端向 阿里云平台 发送Topic类信息
订阅:阿里云平台 向设备端发送Topic类信息
本历程共需定义4个Topic类:
两个订阅:
clearAlarm:清除报警
tempThresholdSet:设置温度阈值
两个发布:
tempHumUpload:当前温度值
tempAlarm:温度报警
6.为产品创建服务端订阅
此功能是为了将云端数据通过HTTP发送到应用端(后端)
完成以上操作后,历程中所对应的云端部署已经完成
可以在设备平台查看三元组信息
四、将三元组信息,通过串口写入STM32的FLASH中,即完成设备端部署
串口工具:
Tera Term使用说明:/qq_38688850/article/details/104112323
串口打印信息如下:
有//的行是需要我们输入的WIFI和三元组信息,后面是备注,原程序中没有
***************************************************************************** STM32 based AliIoT Client Demo ****** Without TLS ****** FW version 1.1.1 - Nov 4 , 10:16:27 *****************************************************************************Application parameter init. Send alarm when temprature>= 22 degrees Celsius,turn off Red LED when temprature<21 degrees Celsius*** WIFI connection ***Push the User button (Blue) within the next 5 seconds if you want to update the WiFi network configuration. //按下蓝色按钮修改WIFI信息Your WiFi parameters need to be entered to proceed.Enter SSID: aliyun //WIFI用户名You have entered aliyun as the ssid.Enter Security Mode (0 - Open, 1 - WEP, 2 - WPA, 3 - WPA2):3 //大多都是3 - WPA2,建议开热点,可以自己选择安全模式You have entered 3 as the security mode.Enter password: 123456789 //WIFI密码Initializing the WiFi modulefirmware version is : basic_AT_v2.1.2//WIFI固件版本号OK> WiFi module MAC address is: 3C:91:80:F1:AD:18Connecting to AP: aliyun Attempt 1/3 ...Connected to AP aliyunRetrieving the IP address.IP address: 192.168.43.3Push the User button (Blue) within the next 5 seconds if you want to update the device security parameters or credentials.//按下蓝色按钮修改三元组和域名信息Start to enter Ali Device Parameters: Region ID,Product Key,Device Name and Device SecretEnter Region ID: (example: cn-shanghai)cn-shanghai //输入域名,似乎大陆只有这一个read: --->cn-shanghai <---Enter Product Key: (example: a1b05Uexxxx)a1h2u5rMFUn //输入Product Keyread: --->a1h2u5rMFUn<---Enter device name: (example: mydevicename)smartthermometer//输入device nameread: --->smartthermometer<---Enter device secret: (example: 7o7GJ3odUE7pPnie07dzxxxxxxxxxxxx)**************** //输入device secret,哈哈,此处保密,不过你足够牛批是可以算出来的,不过到时候这个设备应该被我删除啦!!!read: --->****************<---MQTT server address is :a1h2u5rMFUn.iot-as--*** Start connecting to MQTT server ***Server address: a1h2u5rMFUn.iot-as-- : 1883TCP Connection in progress: Attempt 1/3 ...//先建立TCP链接,因为MQTT协议是建立于TCP链接之上的connected to serverProcessing MQTT ConnectionMQTT Client ID is :*************************************** //保密,嘻嘻MQTT Username is :*************************************** //保密,嘻嘻content:clientId3c9180f1ad18deviceNamesmartthermometerproductKeya1h2u5rMFUntimestamp85543key: *************************************** //保密,嘻嘻MQTT password generated successfully:*************************************** //保密,嘻嘻MQTT Connection Attempt 1/3 ...subscribe to topic: /a1h2u5rMFUn/smartthermometer/user/tempThresholdSet //订阅温度设置主题subscribe to topic: /a1h2u5rMFUn/smartthermometer/user/clearAlarm //订阅清除警报主题publish device status successfully : temprature = 13, humidity = 48publish device status successfully : temprature = 13, humidity = 48publish device status successfully : temprature = 13, humidity = 48 //成功上报温度数据到阿里云平台啦!!!
五、平台显示上线
至此,设备端到阿里云的链路打通
六、建立感性认知后,我打算花半个月从以下几个方向,详解从设备到云
设备端:
1.WIFI和三元组信息如何通过串口保存至FLASH,详细到FLASH寄存器和时序操作
2.温度信号如何采集,X-NUCLEO-IKS01A2传感器模到STM32–NUCLEO-L4R5ZI开发板的IIC通讯详解
3.对庆科EXT-AT3080的WIFI模块驱动的理解
4.阿里云协议栈应用流程
5.PC键盘输入字符,如何通过串口输入到STM32,以及如何回显
6. tera term串口工具配置推荐
网络协议:
1.TCP链接详解
2.MQTT协议
3.TLS
4.调用了哪些阿里云的API
七、总结:
今天完成了:
1.tera term串口工具安装
2.了解了产品,设备,网关,子设备的关系
3.了解了三元组的获取和配置使用设备端的方式,建立了设备到云的基础认知
4.掌握了阿里云平台物联网产品与注册流程
5.阿里云大学,基于STM32的端到端物联网全栈开发课程,学到第5课
补充:阿里云大学的视频讲的很简洁,很多需要自己上网找资料去学习。这正是锻炼我们学习能力的好机会!也希望我能坚持下去!!!
共同进步交流群:697226678
————————————————
版权声明:本文为CSDN博主「这么帅气的小机灵」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:/qq_38688850/article/details/104095679