系统函数

初始化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大小,范围128-377
sendbuf_size 4 发送数据buffer大小,范围128-377
返回值 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_UNBIND 解绑成功:DEV_STA_UNBIND (4)

设备运行状态报告

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

void iot\_status\_cb \( DEV\_STATUS\_T dev\_status,iot\_u32 timestamp \)
参数 说明
dev_status DEV_STA_BLE_MESH_PROV_RESET : 设备配置被provisioner重置DEV_STA_BLE_MESH_PROV_COMP : 设备provision完成DEV_STA_BLE_APP_CONFIRM : 与APP注册认证通过DEV_STA_UNBIND : 解绑成功
timestamp 状态改变的时间点

获取网络时间

iot\_u32 iot\_get\_onlinetime\( void \)
参数 说明
返回值 0:时间无效>0:实时网络时间戳

打印输出函数

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

void iot\_print \( const char \* str \)
参数 说明
str 输出的日志内容

发送数据回调函数

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

void iot\_upload\_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 ""