WIOTA同步终端扫频
概述
这里主要介绍终端(IoTE)进行频点扫描,再用扫描的频点进行数据发送的过程。
DEMO所在工程目录路径:PS/app/test/wiota_freq_manager_demo.c
默认该DEMO为关闭状态,可通过menuconfig命令打开,具体过程为:
1. 在wiota_dev_customer工程根目录下,点击鼠标右键,执行ConEmu Here打开命令窗口。
2. 执行menuconfig命令,进到编译配置界面。
3. 依次选择 wiota PS→enable wiota test func→wiota sync iote scan freq test
4. 退出并保存。
成功打开后,在rtconfig.h里有如下宏定义:
#define WIOTA_TEST_DEMO
#define WIOTA_FREQ_MANAGER_DEMO
同时,AP侧也需要开启对应的模式,以配合测试,具体过程为:
1. 在wiota_ap_customer工程根目录下,点击鼠标右键,执行ConEmu Here打开命令窗口。
2. 执行menuconfig命令,进到编译配置界面。
3. 依次选择 wiota PS→enable wiota test func
4. 退出并保存。
成功打开后,在rtconfig.h里有如下宏定义:
#define WIOTA_TEST_DEMO
DEMO流程
主流程

如图所示,DEMO主要包括两部分,频点扫描和发送数据到AP。通过频点扫描得到频点以及频点数量,然后指定频点连接对应的AP,成功后进行WIoTa数据的发送。当状态发生错误时,将使用下一个频点再进行WIoTa数据的发送。
下面再对频点扫描和发送数据到AP作详细说明。
频点扫描

如图所示,待扫描频点,可以从静态数据中先获取,也可以自行指定,默认是指定0,50,100,150,200等频点。将频点列表作为终端(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协议栈 |