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