esp32c3 查找WiFi内设备arduino代码
时间: 2023-11-15 11:05:32 浏览: 170
arduino-sensorics:用于读取连接到Arduino ESP32的各种传感器的代码,数据通过WiFi上传到InfluxDB或显示
以下是使用 ESP32-C3 和 Arduino IDE 查找 WiFi 内的设备的示例代码:
首先,在 Arduino IDE 中安装 ESP32-C3 开发板支持(请参阅 https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32c3/get-started/index.html#arduino-ide)。
然后,使用以下代码进行扫描:
```c++
#include <WiFi.h>
void setup() {
Serial.begin(115200);
WiFi.mode(WIFI_STA);
WiFi.disconnect();
delay(100);
Serial.println("Scanning for WiFi devices...");
int numNetworks = WiFi.scanNetworks();
if (numNetworks == 0) {
Serial.println("No devices found");
} else {
Serial.print(numNetworks);
Serial.println(" devices found");
for (int i = 0; i < numNetworks; i++) {
Serial.print(i + 1);
Serial.print(": ");
Serial.print(WiFi.SSID(i));
Serial.print(" (");
Serial.print(WiFi.RSSI(i));
Serial.print(")");
Serial.println((WiFi.encryptionType(i) == WIFI_AUTH_OPEN)?" ":"*");
delay(10);
}
}
Serial.println("Done");
}
void loop() {
// do nothing
}
```
此代码将扫描所有可用的 WiFi 网络,并列出所有找到的设备的 SSID 和信号强度。如果您想查找特定设备,可以在扫描期间进行过滤,例如:
```c++
int numNetworks = WiFi.scanNetworks();
if (numNetworks == 0) {
Serial.println("No devices found");
} else {
for (int i = 0; i < numNetworks; i++) {
if (WiFi.SSID(i) == "MyDevice") {
Serial.print("Found device: ");
Serial.print(WiFi.SSID(i));
Serial.print(" (");
Serial.print(WiFi.RSSI(i));
Serial.println(")");
}
delay(10);
}
}
```
此代码将仅列出名为 “MyDevice” 的设备。
阅读全文