Page 1 of 1

wifi scan和fast_scan示例对比

Posted: Sun Apr 11, 2021 9:19 pm
by zliudr
我在过一个WiFi方面的示例程序。我最初的理解是fast_scan只扫描有限的AP,而scan扫描所有能接收到的AP。不过看完程序代码之后,我觉得fast_scan根本没有scan。好像只是把所有重名的SSID排列,比如以信号强度排序,然后连接到号最强的,或者安全级别最高的,等等,并不是扫描周围的名称不同的AP。而scan是扫描不同的AP,并把它们打印出来。不知道我理解的对不对。
我的目的是通过扫描决定是否缺省AP在附近。如果缺省AP在的话,就连到缺省AP。如果不在,上次成功连接到的AP在附近,就连接到上次成功连接到的AP上。我觉得应该基于scan写我的程序。
不知道这个fast_scan是不是用改改个名字,有点名不副实。 :roll:

Re: wifi scan和fast_scan示例对比

Posted: Sun Apr 11, 2021 9:30 pm
by zliudr
对了,使用scan,我可以列出来所有附近的AP,包括我成心设置的两个SSID完全一样的AP。但因为一个是路由器,一个是智能手机,两个SSID完全一样的AP信号强度差距很大。所以我觉得我的程序应该集成scan示例的扫描列表功能,然后再加上fast_scan的排序功能,只连接到信号最强的缺省AP上。

Re: wifi scan和fast_scan示例对比

Posted: Mon Apr 12, 2021 2:36 am
by ESP_Gargamel
WIFI_FAST_SCAN 是扫描到一个匹配的 AP 时即结束;而 WIFI_ALL_CHANNEL_SCAN 是全信道扫描。

有以下建议:
1、参看这一章节:https://docs.espressif.com/projects/esp ... wi-fi-scan
2、把 Log 的 Level 设成 Verbose,把 WiFi 的 log 全打开,你就可以看到 WiFi 整个 scan 和 connect 的过程