HCIP-IoT知识分享之应用侧API
自从 华为官方的 物联网 展示平台 准备 下线 ,我 就 被迫 想通 一件事 ,必须 自建 应用 ,自建 展示 界面。
不过这个阶段的 开发 属于 HCIP 阶段的课程 ,
学习路线网站建设学习路线 之后 学习 API 调用 ,获取物联网平台的 动态数据
AddDevice 创建设备 接口说明
应用服务器可调用此接口在物联网平台创建一个设备,仅在创建后设备才可以接入物联网平台。
- 该接口支持使用gateway_id参数指定在父设备下创建一个子设备,并且支持多级子设备,当前最大支持二级子设备。
- 该接口同时还支持对设备进行初始配置,接口会读取创建设备请求参数product_id对应的产品详情,如果产品的属性有定义默认值,则会将该属性默认值写入该设备的设备影子中。
- 用户还可以使用创建设备请求参数shadow字段为设备指定初始配置,指定后将会根据service_id和desired设置的属性值与产品中对应属性的默认值比对,如果不同,则将以shadow字段中设置的属性值为准写入到设备影子中。
CreateMessage 下发设备消息 接口说明
物联网平台可向设备下发消息,应用服务器可调用此接口向指定设备下发消息,以实现对设备的控制。应用将消息下发给平台后,平台返回应用响应结果,平台再将消息发送给设备。注意:此接口适用于MQTT设备消息下发,暂不支持其他协议接入的设备消息下发。
CreateCommand
下发设备命令
设备的产品模型中定义了物联网平台可向设备下发的命令,应用服务器可调用此接口向指定设备下发命令,以实现对设备的同步控制。平台负责将命令以同步方式发送给设备,并将设备执行命令结果同步返回, 如果设备没有响应,平台会返回给应用服务器超时,平台超时间是25秒。注意:此接口适用于MQTT设备同步命令下发,暂不支持NB-IoT设备命令下发。
调测“获取IAM用户Token”接口
在访问物联网平台业务接口前,应用服务器需要调用“获取IAM用户Token”接口鉴权,华为云认证通过后向应用服务器返回鉴权令牌X-Subject-Token。
应用服务器需要构造一个HTTP请求,请求示例如下:
POST https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens
Content-Type: application/json
{
"auth": {
"identity": {
"methods": [
"password"
],
"password": {
"user": {
"name": "username",
"password": "********",
"domain": {
"name": "domainname"
}
}
}
},
"scope": {
"project": {
"name": "xxxxxxxx"
}
}
}
}
设备接入到物联网平台后,便可与物联网平台进行通信。设备通过自定义Topic或产品模型方式将数据上报到平台,在控制台设置后,通过订阅推送的方式,将设备生命周期变更、设备属性上报、设备消息上报、设备消息状态变更、设备状态变更、批量任务状态变更等消息推送到您指定的服务器。
当前华为物联网平台支持HTTP/HTTPS和AMQP两种订阅方式:
推送机制:物联网平台向应用服务器推送消息后,如果应用服务器接收消息成功,会向物联网平台返回200 OK响应码。如果应用服务器无响应(或响应时间超过15秒),或者应用服务器向物联网平台返回非200响应码(如500,501,502,503,504等),表示消息推送失败,推送失败连续累计达到10次,物联网平台会将该订阅URL的主机地址加入黑名单保持5分钟,拉黑期间物联网平台对该主机地址暂停推送,5分钟后对该地址解除黑名单,重新进行推送。如果推送地址仍然无效,达到拉黑条件会再次触发黑名单机制;如果恢复,则会重新恢复正常推送。
如何进行数据订阅
应用服务器接入到“设备接入服务”后,在控制台创建订阅任务,也可以通过调用API接口进行数据订阅。
- 如果应用服务器取消了订阅后再重新订阅(URL不变),需要在物联网平台上重新上传CA证书。
- 如果应用服务器新增了订阅类型(新增URL),需要在物联网平台上加载与该URL对应的CA证书。即使新增URL使用的CA证书与原来推送的URL使用相同的证书,也需要重新上传CA证书。
- 点赞
- 收藏
- 关注作者
评论(0)