C++ ESP32在网络断开而不中断环路时尝试重新连接(Arduino)
我有一个ESP 32从湿度传感器收集数据,然后在我们的网络上服务。我们的WiFi在凌晨1点到6点之间关闭(因为没有人在使用它)。ESP不会自动尝试重新连接,因此它整夜收集数据,而我现在无法访问这些数据 由于明显的原因,我不希望它在断开与我们网络的连接时停止数据收集,所以我不能尝试重新连接循环。我尝试了以下代码:C++ ESP32在网络断开而不中断环路时尝试重新连接(Arduino),c++,arduino,esp32,C++,Arduino,Esp32,我有一个ESP 32从湿度传感器收集数据,然后在我们的网络上服务。我们的WiFi在凌晨1点到6点之间关闭(因为没有人在使用它)。ESP不会自动尝试重新连接,因此它整夜收集数据,而我现在无法访问这些数据 由于明显的原因,我不希望它在断开与我们网络的连接时停止数据收集,所以我不能尝试重新连接循环。我尝试了以下代码: void loop() { sensor_value = analogRead(sensor_pin); Serial.println(sensor_value); push
void loop() {
sensor_value = analogRead(sensor_pin);
Serial.println(sensor_value);
push_value(float(sensor_value)/2047.0);
//============
//RELEVANT BIT
//============
if( WiFi.status() != WL_CONNECTED ){
//Try to recconect if connection is lost....
WiFi.disconnect();
WiFi.begin(ssid, pwd);
}
delay(second_delay*1000);
}
我看到每个人都在尝试重新连接之前运行Wifi.disconnect()。有必要吗。WiFi.begin()
是否暂停执行?很遗憾,我现在无法测试我的代码
我正在使用Arduino IDE和Wifi.h
在你问之前:是的,2047是正确的。我用错误的电压运行传感器,这导致了大约这个最大值。鉴于您标记了esp8266 wifi,我假设您正在使用该库。如果是,那么wifi.begin将不会阻止执行。库在默认情况下设置自动重新连接,因此它将在可用时自动重新连接到最后一个访问点。任何客户端函数在断开连接时都将返回一个错误代码。我不知道在开始之前调用wifi.disconnect的任何原因。鉴于您已经标记了esp8266 wifi,我假设您正在使用该库。如果是,那么wifi.begin将不会阻止执行。库在默认情况下设置自动重新连接,因此它将在可用时自动重新连接到最后一个访问点。任何客户端函数在断开连接时都将返回一个错误代码。我不知道在开始之前应该调用wifi.disconnect的任何原因。该标签可能选错了。我正在使用带有ESP32插件的Arduino IDE和I am import WiFi.h。这些可能是同一个图书馆,但我不确定。我确信该库不会将AutoReconect设置为默认值,因为当我今天醒来时,我无法访问数据。该标记可能选择不当。我正在使用带有ESP32插件的Arduino IDE和I am import WiFi.h。这些可能是同一个图书馆,但我不确定。我确信该库不会将AutoReconect设置为默认值,因为当我今天醒来时,我无法访问数据。