Airlink配网问题排查与解决指南-机智云
- 前言
帮助机智云的客户和开发者更好地理解Airlink方式给WiFi模组配网的原理,并解决配网过程中可能遇到的各种问题。我们将详细介绍Airlink配网的原理,以及常见的配网失败原因和排查基本步骤。通过本文的指导,客户可以自行排查配网问题,快速定位并解决可能出现的困难,从而更高效地完成配网任务。
2 AirLink配网基本原理
1、Airlink利用了UDP的广播或者组播技术,由于数据包会被网络协议加密,能获取到明文信息很少,所以只能把信息用数据包长度这样的信息来传递(不同算法还有其他方式),模组在Airlink(混杂)模式下可以获取到包,虽然解不开包的内容,但是可以知道包长度和一起其他的明文信息。
2、比如某个路由器的SSID为: MyHome,这几个字母的ascii分别是(10进制):77,121,72,111,109,101;那么手机在发送信息的时候就会发送数据长度分别是77,121,72,111,109,101的数据包,不断的循环发送(当然还包含一些算法上需要的数据特征值);
3、模组在Airlink模式下,是会在所有信道上不断的扫抓取所有的数据包的,一旦在某个信道上抓到了特征包(比如10个以上的长度为131的UDP数据包),表示这个信道上有配置信息要接受,接着就会收到长度为77,121,72,111,109,101的数据包,模组把这6个包的信息(长度)翻译成MyHome。
4、至于长度为77字节的数据包的内容,模组和APP都不用关心,只用了长度信息而已,也就是发送了77个字节,只为了让模组得到一个数值(ascii)为77的字符。再加上模组要在所有信道上轮询抓取,就导致了Airlink的UDP数据量很大。
5、上述是概括某一平台的Airlink原理,模组的不同的模组平台Airlink的原理会有所不同.
- AirLink配网失败排查步骤
1、 乐鑫8266模组仅支持连接2.4G频段路由器,确认要配网连接的路由器不是5G或者2.4G/5G混合双频
2、 通过模组日志判断,模组使用的是否最新版模组固件
3、 通过模组日志判断,模组确实进入Airlink配网模式
4、 确认客户的APP没有选错模组平台和Airlink配网模式
3.1 确认路由器是2.4G频段
我们通过手机的搜索WiFi功能就可以确认我们周围的路由器是否2.4G频段;如果要连接的路由器不是2.4G,请设置成2.4G频段
3.2 模组使用的是否最新版模组固件
客户需要确保乐鑫8266(12F、12S、07S等)使用的是最新版固件,目前最新的固件版本号是04020034。可以在乐鑫8266模组在日志中确认固件版本号。
3.3 模组确实进入Airlink配网模式
3.4 请客户确认App使用的配网方式及模组平台
请app开发确认app的配网方式为AirLink,并且对应的模组型号与板卡的模组型号一致。
- 使用最新版机智云demo APP进行配网
如果客户使用自己的设备和自己的APP如上述步骤3.1、3.2、3.3、3.4进行Airlink配网都失败,可以使用机智云demo APP进行Airlink的配网对比测试,以快速初步对比出配网失败的原因。
4.1 路由器设置2.4G、模组使用最新版固件和进入Airlink配置模式,参考3.1——3.3
4.2 机智云demoAPP下载链接https://download.gizwits.com/zh-cn/p/98/99
4.3 机智云demo APP配网流程,等待配网成功
若机智云demo APP配网成功,而开发者APP配网失败,则有以下几点原因:
1、可能是开发者app调用配网接口填写的模组平台与板卡模组型号不一致。
2、开发者app调用配网接口的配网方法参数非AirLink配网。
- 使用手机热点作为路由器进行测试
若是使用机智云demo App如上述步骤4.1——4.3配网后仍然失败了,这时候极有可能是路由器的问题了,可以尝试使用手机热点作为路由器进行测试,以对比出是否真实路由器的某些原因导致配网失败。
1、打开手机A热点
2、使用手机B连接A的热点
3、手机B打开机智云demo APP,一键配置,等待配网成功。
手机A热点设置
5.1 使用手机热点进行Airlink配网失败
如果通过手机热点和机智云demo APP进行配网还是失败,需要抓取模组日志和APP的sdk日志给机智云FAE,才能进一步确认问题的分析。除了日志,客户还应该提供手机型号,手机操作系统版本号,路由器型号,模组版本号,product key信息,企业信息,appid信息给FAE。
APP端sdk日志获取流程:查看教程
5.2 使用手机热点进行Airlink配网成功
如果通过手机热点和机智云demo APP进行配网成功,通过真实路由器和机智云demo APP进行配网失败,需要测试网络环境能否收发UDP广播包,具体方法如下:
5.2.1 手机安装机智云Demo APP
5.2.2 将手机WiFi网络链接到测试网络环境中,并且查看手机在该网络环境中的IP地址。如下图:
5.2.3 安装wireshark抓包工具,下载链接
5.2.4 打开wireshark工具,按照下图指引设置。
5.2.7 参考上图中设置,等待数分钟(等待期间,可以点击机智云Demo APP的设备列表刷新功能),如果可以看到Destination:255.255.255.255的数据包,则说明该测试网络环境具备UDP广播包的传输条件。如果没有,则说明该环境不具备UDP广播包的传输条件,客户应当想办法使路由器具备UDP广播包的传输条件。
- 其他配网失败排查方法
有时候配网失败可能的原因既不是设备端原因,也不是APP端原因,也不是路由器原因,可能是手机的原因,这时候我们可以尝试更换手机来配网,以此排查是否手机的原因。例如客户原先用的IOS手机,安装了机智云demo APP后airlink配网仍然失败,换了Android手机就能成功,这样就可以初步判断是IOS手机的原因;例如客户用Android8.0甚至Android9.0的手机,机智云demo APP后Airlink配网仍然失败,换了Android7.0及以下就能成功,这样就可以初步判断是Android8.0及以上手机的原因。
注:目前乐鑫的配置库使用IOS手机和Android8.0及以上手机Airlink配网均正常,这里只是提供一个排查的思路打的比方。
- FAQ
1.Q:客户使用自己开发的APP给模组Airlink配网失败,用机智云demo APP给模组Airlink配网成功,怎么知道客户APP是否选错平台和选错配网模式?
A:发送SDK日志给FAE
2.Q:乐鑫模组会跟2.4G路由器的存在兼容问题导致无法连接路由器吗?
A:目前未发现兼容性问题的案例。
3.Q:配网时APP输入路由器的密码错误,模组会如何表现
A:APP输入错误的密码后配网,模组会正常退出配网模式并进入STA模式,开始一直搜索APP给出ssid和密码都符合的热点,有就连接上,没有就打印disconnect from ssid xxx,reason2…
除了密码错误,路由器不兼容,APP连接5G路由器后配网,模组解析配置包出错,模组日志都会如上打印
4.Q:路由器端口号的限制会不会影响Airlink配网和影响模组连接路由器
A:有影响,特别是一些高级写字楼,对应路由器设置有一定的限制,要确认一下端口是否禁止:
APP与设备服务端口的定义
设备监听UDP广播端口号为:12414
设备TCP服务器端口号为:12416
APP监听UDP广播端口号为:2415
设备与云端服务端口的定义
设备与GService服务器端口号为:80
设备与M2M服务器端口号为:1883或8883