Skip to content

WIOTA同步终端扫频

概述

这里主要以流程图介绍终端(IoTE)进行频点扫描,再用扫描的频点进行数据发送的过程。

DEMO所在工程目录路径:PS/app/test/wiota_freq_manager_demo.c

默认该DEMO为关闭状态,打开需要添加宏定义如下:

#define WIOTA_FREQ_MANAGER_DEMO

在main.c中加入声明

void wiota_scan_freq_demo(void);

同时在main()函数中调用上述函数:

wiota_scan_freq_demo();

DEMO流程

主流程

主流程

如图所示,DEMO主要包括两部分,频点扫描发送数据到AP。通过频点扫描得到频点以及频点数量,再把它们作为发送数据到AP的输入参数,即可完成WIoTa数据的发送,当状态发生错误时,将使用下一个频点再进行WIoTa数据的发送。

下面再对频点扫描和发送数据到AP作详细说明。

频点扫描

主流程

如图所示,频点扫描是从静态数据中先获取频点列表,将频点列表作为终端(IoTE)的API接口的输入参数,该API将返回能同步的频点和数量,并且得到的频点按照信号强度,从强到弱进行了排序,使用时可优先使用最前面的频点。

使用的API接口列表

序号 函数名 功能
1. uc_wiota_init() WIoTa协议栈的初始化
2. uc_wiota_run() 启动WIoTa协议栈
3. uc_wiota_scan_freq() 扫频
4. uc_wiota_exit() 关闭WIoTa协议栈

发送数据到AP

主流程

如图所示,发送数据到AP需要重新对WIoTa进行初始化(包括设置频点等),连接AP并成功后,根据当前状态情况,若没有发生错误状态,就能对AP进行数据发送,当产生错误状态时,结束发送并退出WIoTa协议栈。

使用的API接口列表

序号 函数名 功能
1. uc_wiota_init() WIoTa协议栈的初始化
2. uc_wiota_set_freq_info() 设置频点
3. uc_wiota_run() 启动WIoTa协议栈
4. uc_wiota_register_recv_data_callback() 被动接收数据接口注册
5. uc_wiota_connect() 连接同步ap
6. uc_wiota_get_state() 查询WIoTa当前状态
7. uc_wiota_reset_stats() WIoTa统计信息重置
8. uc_wiota_get_all_stats() WIoTa统计信息获取
9. uc_wiota_send_data() 发送数据
10. uc_wiota_exit() 关闭WIoTa协议栈
Back to top