更新时间:2022-02-24 GMT+08:00

设备服务数据上报

接口功能

当直连设备(网关)有数据需要上报或者非直连设备上报数据到网关时,网关需要调用设备服务数据上报接口将数据上报到物联网平台。

接口描述

1
2
HW_INT IOTA_ServiceDataReport(HW_UINT uiCookie, const HW_CHAR *pcRequstId, 
const HW_CHAR *pcDeviceId, const HW_CHAR *pcServiceId, const HW_CHAR *pcServiceProperties);

参数说明

字段

必选/可选

类型

描述

uiCookie

可选

unsign int

Cookie有效值1-65535。

pcRequstId

必选

String

请求ID,用来匹配之前平台下发的服务命令。当该次数据上报为此前某一次命令请求的响应时,需要填写此次命令请求的请求ID,该参数必须带结束符‘\0’。

pcDeviceId

必选

String

设备ID,该参数必须带结束符‘\0’。

pcServiceId

必选

String

服务ID,该参数必须带结束符‘\0’。

pcServiceProperties

必选

String

服务属性,该参数必须带结束符‘\0’。

接口返回值

参见2. 函数标准返回值

返回结果

广播名称

广播参数

成员

描述

IOTA_TOPIC_DATATRANS_REPORT_RSP/{deviceId}

HW_MSG对象

EN_IOTA_DATATRANS_IE_RESULT

数据上报结果。

  • 成功:0。
  • 失败:1。

示例

用户根据Profile格式使用Json组件拼装服务属性的内容(pcServiceProperties)。

1
2
3
HW_UINT *uiLen; 

IOTA_ServiceDataReport(1211, NULL, "xxxx_xxxx_xxxx_xxxx" , "DoorWindow", {\“status\”:\“OPEN\”});

数据上报结果接收。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
//开发者注册该函数进行设备服务数据上报后的处理 
HW_iNT Device_DataReportResultHandler(HW_UiNT uiCookie, HW_MSG pstMsg) 
{
    uiResult = HW_MsgGetUint(pstMsg, EN_IOTA_DATATRANS_IE_RESULT);
    if (HW_SUCCESS != uiResult) 
    {
        // retry with uiCookie 
        return 0;
    }
    return 0;
}
//在设备添加成功后立即注册服务数据上报结果接收广播 HW_BroadCastReg(“IOTA_TOPIC_DATATRANS_REPORT_RSP/XXXX_XXXX_XXXX_XXXX”, Device_AddResultHandler);