常见问题

Wi-Fi指示灯和复位说明
2019-07-26 17:22:41

两种配网机制原理

兼容模式和smartconfig模式,是我们配网的两种方式。

smartconfig模式(快连模式)

smartconfig就是手机APP端发送包含Wi-Fi用户名 Wi-Fi密码的UDP广播包或者组播包,智能终端的Wi-Fi芯片可以接收到该UDP包,只要知道UDP的组织形式,就可以通过接收到的UDP包解密出Wi-Fi用户名和密码,然后智能硬件收到的Wi-Fi用户名和密码配置到指定的Wi-Fi AP上。

热点模式(兼容模式)

smartconfig模式配网失败后可尝试使用兼容模式配网,提升配网成功率。
兼容模式是先在app上输入Wi-Fi密码,使app获得Wi-Fi信息,然后通过app和模块热点(SmartLife-xxxx)的连接,app将Wi-Fi信息告知模块,使模块可以连上Wi-Fi。

配置模块重置和工作状态

说明: MCU与模块配合处理,即模块通过串口通知MCU Wi-Fi当前的工作状态,然后MCU提供显示支持;MCU检测出Wi-Fi的重置需求,通过串口通知模块重置Wi-Fi。

参考 MCU SDK使用说明 配置重置方式为 MCU与模块配合处理。

即保持 define 被注释状态

//#ifdef          Wi-Fi_CONTROL_SELF_MODE

Wi-Fi模块重置

当Wi-Fi模块要连接新的路由器时,需要重置Wi-Fi,调用下述函数:

mcu_reset_Wi-Fi();

并可调用下述函数返回重置Wi-Fi结果:

mcu_get_reset_Wi-Fi_flag();

Wi-Fi工作状态(指示灯)

说明:

  1. Wi-Fi工作状态:1 smartconfig配置状态 2 AP配置状态 3 Wi-Fi配置成功但未连上路由器 4 Wi-Fi配置成功且连上路由器。 “模块自处理”工作模式相应的LED显示分别为:1 间隔闪烁250ms;2 间隔闪烁1500ms;3 长暗状态;4 长亮状态

  2. 当模块检测到MCU重启或MCU断线再上线的过程,则主动上报Wi-Fi状态至MCU

  3. 当模块检测到Wi-Fi状态发生变化,则主动上报Wi-Fi状态至MCU

调用函数mcu_get_Wi-Fi_work_state()获取连接状态,通常使用方法如下:

void main(void)
{
...

while(1)
{
switch(mcu_get_Wi-Fi_work_state())
{
case SMART_CONFIG_STATE:
//smart config 配置状态 LED快闪 ,led闪烁请用户完成
break;
case AP_STATE:
//AP配置状态 LED慢闪
break;
case Wi-Fi_NOT_CONNECTED:
//Wi-Fi配置完成,正在连接路由器,LED常暗
break;
case Wi-Fi_CONNECTED:
//路由器连接成功 LED常亮
break;
default:break;
}
...
}
}

附录

重置Wi-Fi-选择模式

提供MCU根据自身需求选择性选择重置Wi-Fi后的配置方式.

调用设置Wi-Fi模式mcu_api.c 文件内的:

mcu_set_Wi-Fi_mode(Wi-Fi_CONFIG_E mode);

并可调用mcu_get_Wi-Fi_work_state()函数返回设置Wi-Fi结果.

模块自处理

我们也支持另一种模块重置和工作状态 方式。即模块自处理

模块自处理:Wi-Fi的工作状态通过Wi-Fi的GPIO引脚驱动LED状态显示;Wi-Fi重置通过检测GPIO输入需求处理。

根据实际的硬件连接,将指示灯和按键所连接的GPIO脚位填入下面两行

#ifdef          Wi-Fi_CONTROL_SELF_MODE
#define     WF_STATE_KEY            14                //Wi-Fi模块状态指示按键,请根据实际GPIO管脚设置
#define     WF_RESERT_KEY           0                 //Wi-Fi模块重置按键,请根据实际GPIO管脚设置
#endif

协议对接

根据协议完成以下几点:

  • 配置模块重置和工作状态(命令字0x02)

  • 需要重置Wi-Fi时,上报协议(命令字0x04)

  • 驱动LED灯显示(命令字0x03)

附:如果重置Wi-Fi后,固定为smartconfig或者热点模式时,上报协议(命令字0x05)