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协议栈 |