1、进入阿里云物联网平台选择公共实例
2、在产品下选择创建产品
产品名称:写上自己的产品名称
所属品类:自定义品类->直连设备
联网与数据:蜂窝(2G/3G/4G)
数据格式:ICA标准数据格式(Aink JSON)(后面上传数据需要使用此格式进行上传)
数据校验级别:弱校验
认证方式:设备密钥
3、在设备下选择添加设备
产品:选择刚刚创建好的产品名称
DeviceName:写上自己的设备名称
备注名称:可以不写
4、创建物模型
4.1、进入刚刚创建好的产品界面选择功能定义选项
4.2、点击编辑草稿进入功能定义
4.3、选择添加功能
此项会导致后面上传数据的发布格式不一样,具体见6.3
4.3.1、选择添加标准功能
选择其他功能来选择自己需要的功能
4.3.1、选择添加自定义功能
读写类型选择读写,其余选项按照自己的需求进行设置
5、在上位机软件上进行4G DTU模块的配置
5.1、工作模式选择阿里云
5.2、填写自己的设备证书编号
阿里云进入设备界面,点击DeviceSecret右侧的查看填写自己的设备证书编号
5.3、填写发布主题和订阅主题
进入产品界面,选择Topic类列表,选择物模型通信Topic
5.3.1、订阅
选择属性设置下的订阅格式
/sys/a1AsRPqqbsm/${deviceName}/thing/service/property/set
5.3.2、发布
选择属性上报下的发布格式
/sys/a1AsRPqqbsm/${deviceName}/thing/event/property/post
5.4、其他设置
可以根据阿里云官方文档去找得这些参数的具体设置,这里给出我的设置
5.5、保存所有参数
6、程序修改
6.1、初始化DTU参数
参数里选择DTU_WORKMODE_ALIYUN
dtu_config_init(DTU_WORKMODE_ALIYUN)
6.2、修改阿里云里的配置参数
此时的参数设置与第五步的配置一模一样
6.3、定义需要传输的数据
6.3.1、传输标准格式的数据
//此处给出一小段例子
char DTU_IndoorTemperature_DATA[300];
float indoor = 24;
sprintf(DTU_IndoorTemperature_DATA,
"{\"method\":\"thing.event.property.post\",\"id\":\"2564884\",\"params\":{\"IndoorTemperature\":%1f},\"version\":\"1.0.0\"}",indoor);
send_data_to_dtu((uint8_t *)DTU_IndoorTemperature_DATA, strlen(DTU_IndoorTemperature_DATA));
6.3.2、传输自定义类型的数据
//此处给出一小段例子
char DTU_BodyTemp_DATA[300];
float body = 38.3;
sprintf(DTU_BodyTemp_DATA,
"{\"method\":\"thing.service.property.post\",\"id\":\"2564885\",\"params\":{\"BodyTemp\":%1f},\"version\":\"1.0.0\"}",body);
send_data_to_dtu((uint8_t *)DTU_BodyTemp_DATA, strlen(DTU_BodyTemp_DATA));
版权声明:本文为W__winter原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。