文档首页 > > 开发指南> 设备侧SDK使用指南> LiteOS SDK使用指南> 端侧对接流程> 数据结构介绍

数据结构介绍

更新时间: 2019/08/28 GMT+08:00

平台下发命令枚举类型

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
 typedef enum  
 {  
     ATINY_GET_MANUFACTURER,         /*获取厂商名字*/
     ATINY_GET_MODEL_NUMBER,         /*获取设备模型,由厂商定义和使用*/
     ATINY_GET_SERIAL_NUMBER,        /*获取设备序列号*/
     ATINY_GET_FIRMWARE_VER,         /*获取固件版本号*/
     ATINY_DO_DEV_REBOOT,            /*下发设备复位命令*/ 
     ATINY_DO_FACTORY_RESET,         /*厂商复位*/
     ATINY_GET_POWER_SOURCE,         /*获取电源*/
     ATINY_GET_SOURCE_VOLTAGE,       /*获取设备电压*/
     ATINY_GET_POWER_CURRENT,        /*获取设备电流*/
     ATINY_GET_BATERRY_LEVEL,        /*获取电池剩余电量*/
     ATINY_GET_MEMORY_FREE,          /*获取空闲内存*/
     ATINY_GET_DEV_ERR,              /*获取设备状态,比如内存耗尽、电池不足等*/
     ATINY_DO_RESET_DEV_ERR,         /*获取设备复位状态*/
     ATINY_GET_CURRENT_TIME,         /*获取当前时间*/
     ATINY_SET_CURRENT_TIME,         /*设置当前时间*/
     ATINY_GET_UTC_OFFSET,           /*获取UTC时差*/
     ATINY_SET_UTC_OFFSET,           /*设置UTC时差*/
     ATINY_GET_TIMEZONE,             /*获取时区*/
     ATINY_SET_TIMEZONE,             /*设置时区*/
     ATINY_GET_BINDING_MODES,        /*获取绑定模式*/
     ATINY_GET_FIRMWARE_STATE,       /*获取固件升级状态*/
     ATINY_GET_NETWORK_BEARER,       /*获取网络通信承载类型,比如GSM、WCDMA等*/
     ATINY_GET_SIGNAL_STRENGTH,      /*获取网络信号强度*/
     ATINY_GET_CELL_ID,              /*获取网络小区ID*/
     ATINY_GET_LINK_QUALITY,         /*获取网络链路质量*/ 
     ATINY_GET_LINK_UTILIZATION,     /*获取网络链路利用率*/
     ATINY_WRITE_APP_DATA,           /*业务数据下发命令字*/
     ATINY_UPDATE_PSK,               /*更新psk命令字*/
     ATINY_GET_LATITUDE,             /*获取设备所处纬度*/
     ATINY_GET_LONGITUDE,            /*获取设备所处经度*/
     ATINY_GET_ALTITUDE,             /*获取设备所处高度*/
     ATINY_GET_SPEED,                /*获取设备运行速度*/
     ATINY_GET_TIMESTAMP,            /*获取时间戳*/
 } atiny_cmd_e;

关键事件枚举类型

该枚举类型用于LiteOS SDK端云互通组件把自身状态通知用户

1
2
3
4
5
6
7
8
typedef enum  
 {  
     ATINY_REG_OK,              /*设备注册成功*/ 
     ATINY_REG_FAIL,            /*设备注册失败*/ 
     ATINY_DATA_SUBSCRIBLE,     /*数据开始订阅,设备侧允许上报数据 */ 
     ATINY_DATA_UNSUBSCRIBLE,   /*数据取消订阅,设备侧停止上报数据*/ 
     ATINY_FOTA_STATE           /*固件升级状态*/
 } atiny_event_e;

LwM2M协议参数结构体

1
2
3
4
5
6
typedef struct  
 {  
     char* binding;                             /*目前支持U或者UQ*/
     int   life_time;                           /*LwM2M协议生命周期,默认50000*/
     unsigned int  storing_cnt;                 /*LwM2M缓存区总字节个数*/
 } atiny_server_param_t;

安全及服务器参数结构体

1
2
3
4
5
6
7
8
9
typedef struct  
 {  
     bool  is_bootstrap;      /*是否bootstrap服务器*/ 
     char* server_ip;         /*服务器ip,字符串表示,支持ipv4和ipv6*/ 
     char* server_port;       /*服务器端口号*/ 
     char* psk_Id;            /*预置共享密钥ID*/ 
     char* psk;               /*预置共享密钥*/ 
     unsigned short psk_len;  /*预置共享密钥长度*/ 
 } atiny_security_param_t;

上报数据的枚举类型

用户上报数据的数据类型,用户根据自身应用扩展

1
2
3
4
5
typedef enum  
 {  
     FIRMWARE_UPDATE_STATE = 0  /*设备固件升级状态*/ 
     APP_DATA                     /*用户数据*/ 
 } atiny_report_type_e;

服务器参数结构体

1
2
3
4
5
typedef struct  
 {  
     atiny_server_param_t   server_params;  
     atiny_security_param_t security_params[2];  /*支持一个IOT服务器,一个bootstrap服务器*/ 
 } atiny_param_t;

终端设备参数结构体

1
2
3
4
5
6
typedef struct  
 {  
     char* endpoint_name;    /*北向申请产生的设备标识码*/ 
     char* manufacturer;     /*北向申请产生的厂商名称*/
     char* dev_type;         /*北向申请产生的设备类型*/
 } atiny_device_info_t;

数据上报数据结构

以下枚举值,表述了用户上报的数据,最终的反馈类型,比如数据发送成功,数据发送但未得到确认,具体定义如下:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
typedef enum  
 {  
     NOT_SENT = 0,        /*待上报的数据未发送*/ 
     SENT_WAIT_RESPONSE,  /*待上报的数据已发送,等待响应*/ 
     SENT_FAIL,           /*待上报的数据发送失败*/ 
     SENT_TIME_OUT,       /*待上报的数据已发送,等待响应超时*/ 
     SENT_SUCCESS,        /*待上报的数据发送成功*/ 
     SENT_GET_RST,        /*待上报的数据已发送,但对端响应RST报文*/ 
     SEND_PENDING,        /*待上报的数据等待发送*/ 
 } data_send_status_e;  

//用户使用以下数据结构上报数据:

1
2
3
4
5
6
7
8
  typedef struct _data_report_t  
 {  
     atiny_report_type_e type;    /*数据上报类型,比如业务数据,电池剩余电量等 */  
     int cookie;                  /*数据cookie,用以在ack回调中,区分不同的数据*/  
     int len;                     /*数据长度,不应大于MAX_REPORT_DATA_LEN*/  
     uint8_t* buf;                /*数据缓冲区首地址*/  
     atiny_ack_callback callback; /*ack回调,其入参取值data_send_status_e类型 */  
 } data_report_t;

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

在文档使用中是否遇到以下问题







请至少选择或填写一项反馈信息

字符长度不能超过200

反馈内容不能为空!

提交反馈 取消