系统函数
初始化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 \)
发送数据回调函数
发送数据成功后,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;
};