
sample: examples\aliyun_iotkit_csdk_mqtt project: board\TencentOS_tiny_EVB_MX_Plus\KEIL\aliyun_iotkit_csdk_mqtt
74 lines
2.5 KiB
C
74 lines
2.5 KiB
C
/*
|
|
* Copyright (C) 2015-2018 Alibaba Group Holding Limited
|
|
*/
|
|
|
|
#include "infra_defs.h"
|
|
|
|
#ifndef _INFRA_REPORT_H_
|
|
#define _INFRA_REPORT_H_
|
|
|
|
#ifndef VERSION_NUM_SIZE
|
|
#define VERSION_NUM_SIZE 4
|
|
#endif
|
|
|
|
#ifndef RANDOM_NUM_SIZE
|
|
#define RANDOM_NUM_SIZE 4
|
|
#endif
|
|
|
|
#ifndef MAC_ADDRESS_SIZE
|
|
#define MAC_ADDRESS_SIZE 8
|
|
#endif
|
|
|
|
#ifndef CHIP_CODE_SIZE
|
|
#define CHIP_CODE_SIZE 4
|
|
#endif
|
|
|
|
#define AOS_ACTIVE_INFO_LEN (81)
|
|
|
|
/* activation device type */
|
|
typedef enum {
|
|
ACTIVE_SUBDEV, /* it's a subDevice */
|
|
ACTIVE_SINGLE_GW /* it s a single or gateway device */
|
|
} active_device_type_t;
|
|
|
|
/* activation system type */
|
|
typedef enum {
|
|
ACTIVE_LINKKIT_ONLY, /* only linkkit implement */
|
|
ACTIVE_LINKKIT_AOS, /* both linkkit and AOS implement */
|
|
ACTIVE_LINKKIT_OTHERS /* linkkit and 3-party OS implement */
|
|
} active_system_type_t;
|
|
|
|
typedef int (*info_report_func_pt)(void *handle, const char *topic_name,int req_ack,void *data, int len);
|
|
|
|
#define MIDREPORT_PAYLOAD_LEN (62 + IOTX_PARTNER_ID_LEN + IOTX_MODULE_ID_LEN + 32 +1)
|
|
#define MIDREPORT_REQID_LEN (IOTX_PRODUCT_KEY_LEN + IOTX_DEVICE_NAME_LEN + 6)
|
|
#define AOS_VERSON_MSG_LEN (256)
|
|
#define LINKKIT_VERSION_MSG_LEN (192)
|
|
#define FIRMWARE_VERSION_MSG_LEN (64)
|
|
#define DEBUG_REPORT_MID_DEVINFO_FIRMWARE (1)
|
|
|
|
int iotx_report_id(void);
|
|
int iotx_midreport_reqid(char *requestId, char *product_key, char *device_name);
|
|
int iotx_midreport_payload(char *msg, char *requestId, char *mid, char *pid);
|
|
int iotx_midreport_topic(char *topic_name, char *topic_head, char *product_key, char *device_name);
|
|
|
|
/* AOS version report API */
|
|
int iotx_gen_aos_report_topic(char *topic_name, char *product_key, char *device_name);
|
|
int iotx_gen_aos_report_payload(char *msg, int requestId, char *versionData);
|
|
|
|
void aos_get_version_hex(unsigned char version[VERSION_NUM_SIZE]);
|
|
|
|
#ifndef BUILD_AOS
|
|
unsigned int aos_get_version_info(unsigned char version_num[VERSION_NUM_SIZE],
|
|
unsigned char random_num[RANDOM_NUM_SIZE], unsigned char mac_address[MAC_ADDRESS_SIZE],
|
|
unsigned char chip_code[CHIP_CODE_SIZE], unsigned char *output_buffer, unsigned int output_buffer_size);
|
|
#endif
|
|
|
|
void iotx_set_report_func(info_report_func_pt func);
|
|
int iotx_report_devinfo(void *pclient);
|
|
int iotx_report_mid(void *pclient);
|
|
int iotx_report_firmware_version(void *pclient);
|
|
|
|
#endif
|
|
|