终端自动管理功能
1、目的
自动管理功能主要实现了开机后根据配置的频点扫频、启动和配置WIoTa协议栈、配置频点、连接AP、通信异常后重新进入扫频等流程。
自动管理功能开启后,Iote 模组可以当透传功能使用。
2、原理
2.1、状态切换机制
自动管理功能打开后,状态自动迁移流程如下:
WIoTa 状态描述:
- WIOTA SCAN:开机WIoTa默认状态, 进入频点扫频。
- WIOTA INIT:WIoTa 初始化和系统配置,以及根据扫频结果设置频点。
- WIOTA RUN:WIoTa 连接AP。
- WIOTA DETE: WIoTa检测异常。
- WIOTA EXIT:WIoTa 退出协议栈,释放协议栈资源。
2.2、策略
2.2.1、扫频策略
单频点策略:
- 单频点配置时,不进入扫频模式,直接用配置频点连接AP。如果连接失败,每次延时间隔增加1S。
多频点策略:
- 频点配置大于1个,最大配置16个频点,开机按照频点列表扫频。
- 扫频成功,能同步上的频点中按照SNR从大到小顺序尝试连接AP。
- 扫频失败,每次延时间隔增加1S。
- 扫频失败或者连接AP连续失败3次,则按照RSSI从大到小顺序尝试连接AP。
配置频点列表为空:
- 进入全网搜索。
- 扫频成功,能同步上的频点中按照SNR从大到小顺序尝试连接AP。
- 扫频失败,每次延时间隔增加1S。
- 扫频失败或者连接AP连续失败3次,则按照RSSI从大到小顺序尝试连接AP。
2.2.2、初始化
WIoTa 初始化:
- WIoTa 根据选择频点策略选择频点。
- WIoTa 初始化协议栈。
2.2.3、连接AP
WIoTa 自动连接AP:
- 执行WIoTa协议栈。
- 连接AP,等待2S,检测连接状态。
2.2.4、WIoTa检测
WIoTa连接成功后,检测异常后重新后退出协议栈:
- 检测连接状态,失步后退出协议栈。
- 发送数据成功率低于30%退出协议栈。
2.2.5、WIoTa退出
释放协议栈后重新进入选频策略。
2.3、状态上报
自动管理功能状态切换,自动状态信息上报如下。
2.3.1、扫频流程上报
扫频失败上报:
+WIOTASCANF:FAIL。
扫频成功上报频点信息: +SCANFFREQ :<freq>,<snr>,<rssi><sync_flag>。
参数:
- freq:频点信息。
- snr: 信噪比。
- rssi: RSSI信息。
- sync_flag: 同步标识。
比如:
+SCANFFREQ:105,-29,-29,0
+SCANFFREQ:101,-87,-87,0
2.3.2、初始化流程上报
上报当前选择的连接频点信息:
+WIOTAFREQ :<subsystem_id>,<freq>,<snr>。
参数:
+ subsystem_id:子系统ID。
+ freq:频点信息。
+ snr: 信噪比。
比如:
+WIOTAFREQ:0x214115,105,-6
2.3.4、连接AP流程上报
上报当前连接失败:
+WIOTA:CONNECT FAIL。
上报当前连接成功:
+WIOTA:READY。
2.3.5、WIoTa退出
上报退出WIoTa:
+WIOTA:EXIT。
3、自动管理静态数据配置
静态数据配置自动管理功能。
3.1、自动连接标识
自动连接标识:
- 1:打开自动连接管理功能。
- 0:关闭自动连接管理功能。
操作如下
3.2、频点列表
最大设置16个频点,如果不满16个,用255标识空缺。有效频点之间不能用255间隔,频点列表识别以255为结束符。 操作如下:
3、注意
自动管理功能注意事项如下:
- 自动管理功能开启后,AT+WIOTAINIT、AT+WIOTAEXIT、AT+WIOTAFREQ等关于启动、配置的at无法使用。但是查询配置信息是可以使用。
- 自动管理功能启动后,只有在“+WIOTA:READY”后才能正常发送数据。
- 自动管理功能开启后,每次USERID都会取设备串号的4-8字节作为WIOTA的USERID。