softAP配网:用Android手机为linux无屏设备输入wifi密码 您所在的位置:网站首页 如何设置无线wifi密码手机 softAP配网:用Android手机为linux无屏设备输入wifi密码

softAP配网:用Android手机为linux无屏设备输入wifi密码

2024-07-07 06:44| 来源: 网络整理| 查看: 265

softAP配网,即利用设备的无线芯片,将设备进入到softAP模式,开启一个无线局域网,手机(或其它移动设备)通过连入设备开启的无线局域网后,向设备发送路由器的ssid及password等信息,让设备在无屏幕的情况下,获取到路由器的ssid信息,达到联网的目的。

配网的流程其实还是比较繁杂的,手机要先和原来的路由器断开连接,然后设备开softap,然后手机连入softap,然后发送ssid和密码,然后关闭softap模式,退回到正常的station模式,然后设备连接路由器,手机也视情况重新连接路由器。但是这个过程是可以在软件端整合起来的,以达到一键联网的结果,断开和连接的操作都整合起来。在这方面小米的体验就做得很好。我本来是比较推崇无线数据帧配网的方式的,因为在软件端只要不断地往空气中发无线数据包就可以了,设备端也只需要捕捉到这些包就可以了。但是无线数据帧配网的方式极不稳定,配网成功率低,受环境、手机型号、路由器型号、设备laytout和无线芯片的选型影响较大。而softAp配网,本身稳定性较高,通过开发者的整合,可以达到和无线数据帧配网一样的用户体验。

softAp配网流程图如下:

我这里实现配网的两端设备,一边是一个跑linux系统的开发板,另一边是我们日常用的普通Android手机。如图:

设备端的linux系统,需要移植好wifi芯片对应的驱动,并且可以配置softAp模式(p2p模式),这个一般是有wifi芯片厂商在fw里实现好的,我们只要切换节点,加载驱动,push fw就可以了。不同的厂商实现的方法可能有异,我在此就不介绍了。

基于已经移植好wifi驱动的设备,我这里介绍如何在应用层实现softAP配网的demo。

设备端实现

设备端需要实现的流程有如下:

 

(1)将设备进入到softAP模式,需要所使用的wifi芯片支持spftAP模式;

(2)创建一个socket用于接收手机端发来的ssid信息,demo中使用广播的方式收发信息;

 

(3)接收手机发来的ssid信息;

 

(4)收到手机发来的ssid信息后返回确认信息,让手机暂时停止发送ssid信息并断开和设备端的连接(即使不主动断开在设备端退出softAP模式之后,手机也会因为找不到softAP而被动断开连接);

 

(5)退出sopAP模式;

(6)解析从手机端得到的ssid、password等信息;

 

(7)连接路由器;

(8)结束。如因ssid信息错误等原因,未能成功连上路由器,可根据用户体验需求重新开始配网流程,该循环的触发流程,请根据实际功能定位自行设计。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有