系统函数

初始化SDK

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

iot\_s32 iot\_start \( struct iot\_context\* ctx \);

struct iot_context结构体的内容如下:

参数长度说明
product_id4产品ID,云平台生成,4字节的无符号整型数字
product_key16产品秘钥,云平台生成,16字节的十六进制编码
mcu_version5mcu固件版本,"xx.xx",0≤x≤9
recvbuf_size4接收数据buffer大小,范围128-377
sendbuf_size4发送数据buffer大小,范围128-377
返回值40 :成功;-1:失败

设置设备运行状态

void iot\_status\_set\( DEV\_STATUS\_T dev\_status,iot\_u32 timeout \)
参数说明
dev_statusDEV_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_statusDEV_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; //周

};