c++ - 无法使用 ESP32 连接到家庭 WiFi?
问题描述
好的 - 太好了,我有这个 Arduino ESP32 代码,直到几天前它一直运行良好。之前,下面的代码运行良好。
if (wifi_ssid.length() > 0 && wifi_password.length() > 0 && clientId.length() > 0)
{
WiFi.begin(wifi_ssid.c_str(), wifi_password.c_str());
for (int i = 0; i < 8; i++)
{
delay(500);
USE_SERIAL.print(".");
}
USE_SERIAL.println("");
USE_SERIAL.println("WiFi connected");
USE_SERIAL.println("IP address: ");
USE_SERIAL.println(WiFi.localIP());
}
else if (count > 0)
{
USE_SERIAL.println("MQTT Broker username, password, or client id are not saved in device preferences or are not correct. Please compelete device setup before connecting to MQTT Broker.");
count++;
}
现在突然它不再起作用了,我得到了这个:WiFi连接的IP地址:0.0.0.0 ....[D][WiFiGeneric.cpp:337] _eventCallback():事件:5 - STA_DISCONNECTED [W][WiFiGeneric .cpp:353] _eventCallback():原因:201 - NO_AP_FOUND .... WiFi 连接 IP 地址:0.0.0.0 ....[D][WiFiGeneric.cpp:337] _eventCallback():事件:5 - STA_DISCONNECTED [ W][WiFiGeneric.cpp:353] _eventCallback():原因:201 - NO_AP_FOUND
我能够学到的是,如果我使用如下数据创建一个单独的 const char* :
const char *ssid = "MyAmazingSSID";
const char *wifiPassword = "B@tman2389$";
然后像这样连接到我的 SSID:
WiFi.begin(ssid, wifiPassword);
它工作正常。当然,如果我尝试动态填充 ssid 和密码值的任何变化(例如
WiFi.begin(wifi_ssid.c_str(), wifi_password.c_str())
或者只是从字符串值创建一个缓冲区并将其复制过来我得到了旧的原因:201 - NO_AP_FOUND 废话。
有人以前见过这个或有任何想法吗?我已经在这个烂摊子上浪费了一个周末。完全没有意义的是,直到几天前它还运行良好。为此,我没有升级我的 WiFi 库或任何其他库。
解决方案
太棒了——因为我被阻止了,所以开始做别的事情了。. . 这个周末又回来了。我在 MiFi 上尝试了我的代码,它运行良好。然后我意识到问题出在我的 Verizon Fios 调制解调器上。. . 我重置它,现在一切正常。呃感觉像个白痴。反正我们可以删除这个帖子吗?我实际上并不认为这对其他人有帮助 Lol
推荐阅读
- java - 如何在不同表中没有重复记录的情况下进行休眠保存
- testing - VSTS:从工作部分添加的测试用例在测试部分中不可用
- php - 如何确定可变日期php的前一个月
- node.js - NodeJs Express 错误处理程序到 json
- html - MaterializeCSS,如何使复选框居中
- javascript - 向函数内的对象添加值
- css - 如何列出一系列包含相同属性的类并为每个类分配不同的 z-index
- css - 使用 Material UI 持久抽屉正确推送画布
- python - 计算列值的 Django-tables2 页脚总和
- wordpress - 如何修复 WordPress 多站点网络上的内部服务器错误?