系统函数

初始化SDK

初始化设备与APP交互的上下文环境。注意,填写密钥时,需将官网的一串字符串转换成相应的十六进制编码,即在每个字节前增加0x作为开头。如字符串是5668,转换时应改为0x56,0x68。

iot_s32 iot_start ( struct iot_context* ctx );

struct iot_context结构体的内容如下:

参数 长度 说明
product_id 4 产品ID,云平台生成,4字节的无符号整型数字
product_key 16 产品秘钥,云平台生成,16字节的十六进制编码
mcu_version 5 mcu固件版本,"xx.xx",0≤x≤9
recvbuf_size 4 接收数据buffer大小,范围512-2048
sendbuf_size 4 发送数据buffer大小,范围512-2048
返回值 4 0:成功;-1:失败

设置设备运行状态

void iot_status_set( DEV_STATUS_T dev_status,

iot_u32 timeout )

参数 说明
dev_status DEV_STA_UNBIND :设置解绑,设备会解除与APP端的绑定关系。操作成功后自动调用3.3节的回调函数
timeout 设备运行状态保持时长,单位为秒;timeout = 0表示不设置超时状态。

下表为3.2中设置参数与3.3中回调参数的对应关系。

设置运行状态 设置参数(3.2章节) 回调参数(3.3章节)
恢复出厂 DEV_STA_BLE_DISCONNECT 设备BLE断开连接通知:DEV_STA_BLE_DISCONNECT (0)
允许绑定 DEV_STA_BLE_CONNECTED 设备BLE连接成功通知:DEV_STA_BLE_CONNECTED(1)
解除绑定 DEV_STA_UNBIND 解绑成功:DEV_STA_UNBIND(4)

设备运行状态报告

当设备运行状态发生改变时,sdk自动调用此函数。回调函数中不可执行太多耗时代码。

void iot_status_cb( DEV_STATUS_T dev_status,

iot_u32 timestamp )

参数 说明
dev_status DEV_STA_BLE_DISCONNECT (0) :设备BLE断开连接DEV_STA_BLE_CONNECTED (1) :设备BLE连接成功DEV_STA_BLE_APP_CONFIRM (2) :与APP注册认证通过DEV_STA_UNBIND (3) : 解绑成功
timestamp 状态改变的时间点

获取网络时间

iot_u32 iot_get_onlinetime( void )

参数 说明
返回值 0:时间无效>0:实时网络时间戳

打印输出函数

此函数用于输出日志信息,需用户自行实现,可根据需要重定向到串口、屏幕、文件等位置。

void iot_print ( const char * str )

参数 说明
str 输出的日志内容

接收设备信息

void iot_info_cb ( INFO_TYPE_T info_type, void* info )

参数 说明
info_type INFO_TYPE_OTA:OTA下载固件的信息,包括固件类型、固件总大小、固件版本号
info 请求消息类型的数据内容

回调函数中不可执行太多耗时代码。该函数用来处理接收的设备信息数据,接收的数据根据info_type的值数据格式不同

①当info_type= INFO_TYPE_OTA时,表示获取的是OTA信息,数据结构体如下

typedef struct ota_info {

iot_u8 owner; //固件类型,0:wifi固件,1:MCU固件

iot_u32 flen; //固件文件大小

char ota_ver[6];//OTA固件版本号

}ota_info_t;

发送数据回调函数

发送数据成功后,sdk自动调用下面这个回调函数。当调用4.1节上传数据、6.1节透传自定义数据。回调函数中不可执行太多耗时代码。

void iot_data_cb( iot_u32 data_seq )

参数 说明
data_seq 某条数据的序列号,如不关心何时上传成功,可不做处理

获取时间结构体

void iot_parse_timestamp ( iot_u32 tick , struct s_time* st );

参数 说明
tick 需要被转换的时间戳
st 转换后的时间结构体

时间结构体定义如下:

struct s_time {

int sec; //秒

int min; //分

int hour; //时

int day; //日

int mon;//月

int year; //年

int week; //周

};

Copyright & copy qinglianyun all right reserved,powered by Gitbook该文件修订时间: 2021-04-22 18:53:48

results matching ""

    No results matching ""