全部产品
阿里云办公

杭州节点设备状态通知

更新时间:2017-07-27 14:07:38

设备状态回调通知

IoT Hub可以将用户的设备状态信息主动通知用户服务端。目前提供两种方式:

topic方式 回调地址方式
服务器会把设备状态数据发送到您指定的topic主题,可以通过配置规则引擎把数据推送到mns服务器队列,然后您的服务器去消费mns消息即可。消息不丢失,稳定可靠,在高峰时有削峰填谷作用 服务器把状态数据直接通过http调用您的服务器,需要您自己实现webserver暴露一个http地址,流量大时您需要考虑使用lvs负载均衡,否则大量消息可能会导致您的服务器承受巨大压力

status_topic

  • 用户需购买ECS部署http服务来接受设备状态通知,并将部署服务的URL配置在控制台即可,如下图。这样IoT Hub就可以将设备的状态信息实时异步的回调给注册的服务地址,包括上线下线等状态。

status_url

对应的回调数据格式参考:

  • 设备激活数据格式

参数名为 datasign, data为json字符串格式,如下.

  1. data={
  2. "status":"active",
  3. "productKey":"xxx",
  4. "deviceName":"sss",
  5. "time":"2015-12-23 18:23:01" //发送回调时间点.
  6. }
  • 设备上下线回调

参数名为 datasign, data为json字符串格式,如下.

  1. data=
  2. {
  3. "status":"online"(或offline),
  4. "productKey":"xxx",
  5. "deviceName":"sss",
  6. "time":"2015-12-23 00:00:00", //发送回调时间点.
  7. "lastTime":"2015-12-23 18:23:00" //状态变更时最后一次通信时间
  8. }

如果是回调服务器地址方式,阿里云会以POST方式将上述信息发送给配置的服务器地址,请将对应地址设置为允许接收POST请求,否则会导致数据无法投递过去.

sign说明

此参数仅针对回调服务器地址方式传递,返回参数sign后,客户端可以按照一样的逻辑进行签名对比,以便识别请求来至于合法的阿里云服务端。

具体的加签逻辑如下:md5_32(productKey+data+productSecret)

举例:

  1. ProductKey=A,ProductSecret=B,data=C
  2. sign=md5_32(ACB)