更新时间:2022-02-24 GMT+08:00
数据发布
接口功能
当直连设备(网关)有数据需要发布或者非直连设备发布数据到网关时,网关需要调用设备服务数据发布接口将数据发布到物联网平台。其与数据上报功能上的区别在于,发布的数据可以自己规定Topic,同时包体需要自己组装给入参,内部只是透传,不对json体进行拼装。
接口描述
1 |
HW_INT IOTA_MqttDataPub (HW_UINT uiCookie, const HW_UCHAR *pucTopic, HW_UINT uiQos,const HW_BYTES *pbstrServiceData);
|
参数说明
字段 |
必选/可选 |
类型 |
描述 |
---|---|---|---|
uiCookie |
可选 |
unsign int |
Cookie有效值1-65535。 |
pucTopic |
必选 |
String |
发布数据的Topic,该参数必须带结束符‘\0’。 |
uiQos |
必选 |
unsign int |
Mqtt协议的相关的参数,一般为“1”。 |
pbstrServiceData |
必选 |
HW_BYTES |
发布数据的包体。 |
接口返回值
返回结果
广播名称 |
广播参数 |
成员 |
描述 |
---|---|---|---|
IOTA_TOPIC_MQTT_DATA_PUB_RSP |
HW_MSG对象 |
EN_IOTA_DATATRANS_IE_RESULT |
数据发布结果。
|
示例
1 2 3 |
HW_BYTES bstrBody;
…………
IOTA_MqttDataPub (1211, "/huawei/v1/devices/336d9bac-9ebf-44e9-95cf-efac5f05da3a/services/Storage", 1, bstrBody);
|
数据上报结果接收。
1 2 3 4 5 6 7 8 9 10 11 12 |
//开发者注册该函数进行设备服务数据上报后的处理
HW_iNT Device_DataPubResultHandler(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_MQTT_DATA_PUB_RSP”, Device_AddResultHandler);
|
父主题: 接口列表