可以参考阿里云产品文档:如何使用MQTT协议模拟设备快速接入物联网平台_物联网平台-阿里云帮助中心
阿里云官网,点击控制台
选择物联网平台
开通实例,这里可以开通免费的公共实例,不需要使用企业版
进入实例,点击设备管理,点击产品,创建产品
填写产品名称,其他部分全部默认就可以了
点击创建好的产品,点击功能定义,定义的功能将会在其所属的设备下自动添加,之后上传的数据将会对应的显示在对应的功能中。点击编辑草稿,进入功能模块的添加,以温湿度模块为例。
添加自定义功能
功能名称将在后面数据显示区分,标识符为上传数据作为标识
完成功能定义后需要点击左下角发布上线,否则不会跟新功能定义
产品创建完成后,点击左侧的设备管理,点击设备,然后添加设备
这里产品选择刚刚创建好的产品名称,DeviceName为你要创建的设备名称
进入创建的设备,点击物模型数据,可以看见刚刚创建的功能定义
到此云端的设置已经完成,接下来是硬件端数据传输
树莓派上传数据
安装相关工具
python3 -m pip install paho-mqtt
阿里云示例代码软件包:
链接:https://pan.baidu.com/s/1DRar_CDeBcFwySjH3w0XkQ?pwd=zoqc
提取码:zoqc
将软件包在树莓派上解压后进入run.py文件
修改其中,ProductKey,DeviceName,DeviceSecret,POST,POST_REPLY,SET,这些topic用于阿里云上传协议认证,可以在刚刚阿里云物联网平台所创建的设备中找到。
三元素在设备——设备信息——DeviceSecret
topic在产品——设备所属产品——Topic列表——物理型通信Topic
需要注意的是填写时需要将${deviceName}改为你所创建的设备名称,否则将会上传失败
接下来要注意修改上传的JSON字符串,左边对应的应该为产品中自定义功能的标识符,右边为该文件中的变量,即上传数据,特别注意标识符不能出错,否则将上传失败
最后运行sudo python3 run.py,看见输出相应数据以及阿里云平台正常显示
sudo python3 run.py