3.8. Wi-Fi AIRKISS配网示例说明

本工程展示了AirKiss配网接口的使用方法:

  • AirKiss配网流程示例

  • 杰理配网APP配网流程示例

Note

在使用AirKiss配网接口前,需要对AirKiss配网技术有一定的了解,详细可参考:<https://iot.weixin.qq.com/wiki/new/index.html?page=4-1-1>

AirKiss基本原理是,设置芯片在monitor模式下,通过抓取空中的包,利用数据帧的长度来承载有效信息 ,从而达到配网的目的。

3.8.1. 工程示例及配置说明

example:

  • 进入 apps/demo/demo_DevKitBoard/wifi_demo_task.c ,开启宏 #define MONITOR_MODE_TEST 配置WIFI工作在混杂/监听/配网模式

3.8.2. 操作说明

  • 编译工程,烧录镜像,复位启动后, 会自动进入配网模式

  • 安装并打开 sdk_tools/airkiss.apk 软件,手机连接到某个用于AirKiss配网测试的wifi,在AirKissDebugger.apk软件中,填入要配网的wifi名、wifi密码及AES Key(默认不配置),点击发送

  • 等待串口打印配网结果并且连接上对应的路由器

3.8.3. 代码流程

  • demo_wifi()入口:

    A)创建WIFI启动任务wifi_demo_task

  • wifi_demo_task函数流程

    A)打开wifi并且进入配网模式

  • wifi_event_callback():

    A)case WIFI_EVENT_SMP_CFG_COMPLETED: 收到配网信息, 发送事件NET_SMP_CFG_COMPLETED到app_demo_event_handler,根据SSID完整性决定是否需要扫描空中SSID进行匹配

    B)case WIFI_EVENT_STA_SCAN_COMPLETED:扫描空中SSID完成,调用airkiss_ssid_check检测是否扫描到匹配的SSID, 然后发送NET_EVENT_SMP_CFG_FINISH事件到app_demo_event_handler进行连接对应的路由器

    C)case WIFI_EVENT_STA_NETWORK_STACK_DHCP_SUCC:连接路由器成功,发送事件NET_EVENT_CONNECTED到app_demo_event_handler,调用config_network_broadcast发送广播信号(告诉手机端AirKissDebugger.apk软件已经配网成功了)

3.8.4. 常见问题

  • airkiss连接不上或连接超时怎么解决?

    答:

    1.检查aes_key是否设置正确;

    2.检查路由器是否是2.4G;

    3.检查路由器是否设置为支持20M或20M/40M。