ESP8266--WIFI热点扫描
//同步扫描
#include <ESP8266WiFi.h>
#define AP_SSID "jia"
#define AP_PSW "lm654321" void setup() {
Serial.begin();
delay();
WiFi.begin(AP_SSID, AP_PSW);
Serial.print(String("连接到:")+AP_SSID);
while (WiFi.status() != WL_CONNECTED){
delay();
Serial.print(".");
}
Serial.println("");
int n = WiFi.scanNetworks();//同步扫描,同步扫描,等待返回结果---不需要填任何参数
Serial.println("扫描完成");
if (n == ) {
Serial.println("没有找到热点网络");
}else {
Serial.printf("找到了%d个网络",n);
}
}
void loop() {
}
//异步扫描
#include <ESP8266WiFi.h>
#define AP_SSID "jia"
#define AP_PSW "lm654321" void setup() {
WiFi.mode(WIFI_STA);
WiFi.disconnect();//断开网络
Serial.begin();
delay();
WiFi.begin(AP_SSID, AP_PSW);
Serial.print(String("连接到:")+AP_SSID);
while (WiFi.status() != WL_CONNECTED){
delay();
Serial.print(".");
}
Serial.println("");
Serial.println("连接成功");
WiFi.scanNetworks(true);//异步扫描
delay(3000);//扫描需要一段时间,所以等待一会儿
int n = WiFi.scanComplete(); //返回异步扫描找到的个数
if(n >= ){
Serial.printf("%d个网络找到\n", n);
for (int i = ; i < n; i++){
Serial.printf("%d: %s, Ch:%d (%ddBm) %s\n", i+, WiFi.SSID(i).c_str(), WiFi.channel(i), WiFi.RSSI(i), WiFi.encryptionType(i) == ENC_TYPE_NONE ? "open" : "");
//WiFi.SSID(i) 返回账号 WiFi.channel(i) 返回通道
//WiFi.RSSI(i) 返回信号强度 WiFi.encryptionType(i) 返回加密类型 }
WiFi.scanDelete(); //从内存中删掉最近扫描结果
//注意点:如果不删除,将会叠加上次扫描的结果;
}else{
Serial.println("没有找到网络");
} }
void loop() { }
AUTH_OPEN ----> ENC_TYPE_WEP = 5
AUTH_WEP ----> ENC_TYPE_TKIP = 2
AUTH_WPA_PSK ----> ENC_TYPE_CCMP = 4
AUTH_WPA2_PSK ----> ENC_TYPE_NONE = 7
AUTH_WPA_WPA2_PSK ----> ENC_TYPE_AUTO = 8
//异步扫描
#include <ESP8266WiFi.h>
#define AP_SSID "jia"
#define AP_PSW "lm654321" void setup() {
WiFi.mode(WIFI_STA);
WiFi.disconnect();//断开网络
Serial.begin();
delay();
WiFi.begin(AP_SSID, AP_PSW);
Serial.print(String("连接到:")+AP_SSID);
while (WiFi.status() != WL_CONNECTED){
delay();
Serial.print(".");
}
Serial.println("");
Serial.println("连接成功");
WiFi.scanNetworksAsync(prinScanResult); //异步扫描周边wifi网络,并回调结果
//参数 回调函数
}
void loop() { } void prinScanResult(int networksFound){ //回调函数,参数找到网络的个数
Serial.printf("找到%d个网络\n", networksFound);
for (int i = ; i < networksFound; i++){
Serial.printf("%d: %s, Ch:%d (%ddBm) %s\n", i + , WiFi.SSID(i).c_str(), WiFi.channel(i), WiFi.RSSI(i), WiFi.encryptionType(i) == ENC_TYPE_NONE ? "open" : "");
}
}
ESP8266--WIFI热点扫描的更多相关文章
- DSAPI Wifi热点的扫描与连接
使用DSAPI扫描和连接Wifi热点,支持连接隐藏的SSID. 效果演示: 代码如下: Private Wifi As New DSAPI.网络.Wifi Private Sub Button1_Cl ...
- Android开发之扫描附近wifi热点并列表显示
近期项目中用到了wifi模块.今天做一个简单的总结. 參考:http://www.2cto.com/kf/201310/253617.html 1.如何获取wifi对象并进行操作 要操作WIFI设备, ...
- 49.Linux-wpa_cli使用之WIFI开启,扫描热点,连接热点,断开热点,WIFI关闭(49)
本章学习内容: 1.WIFI如何开启 2.扫描热点 3.连接热点 4. 断开热点 5.关闭WIFI 本节使用的是wpa_supplicant工具,它主要包含wpa_supplicant(命令行模式)与 ...
- 【移动开发】WIFI热点通信(一)
之前调查过Android中WIFI模块的使用,也写过两篇学习总结的文章(http://smallwoniu.blog.51cto.com/3911954/1334951),后来发现DEMO里面还是有许 ...
- Android 连接Wifi和创建Wifi热点 demo
android的热点功能不可见,用了反射的技术搞定之外. Eclipse设置语言为utf-8才能查看中文注释 上代码: MainActivity.java package com.widget.hot ...
- Android 开发 创建WiFi、WiFi热点 ---开发集合
WIFI 权限 <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> < ...
- Win8共享wifi热点设置
Win8共享wifi热点如何设置?大家都知道win7系统可以实现wifi热点共享,那么win8应该也能实现wifi热点共享,那么如何设置win8不需要任何软件只需要对电脑进行设置就可以共享无线上网. ...
- Android WiFi/WiFi热点开发总结
首先看一下WiFi的自我介绍: Wi-Fi是一种允许电子设备连接到一个无线局域网(WLAN)的技术,通常使用2.4G UHF或5G SHF ISM 射频频段.连接到无线局域网通常是有密码保护的:但也可 ...
- wifi 热点配置最优信道
wifi热点服务hostapd启动需要配置hostad.conf文件,其中有一个参数channel是用来配置信道的,信道的可选参数如下: # channel 1-14 is 2.4 GHz ; cha ...
随机推荐
- 【Java学习笔记】LinkedList JDK1.6
如下一段代码,在JDK1.6的LinkedList中,是下图这样存储的.有一个节点值为null的节点,叫做header,header的next是0,3的next是header,这是一个循环链表 Lin ...
- win server2012r2上发布网站常见错误 "HTTP 错误 500.19 请求的页面的相关配置数据无效" 解决办法
HTTP 错误 500.19 - Internal Server Error无法访问请求的页面,因为该页的相关配置数据无效. 问题“详细错误信息模块 IIS Web Core通知 BeginReque ...
- Spring Boot 自定义注册 Servlet、Filter、Listener
前言 在 Spring Boot 中已经移除了 web.xml 文件,如果需要注册添加 Servlet.Filter.Listener 为 Spring Bean,在 Spring Boot 中有两种 ...
- Docker 容器操作
1. 创建并运行 一个容器 docker run -it --rm centos:latest bash run 运行容器 -it 以交互方式运行容器 --rm 退出容器后删除容器 cen ...
- go的变量定义
package main //理解包的概念 import "fmt" var ( aa = 1 bb = "kkk" ss = true) func varia ...
- python 并发编程 多线程 多线程实现并发的套接字通信
进程内会生成一个主线程,让主线程执行server函数,server函数核心是accept(),让主线程干accept的工作, 建立连接,每建立一个连接应该执行通信函数 每建立一个连接就是生成一个子线程 ...
- HDU 1257 最少拦截系统 最长递增子序列
HDU 1257 最少拦截系统 最长递增子序列 题意 这个题的意思是说给你\(n\)个数,让你找到他最长的并且递增的子序列\((LIS)\).这里和最长公共子序列一样\((LCS)\)一样,子序列只要 ...
- c#EntityFrameworkcodeFirst模式
一.首先定义数据类 [DataContract(Namespace="http://www.cninnovation.com/Services/2012")] public cl ...
- php框架之laravel
常见问题: 1. 访问网站500错误 这是因为laravel的缓存路径没有找到 laravel缓存文件路径是在 config/cache.php中设置,默认存在storage文件夹中 解决:需要保证s ...
- js方法的封装
封装是为了更好的调用,当我们很多页面都需要同一种方法的时候,为了避免每个页面都需要进行重写方法,增加工作量,这个时候就需要我们对部分公共的方法进行封装,这样便于更好的进行调用 我在写接口的时候用到了 ...