Releasing Data
API Function
This API is used by a directly connected device to release data to the platform or used by a gateway to release data received from an indirectly connected device to the platform. Different from the parameters of the API Reporting Device Data, topic of this API is fixed at /cloud/signaltrans/v2/categories/data, and pbstrServiceData serves as the message body (containing the header and body) and is transmitted by the AgentLite SDK without format adjustment or assembling.
API Description
1 | HW_INT IOTA_MqttDataPub (HW_UINT uiCookie, const HW_UCHAR *pucTopic, HW_UINT uiQos, const HW_BYTES *pbstrServiceData);
|
Parameter Description
| Parameter | Mandatory or Optional | Type | Description |
|---|---|---|---|
| uiCookie | Optional | unsign int | The value ranges from 1 to 65535. |
| pucTopic | Mandatory | String | Topic of the data to be released. The value must end with \0. |
| uiQos | Mandatory | unsign int | Value of MQTT. Generally, the value is 1. |
| pbstrServiceData | Mandatory | HW_BYTES | Packet body of the data to be released. |
Return Value
For details, see Function Return Values.
Output
| Broadcast Name | Broadcast Parameter | Member | Description |
|---|---|---|---|
| IOTA_TOPIC_MQTT_DATA_PUB_RSP | HW_MSG object | EN_IOTA_DATATRANS_IE_RESULT | Data release result.
|
Example
1 2 3 | HW_BYTES bstrBody;
...
IOTA_MqttDataPub (1211, "/huawei/v1/devices/336d9bac-9ebf-44e9-95cf-efac5f05da3a/services/Storage", 1, bstrBody);
|
The device waits for the data reporting result.
1 2 3 4 5 6 7 8 9 10 11 12 | // Call this API to register the function for subsequent processing after the device service data is reported.
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;
}
// After the device is added, register a broadcast to receive the service data reporting result: HW_BroadCastReg("IOTA_TOPIC_MQTT_DATA_PUB_RSP", Device_AddResultHandler);
|
Last Article: Receiving a Command
Did this article solve your problem?
Thank you for your score!Your feedback would help us improve the website.