避雷淘宝某款ESP32S3开发板,WiFi信号极差,疑似没做阻抗匹配
首先看看正常的表现,这是立创的ESP32S3开发板,905这个WiFi信号强度-54dBm。
接着来看看淘宝买的这款ESP32S3开发板,同样的位置905这个WiFi信号强度只有-77dBm,连不上WiFi。
就下面图片这款,淘宝上买了3家同样款式的这个开发板(为什么坚持买这款?因为这款的宽度可以插面包板,其他的都是更宽的插不了面包板,立创的开发板可以插面包板但原价35略贵,要发朋友圈集赞才能19.9优惠买,淘宝这款是25买的),都是这样的信号表现,应该是某个开源方案,没做阻抗匹配,都是ESP32S3R8芯片,都是陶瓷天线(应该不是天线问题,立创的板也是陶瓷天线,信号表现就没问题)
补充一下,淘宝这款开发板还有一个问题,就是出厂固件好像是有问题的,上电会一直复位重启,按住BOOT键后上电再烧录自己的程序就恢复正常了,我买了三家这款板都是有这个问题!
天线微距图
▶电子/单片机技术交流QQ群: 2169025065
▶eeClub-电子工程师社区: https://bbs.eeclub.top/
WiFi扫描与连接的测试代码(Arduino):
#include <Arduino.h>
#include <WiFi.h>
char* ssid = "905"; // 目标WiFi名称
char* password = "blog.zeruns.com"; // 目标WiFi密码
// 将加密类型数值转换为可读字符串
String getEncryptionTypeString(int encryptionType) {
switch (encryptionType) {
case WIFI_AUTH_OPEN:
return "OPEN (无加密)";
case WIFI_AUTH_WEP:
return "WEP";
case WIFI_AUTH_WPA_PSK:
return "WPA-PSK";
case WIFI_AUTH_WPA2_PSK:
return "WPA2-PSK";
case WIFI_AUTH_WPA_WPA2_PSK:
return "WPA/WPA2-PSK (混合)";
case WIFI_AUTH_WPA3_PSK:
return "WPA3-PSK";
case WIFI_AUTH_WPA2_WPA3_PSK:
return "WPA2/WPA3-PSK (混合)";
default:
return "UNKNOWN (未知)";
}
}
// 扫描WiFi并打印详细列表
void scanAndPrintWiFiNetworks() {
Serial.println(F("\n==================== 开始扫描WiFi ===================="));
// 停止当前WiFi连接(确保扫描不受影响)
WiFi.mode(WIFI_STA);
WiFi.disconnect();
delay(100);
// 扫描周边WiFi网络(返回找到的网络数量)
// 参数1:是否扫描隐藏网络;参数2:是否主动扫描(阻塞式,扫描完成再返回)
int networkCount = WiFi.scanNetworks(false, true);
Serial.print(F("扫描完成!共发现 "));
Serial.print(networkCount);
Serial.println(F(" 个可用WiFi网络\n"));
// 打印列表表头
Serial.println(F("序号 | SSID名称 | MAC地址(BSSID) | 加密类型 | 信号强度(dBm)"));
Serial.println(F("-----|------------------------|----------------------|-------------------|-------------"));
// 遍历所有扫描到的网络,打印详细信息
for (int i = 0; i < networkCount; i++) {
// 格式化打印序号(占3位)
Serial.printf("%3d | ", i + 1);
// SSID(最多显示20个字符,超出截断)
String ssid = WiFi.SSID(i);
if (ssid.length() > 20) {
ssid = ssid.substring(0, 17) + "...";
}
Serial.printf("%-20s | ", ssid.c_str());
// MAC地址(BSSID)
Serial.printf("%-18s | ", WiFi.BSSIDstr(i).c_str());
// 加密类型(转换为可读字符串)
String encType = getEncryptionTypeString(WiFi.encryptionType(i));
Serial.printf("%-17s | ", encType.c_str());
// 信号强度(RSSI,单位dBm,数值越大信号越强,通常-30~-100之间)
int rssi = WiFi.RSSI(i);
Serial.printf("%-11d\n", rssi);
}
Serial.println(F("\n==================== WiFi扫描结束 ====================\n"));
// 释放扫描缓存(节省内存)
WiFi.scanDelete();
}
void setup() {
// 初始化串口波特率
Serial.begin(9600);
// 等待串口初始化完成(避免开机串口打印丢失)
delay(1000); // 延长等待时间,确保串口稳定
Serial.println(F("In Setup function"));
// 初始化LED引脚
pinMode(12, OUTPUT);
pinMode(48, OUTPUT);
// ========== 新增:先扫描并打印WiFi列表 ==========
scanAndPrintWiFiNetworks();
// ========== 原有WiFi连接逻辑 ==========
Serial.print(F("Connecting to target WiFi: "));
Serial.println(ssid);
WiFi.begin(ssid, password);
// 轮询等待WiFi连接,超时10秒
uint32_t wifiTimeout = millis();
while (WiFi.status() != WL_CONNECTED && millis() - wifiTimeout < 10000) {
delay(500);
Serial.print(F("."));
}
// 打印WiFi连接结果
if (WiFi.status() == WL_CONNECTED) {
Serial.println(F(""));
Serial.println(F("WiFi connected successfully!"));
Serial.print(F("IP Address: "));
Serial.println(WiFi.localIP());
} else {
Serial.println(F(""));
Serial.println(F("WiFi connect failed, continue running tasks..."));
}
// 创建FreeRTOS任务
xTaskCreate(MyTask1, "Task1", 2048, NULL, 1, NULL);
xTaskCreate(MyTask2, "Task2", 2048, NULL, 2, NULL);
}
void loop() {
}
// 任务1:控制48号引脚LED,0.5秒闪烁一次
static void MyTask1(void* pvParameters) {
while (1) {
Serial.println(F("Task1"));
digitalWrite(48, !digitalRead(48));
vTaskDelay(500 / portTICK_PERIOD_MS); // 延时0.5秒
}
}
// 任务2:控制12号引脚LED,1秒闪烁一次
static void MyTask2(void* pvParameters) {
while (1) {
Serial.println(F("Task2"));
digitalWrite(12, !digitalRead(12));
vTaskDelay(1000 / portTICK_PERIOD_MS); // 延时1秒
}
}推荐阅读
- 高性价比和便宜的VPS/云服务器推荐: https://blog.vpszj.cn/archives/41.html
- Discourse论坛搭建教程,零基础部署Discourse开源社区论坛网站:https://blog.zeruns.com/archives/919.html
- 【开源】24V3A反激式开关电源(基于UC3842,含电路和变压器参数计算过程):https://blog.zeruns.com/archives/910.html
- 基于STM32的同步整流Buck-Boost数字电源 开源: https://blog.zeruns.com/archives/791.html
- 我的世界一键快速开服教程,支持各个MC版本(forge、fabric、paper、基岩 等等):https://blog.zeruns.com/archives/923.html