說明
掃描可用的WiFi 網絡並返回發現的號碼
用法
WiFi.scanNetworks()
參數
- None
返回
- 字節:發現的網絡數
示例
/*
This example prints the board's MAC address, and
scans for available WiFi networks using the NINA module.
Every ten seconds, it scans again. It doesn't actually
connect to any network, so no encryption scheme is specified.
Circuit:
* Board with NINA module (Arduino MKR WiFi 1010, MKR VIDOR 4000 and UNO WiFi Rev.2)
created 13 July 2010
by dlf (Metodo2 srl)
modified 21 Junn 2012
by Tom Igoe and Jaymes Dec
*/
#include <SPI.h>
#include <WiFiNINA.h>
void setup() {
//Initialize serial and wait for port to open:
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}
// check for the WiFi module:
if (WiFi.status() == WL_NO_MODULE) {
Serial.println("Communication with WiFi module failed!");
// don't continue
while (true);
}
String fv = WiFi.firmwareVersion();
if (fv < WIFI_FIRMWARE_LATEST_VERSION) {
Serial.println("Please upgrade the firmware");
}
// print your MAC address:
byte mac[6];
WiFi.macAddress(mac);
Serial.print("MAC: ");
printMacAddress(mac);
}
void loop() {
// scan for existing networks:
Serial.println("Scanning available networks...");
listNetworks();
delay(10000);
}
void listNetworks() {
// scan for nearby networks:
Serial.println("** Scan Networks **");
int numSsid = WiFi.scanNetworks();
if (numSsid == -1) {
Serial.println("Couldn't get a WiFi connection");
while (true);
}
// print the list of networks seen:
Serial.print("number of available networks:");
Serial.println(numSsid);
// print the network number and name for each network found:
for (int thisNet = 0; thisNet < numSsid; thisNet++) {
Serial.print(thisNet);
Serial.print(") ");
Serial.print(WiFi.SSID(thisNet));
Serial.print("\tSignal: ");
Serial.print(WiFi.RSSI(thisNet));
Serial.print(" dBm");
Serial.print("\tEncryption: ");
printEncryptionType(WiFi.encryptionType(thisNet));
}
}
void printEncryptionType(int thisType) {
// read the encryption type and print out the name:
switch (thisType) {
case ENC_TYPE_WEP:
Serial.println("WEP");
break;
case ENC_TYPE_TKIP:
Serial.println("WPA");
break;
case ENC_TYPE_CCMP:
Serial.println("WPA2");
break;
case ENC_TYPE_NONE:
Serial.println("None");
break;
case ENC_TYPE_AUTO:
Serial.println("Auto");
break;
case ENC_TYPE_UNKNOWN:
default:
Serial.println("Unknown");
break;
}
}
void printMacAddress(byte mac[]) {
for (int i = 5; i >= 0; i--) {
if (mac[i] < 16) {
Serial.print("0");
}
Serial.print(mac[i], HEX);
if (i > 0) {
Serial.print(":");
}
}
Serial.println();
}
相關用法
- Arduino WiFiNINA - WiFi.setTimeout()用法及代碼示例
- Arduino WiFiNINA - WiFi.setHostname()用法及代碼示例
- Arduino WiFiNINA - WiFi.setDNS()用法及代碼示例
- Arduino WiFiNINA - WiFi.status()用法及代碼示例
- Arduino WiFiNINA - WiFi.subnetMask()用法及代碼示例
- Arduino WiFiNINA - WiFi.config()用法及代碼示例
- Arduino WiFiNINA - WiFi.encryptionType()用法及代碼示例
- Arduino WiFiNINA - WiFi.gatewayIP()用法及代碼示例
- Arduino WiFiNINA - WiFi.BSSID()用法及代碼示例
- Arduino WiFiNINA - WiFi.begin()用法及代碼示例
- Arduino WiFiNINA - WiFi.RSSI()用法及代碼示例
- Arduino WiFiNINA - WiFi.channel()用法及代碼示例
- Arduino WiFiNINA - WiFi.localIP()用法及代碼示例
- Arduino WiFiNINA - WiFi.beginAP()用法及代碼示例
- Arduino WiFiNINA - WiFi.hostByName()用法及代碼示例
- Arduino WiFiNINA - WiFi.firmwareVersion()用法及代碼示例
- Arduino WiFiNINA - WiFi.reasonCode()用法及代碼示例
- Arduino WiFiNINA - WiFi.ping()用法及代碼示例
- Arduino WiFiNINA - WiFi.SSID()用法及代碼示例
- Arduino WiFiNINA - WiFi.macAddress()用法及代碼示例
- Arduino WiFiNINA - WiFi.beginEnterprise()用法及代碼示例
- Arduino WiFiNINA - WiFiSSLClient用法及代碼示例
- Arduino WiFiNINA - WiFiClient()用法及代碼示例
- Arduino WiFiNINA - WiFiServer()用法及代碼示例
- Arduino WiFiNINA - WiFiUDP.beginMulticast()用法及代碼示例
注:本文由純淨天空篩選整理自arduino.cc大神的英文原創作品 WiFiNINA - WiFi.scanNetworks()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。