26 #ifndef __AIOT_DM_API_H__    27 #define __AIOT_DM_API_H__    29 #if defined(__cplusplus)    38 #define STATE_DM_BASE                                           (-0x0A00)    43 #define STATE_DM_EVENT_ID_IS_NULL                               (-0x0A01)    48 #define STATE_DM_SERVICE_ID_IS_NULL                             (-0x0A02)    53 #define STATE_DM_RRPC_ID_IS_NULL                                (-0x0A03)    58 #define STATE_DM_MSG_PARAMS_IS_NULL                             (-0X0A04)    63 #define STATE_DM_MSG_DATA_IS_NULL                               (-0X0A05)    68 #define STATE_DM_INTERNAL_TOPIC_ERROR                           (-0x0A06)    73 #define STATE_DM_MQTT_HANDLE_IS_NULL                            (-0x0A07)    78 #define STATE_DM_LOG_RECV                                       (-0x0A08)    83 #define SATAE_DM_LOG_PARSE_RECV_MSG_FAILED                      (-0x0A09)   644 int32_t 
aiot_dm_setopt(
void *handle, aiot_dm_option_t option, 
void *data);
   676 #if defined(__cplusplus) uint32_t msg_id
消息标识符, uint64_t类型的整数, 与属性上报或事件上报的消息标示符一致 
Definition: aiot_dm_api.h:459
 
aiot_dm_msg_raw_data_t raw_data
Definition: aiot_dm_api.h:393
 
uint32_t code
设备端错误码, 200-请求成功, 更多错误码码查看设备端错误码 
Definition: aiot_dm_api.h:463
 
删除指定期望值消息结构体 
Definition: aiot_dm_api.h:346
 
uint64_t msg_id
消息标识符, uint64_t类型的整数 
Definition: aiot_dm_api.h:533
 
aiot_dm_recv_sync_service_invoke_t sync_service_invoke
Definition: aiot_dm_api.h:603
 
二进制数据的同步服务调用消息结构体, 服务器的JSON格式物模型数据将通过物联网平台的JavaScript脚本转化为...
Definition: aiot_dm_api.h:565
 
aiot_dm_msg_async_service_reply_t async_service_reply
Definition: aiot_dm_api.h:392
 
服务器下发的物模型二进制数据, 消息数据结构体参考aiot_dm_recv_raw_data_t 
Definition: aiot_dm_api.h:439
 
uint32_t data_len
云端应答数据的长度 
Definition: aiot_dm_api.h:471
 
data-model模块发送消息的消息结构体 
Definition: aiot_dm_api.h:369
 
物模型事件上报消息结构体 
Definition: aiot_dm_api.h:223
 
uint32_t data_len
二进制数据的长度 
Definition: aiot_dm_api.h:559
 
uint64_t msg_id
消息标识符, uint64_t类型的整数, 必须与属性设置的消息标示符一致 
Definition: aiot_dm_api.h:241
 
配置选项数量最大值, 不可用作配置参数 
Definition: aiot_dm_api.h:136
 
物模型二进制数据消息结构体, 服务器的JSON格式物模型数据将通过物联网平台的JavaScript脚本转化为二进制数...
Definition: aiot_dm_api.h:551
 
char * rrpc_id
RRPC标识符, 用于唯一标识每一个同步服务的特殊字符串 
Definition: aiot_dm_api.h:511
 
char * params
字符串形式的JSON数组, 必须以结束符'\0'结尾. 应包含用户要获取的期望属性的ID, 如"[\"LightSwitch"]" ...
Definition: aiot_dm_api.h:340
 
uint32_t code
设备端状态码, 200-请求成功, 更多状态码查看设备端通用code 
Definition: aiot_dm_api.h:267
 
char * data
设备端应答数据, 字符串形式的JSON结构体, 必须以结束符'\0'结尾, 如"{}"表示应答数据为空 ...
Definition: aiot_dm_api.h:249
 
aiot_dm_msg_type_t type
消息类型, 可参考aiot_dm_msg_type_t 
Definition: aiot_dm_api.h:383
 
aiot_dm_recv_type_t type
接收消息的类型, 可参考aiot_dm_recv_type_t 
Definition: aiot_dm_api.h:595
 
物模型二进制数据消息结构体, 发送的二进制数据将通过物联网平台的JavaScript脚本转化为JSON格式数据, 用户发送此消息前应确保已正确启用云端解析脚本 
Definition: aiot_dm_api.h:303
 
aiot_dm_msg_delete_desired_t delete_desired
Definition: aiot_dm_api.h:396
 
char * service_id
服务标示符, 字符串内容由用户定义的物模型决定 
Definition: aiot_dm_api.h:515
 
uint32_t data_len
待发送数据的长度 
Definition: aiot_dm_api.h:330
 
物模型属性上报消息结构体 
Definition: aiot_dm_api.h:213
 
char * rrpc_id
RRPC标示符, 用于唯一标识每一个同步服务的字符串, 必须与同步服务调用消息的RRPC标示符一致 ...
Definition: aiot_dm_api.h:285
 
aiot_dm_msg_type_t
data-model模块发送消息类型 
Definition: aiot_dm_api.h:148
 
服务器对设备上报的二进制数据应答, 消息数据结构体参考aiot_dm_recv_raw_data_t 
Definition: aiot_dm_api.h:434
 
char * device_name
消息所属设备的device_name, 若为NULL则使用通过aiot_dm_setopt配置的device_name 在网关子设备场景下, 可通过指定为子设备的product_key来发送子设备的消息到云端 
Definition: aiot_dm_api.h:379
 
异步服务应答, 消息结构体参考aiot_dm_msg_async_service_reply_t 
Definition: aiot_dm_api.h:169
 
aiot_dm_recv_raw_service_invoke_t raw_service_invoke
Definition: aiot_dm_api.h:605
 
aiot_dm_msg_sync_service_reply_t sync_service_reply
Definition: aiot_dm_api.h:391
 
char * rrpc_id
RRPC标识符, 用于唯一标识每一个同步服务的特殊字符串 
Definition: aiot_dm_api.h:569
 
char * event_id
事件标示符, 必须为以结束符'\0'结尾的字符串 
Definition: aiot_dm_api.h:227
 
uint8_t * data
指向待发送二进制数据的指针 
Definition: aiot_dm_api.h:326
 
char * params
服务器下发的属性数据, 为字符串形式的JSON结构体, 此字符串不以结束符'\0'结尾, 如"{\"LightSwitch":0}" ...
Definition: aiot_dm_api.h:493
 
char * service_id
服务标示符, 标识了要响应服务 
Definition: aiot_dm_api.h:289
 
char * product_key
消息所属设备的product_key, 不配置则默认使用MQTT模块配置的product_key 
Definition: aiot_dm_api.h:587
 
uint8_t * data
指向接受数据缓冲区的指针 
Definition: aiot_dm_api.h:555
 
uint8_t * data
指向接受数据缓冲区的指针 
Definition: aiot_dm_api.h:573
 
char * params
服务调用的输入参数数据, 为字符串形式的JSON结构体, 此字符串不以结束符'\0'结尾, 如"{\"LightSwitch":0}" ...
Definition: aiot_dm_api.h:519
 
char * params
字符串形式的JSON结构体, 必须以结束符'\0'结尾. 包含用户要上报的事件数据, 如"{\"ErrorNum":0}" ...
Definition: aiot_dm_api.h:231
 
aiot_dm_msg_raw_service_reply_t raw_service_reply
Definition: aiot_dm_api.h:394
 
同步服务调用消息结构体 
Definition: aiot_dm_api.h:529
 
aiot_dm_option_t
data-model模块的配置选项枚举类型定义. aiot_dm_setopt 函数入数data的数据类型根据不同的选项而不同 ...
Definition: aiot_dm_api.h:90
 
aiot_dm_recv_type_t
data-model模块接受消息类型枚举 
Definition: aiot_dm_api.h:410
 
uint32_t code
设备端状态码, 200-请求成功, 更多状态码查看设备端通用code 
Definition: aiot_dm_api.h:245
 
data-model模块接收消息的结构体 
Definition: aiot_dm_api.h:583
 
char * params
字符串形式的JSON结构体, 必须以结束符'\0'结尾. 应包含用户要删除的期望属性的ID和期望值版本号, 如"{\"LightSwitch":{"version":1},"Color":{}}" 
Definition: aiot_dm_api.h:350
 
同步服务调用消息结构体, 用户收到同步服务后, 必须在超时时间(默认7s)内进行应答 
Definition: aiot_dm_api.h:503
 
同步服务应答, 消息结构体参考aiot_dm_msg_sync_service_reply_t 
Definition: aiot_dm_api.h:174
 
指向用户上下文数据的指针 
Definition: aiot_dm_api.h:120
 
int32_t aiot_dm_deinit(void **p_handle)
销毁data-model实例, 释放资源 
Definition: aiot_dm_api.c:803
 
uint64_t msg_id
消息标识符, uint64_t类型的整数 
Definition: aiot_dm_api.h:489
 
同步服务应答消息结构体, 用户在收到AIOT_DMRECV_SYNC_SERVICE_INVOKE 类型的同步服务调用消息后, 应在超时时间(默认7s)内进行应答 
Definition: aiot_dm_api.h:277
 
服务器下发的同步服务调用消息, 消息数据结构体参考aiot_dm_recv_sync_service_invoke_t ...
Definition: aiot_dm_api.h:429
 
二进制格式的同步服务应答消息结构体, 用户在收到AIOT_DMRECV_RAW_SYNC_SERVICE_INVOKE 类型消息后...
Definition: aiot_dm_api.h:318
 
服务器下发的异步服务调用消息, 消息数据结构体参考aiot_dm_recv_async_service_invoke_t ...
Definition: aiot_dm_api.h:424
 
uint32_t code
设备端状态码, 200-请求成功, 更多状态码查看设备端通用code 
Definition: aiot_dm_api.h:293
 
char * service_id
服务标示符, 标识了要响应服务 
Definition: aiot_dm_api.h:263
 
aiot_dm_msg_property_set_reply_t property_set_reply
Definition: aiot_dm_api.h:390
 
模块依赖的MQTT句柄 
Definition: aiot_dm_api.h:100
 
获取期望属性值, 消息结构体请参考aiot_dm_msg_get_desired_t,  成功发送此消息后, 将会收到AIOT_DMRECV_GEN...
Definition: aiot_dm_api.h:190
 
aiot_dm_recv_async_service_invoke_t async_service_invoke
Definition: aiot_dm_api.h:602
 
void * aiot_dm_init(void)
初始化data-model实例 
Definition: aiot_dm_api.c:709
 
void(* aiot_dm_recv_handler_t)(void *handle, const aiot_dm_recv_t *recv, void *userdata)
data-model模块消息接收回调函数的函数原型定义, 当模块接收到服务器下行数据后将调用此回调函数, 并将消息数据通过recv参数输入给用户,  同时将用户上下文数据指针通过userdata参数返回给用户 
Definition: aiot_dm_api.h:619
 
uint32_t data_len
二进制数据的长度 
Definition: aiot_dm_api.h:577
 
char * data
设备端应答数据, 字符串形式的JSON结构体, 必须以结束符'\0'结尾, 如"{}"表示应答数据为空 ...
Definition: aiot_dm_api.h:271
 
物模型属性上报消息结构体 
Definition: aiot_dm_api.h:357
 
二进制格式的同步服务应答, 消息结构体参考aiot_dm_msg_raw_service_reply_t 
Definition: aiot_dm_api.h:184
 
数据接收回调函数, data-model接收物联网平台的下行消息后调用此回调函数 
Definition: aiot_dm_api.h:109
 
二进制格式的物模型上行数据, 消息结构体参考aiot_dm_msg_raw_data_t 
Definition: aiot_dm_api.h:179
 
char * data
指向云端应答数据的指针 
Definition: aiot_dm_api.h:467
 
属性设置应答, 消息结构体参考aiot_dm_msg_property_set_reply_t 
Definition: aiot_dm_api.h:164
 
aiot_dm_recv_raw_data_t raw_data
Definition: aiot_dm_api.h:604
 
uint32_t params_len
属性数据的字符串长度 
Definition: aiot_dm_api.h:497
 
清除指定的期望值, 消息结构体请参考aiot_dm_msg_delete_desired_t  成功发送此消息后, 将会收到AIOT_DMRECV...
Definition: aiot_dm_api.h:202
 
char * rrpc_id
RRPC标示符, 特殊字符串, 必须与同步服务调用消息的RRPC标示符一致 
Definition: aiot_dm_api.h:322
 
属性设置应答消息结构体, 用户在收到AIOT_DMRECV_PROPERTY_SET 类型的属性设置后, 可发送此消息进行回复 ...
Definition: aiot_dm_api.h:237
 
uint64_t msg_id
消息标识符, uint64_t类型的整数 
Definition: aiot_dm_api.h:507
 
属性上报, 消息结构体参考aiot_dm_msg_property_post_t  成功发送此消息后, 将会收到AIOT_DMRECV_GENERIC_RE...
Definition: aiot_dm_api.h:153
 
消息数量最大值, 不可用作消息类型 
Definition: aiot_dm_api.h:207
 
消息数量最大值, 不可用作消息类型 
Definition: aiot_dm_api.h:449
 
char * params
字符串形式的JSON结构体, 必须以结束符'\0'结尾. 包含用户要上报的属性数据, 如"{\"LightSwitch":0}" ...
Definition: aiot_dm_api.h:217
 
属性设置消息结构体 
Definition: aiot_dm_api.h:485
 
用户是否希望接收post消息后的reply 
Definition: aiot_dm_api.h:131
 
异步服务应答消息结构体, 用户在收到AIOT_DMRECV_ASYNC_SERVICE_INVOKE 类型的异步服务调用消息后, 应发送此消息进行应答 
Definition: aiot_dm_api.h:255
 
int32_t aiot_dm_send(void *handle, const aiot_dm_msg_t *msg)
发送一条data-model消息到物联网平台, 消息类型和消息数据由msg入参决定 
Definition: aiot_dm_api.c:774
 
uint32_t data_len
待发送数据的长度 
Definition: aiot_dm_api.h:311
 
char * params
字符串形式的JSON结构体, 必须以结束符'\0'结尾. 包含用户要批量上报的属性和事件数据, 如 {"properties":{"...
Definition: aiot_dm_api.h:363
 
char * service_id
服务标示符, 字符串内容由用户定义的物模型决定 
Definition: aiot_dm_api.h:537
 
清除指定的期望值, 消息结构体请参考aiot_dm_msg_delete_desired_t  成功发送此消息后, 将会收到AIOT_DMRECV...
Definition: aiot_dm_api.h:196
 
uint32_t message_len
消息字符串的长度 
Definition: aiot_dm_api.h:479
 
aiot_dm_recv_property_set_t property_set
Definition: aiot_dm_api.h:601
 
服务器下发的属性设置消息, 消息数据结构体参考aiot_dm_recv_property_set_t 
Definition: aiot_dm_api.h:419
 
uint32_t params_len
输入参数的字符串长度 
Definition: aiot_dm_api.h:523
 
uint64_t msg_id
消息标识符, uint64_t类型的整数, 必须与异步服务调用的消息标示符一致 
Definition: aiot_dm_api.h:259
 
aiot_dm_msg_property_post_t property_post
Definition: aiot_dm_api.h:388
 
uint8_t * data
指向待发送二进制数据的指针 
Definition: aiot_dm_api.h:307
 
uint64_t msg_id
消息标识符, uint64_t类型的整数, 必须与同步服务调用的消息标示符一致 
Definition: aiot_dm_api.h:281
 
aiot_dm_msg_event_post_t event_post
Definition: aiot_dm_api.h:389
 
aiot_dm_msg_get_desired_t get_desired
Definition: aiot_dm_api.h:395
 
int32_t aiot_dm_setopt(void *handle, aiot_dm_option_t option, void *data)
设置data-model参数 
Definition: aiot_dm_api.c:731
 
char * message
指向状态消息字符串的指针, 当设备端上报请求成功时对应的应答消息为"success", 若请求失败则应答消息中包含...
Definition: aiot_dm_api.h:475
 
uint32_t params_len
输入参数的字符串长度 
Definition: aiot_dm_api.h:545
 
云端通用应答消息结构体, 设备端上报AIOT_DMMSG_PROPERTY_POST, AIOT_DMMSG_EVENT_POST 或者AIOT_DMMSG_GET_...
Definition: aiot_dm_api.h:455
 
获取期望属性值消息结构体, 发送 
Definition: aiot_dm_api.h:336
 
char * params
服务调用的输入参数数据, 为字符串形式的JSON结构体, 此字符串不以结束符'\0'结尾, 如"{\"LightSwitch":0}" ...
Definition: aiot_dm_api.h:541
 
char * data
设备端应答数据, 字符串形式的JSON结构体, 必须以结束符'\0'结尾, 如"{}"表示应答数据为空 ...
Definition: aiot_dm_api.h:297
 
事件上报, 消息结构体参考aiot_dm_msg_event_post_t  成功发送此消息后, 将会收到AIOT_DMRECV_GENERIC_REPLY...
Definition: aiot_dm_api.h:159
 
char * product_key
消息所属设备的product_key, 若为NULL则使用通过aiot_dm_setopt配置的product_key 在网关子设备场景下, 可通过指定为子设备的product_key来发送子设备的消息到云端 
Definition: aiot_dm_api.h:374
 
char * device_name
消息所属设备的device_name, 不配置则默认使用MQTT模块配置的device_name 
Definition: aiot_dm_api.h:591
 
服务器下发的二进制格式的同步服务调用消息, 消息数据结构体参考aiot_dm_recv_raw_service_invoke_t ...
Definition: aiot_dm_api.h:444
 
aiot_dm_recv_generic_reply_t generic_reply
Definition: aiot_dm_api.h:600
 
上报属性/实践后服务器返回的应答消息, 消息数据结构体参考aiot_dm_recv_generic_reply_t ...
Definition: aiot_dm_api.h:414