Size: a a a

ESP8266 & ESP32 [RU]

2021 September 22

А

Андрей 🌱 Ростов-на-Д... in ESP8266 & ESP32 [RU]
В начале сделал delay на секунду, чтобы проверить, что все реле включаются
источник

А

Андрей 🌱 Ростов-на-Д... in ESP8266 & ESP32 [RU]
И вот после этого она висит
источник

А

Андрей 🌱 Ростов-на-Д... in ESP8266 & ESP32 [RU]
Нет, часов 5 сижу рядом, не перезагружалась
источник

А

Андрей 🌱 Ростов-на-Д... in ESP8266 & ESP32 [RU]
источник

DS

Dmitriy Salko in ESP8266 & ESP32 [RU]
Она может зависать от тысячи причини, на delay я бы вообще не грешил. Что в юарт пишет при этом?
источник

DS

Dmitriy Salko in ESP8266 & ESP32 [RU]
Покажите код
источник

AS

Andre Savelev in ESP8266 & ESP32 [RU]
+
источник

SZ

Slava Zagaynov in ESP8266 & ESP32 [RU]
считай миллис, раз в 2 часа проверяй сценарий и выполняй нужное действие.

например так

void loop(){
 
 if (millis() > last_millis_1_sek + 1000){_1_sek(); last_millis_1_sek = millis(); }  
 
 if (millis() > last_millis_1_min + 60000){_1_min(); last_millis_1_min = millis(); }  
 
 if (millis() > last_millis_1_h + 3600000){_1_h(); last_millis_1_h = millis(); }  
 
ArduinoOTA.handle();delay(2);
server.handleClient();delay(2);
...
источник

А

Андрей 🌱 Ростов-на-Д... in ESP8266 & ESP32 [RU]
int led=5;
 int pump=4;
 int vent=0;
void setup() {

 pinMode(led, OUTPUT);
 pinMode(pump, OUTPUT);
 pinMode(vent, OUTPUT);
 pinMode(2, OUTPUT);
 pinMode(14, OUTPUT);
 pinMode(12, OUTPUT);
}

void loop() {
 digitalWrite(led, HIGH);
 digitalWrite(pump, HIGH);
 digitalWrite(vent, HIGH);
 digitalWrite(2, HIGH);
 digitalWrite(14, HIGH);
 digitalWrite(12, HIGH);
 delay(5000);
 digitalWrite(led, LOW);
 digitalWrite(pump, LOW);
 digitalWrite(vent, LOW);
 digitalWrite(2, LOW);
 digitalWrite(14, LOW);
 digitalWrite(12, LOW);
 delay(1000);
 digitalWrite(led, HIGH);
 digitalWrite(pump, HIGH);
 digitalWrite(vent, HIGH);
 digitalWrite(2, HIGH);
 digitalWrite(14, HIGH);
 digitalWrite(12, HIGH);
 delay(1000);
 digitalWrite(led, LOW);
 digitalWrite(pump, HIGH);
 digitalWrite(vent, HIGH);
 digitalWrite(2, HIGH);
 digitalWrite(14, HIGH);
 digitalWrite(12, HIGH);
 delay(7200000);          
 digitalWrite(led, LOW);  
 digitalWrite(pump, LOW);
 digitalWrite(vent, HIGH);
 digitalWrite(2, HIGH);
 digitalWrite(14, HIGH);
 digitalWrite(12, HIGH);
 delay(7200000);
 digitalWrite(led, LOW);  
 digitalWrite(pump, LOW);
 digitalWrite(vent, LOW);
 digitalWrite(2, HIGH);
 digitalWrite(14, HIGH);
 digitalWrite(12, HIGH);
 delay(7200000);
 digitalWrite(led, LOW);  
 digitalWrite(pump, LOW);
 digitalWrite(vent, LOW);
 digitalWrite(2, LOW);
 digitalWrite(14, HIGH);
 digitalWrite(12, HIGH);
 delay(7200000);
 digitalWrite(led, LOW);  
 digitalWrite(pump, LOW);
 digitalWrite(vent, LOW);
 digitalWrite(2, LOW);
 digitalWrite(14, LOW);
 digitalWrite(12, HIGH);
 delay(7200000);  
 digitalWrite(led, LOW);  
 digitalWrite(pump, LOW);
 digitalWrite(vent, LOW);
 digitalWrite(2, LOW);
 digitalWrite(14, LOW);
 digitalWrite(12, LOW);
 delay(7200000);
 digitalWrite(led, HIGH);
 digitalWrite(pump, HIGH);
 digitalWrite(vent, HIGH);
 digitalWrite(2, HIGH);
 digitalWrite(14, HIGH);
 digitalWrite(12, HIGH);
 delay(21600000);
}
источник

DS

Dmitriy Salko in ESP8266 & ESP32 [RU]
И правда, тут все должно работать. Если есть возможность - послушайте юарт, нету ли перезагрузок, а если есть - то по какой причине. Хотя если не ошибаюсь, в ESP8266 это при загрузке не пишется
источник

DS

Dmitriy Salko in ESP8266 & ESP32 [RU]
Да, все вам будут писать что это "неправильно" на delay делать, но вот это должно работать.
источник

А

Андрей 🌱 Ростов-на-Д... in ESP8266 & ESP32 [RU]
спасибо за ответ) да уже решил с миллис заморочиться, надеюсь получится
источник

DS

Dmitriy Salko in ESP8266 & ESP32 [RU]
Я бы начал с проверки питания. Хотя вы wifi не используете - а значит скачков потребления быть не должно, в принципе даже самый паршивый БП должен вывезти
источник

Б

Богдан in ESP8266 & ESP32 [RU]
Не ну конечно правильно, после каждой перезагрузки, сбоя начинать считать заново. Ннадежно
источник

DS

Dmitriy Salko in ESP8266 & ESP32 [RU]
millis тоже с нуля начинает после каждой перезагрузки и "сбоя"
источник

Б

Богдан in ESP8266 & ESP32 [RU]
угу
источник

Г

Гоша in ESP8266 & ESP32 [RU]
Если нет чёткой привязки ко времени, я бы засинхронился с внешними часами, и по ним определял, когда нужно включать и выключать релешки
источник

Б

Богдан in ESP8266 & ESP32 [RU]
вообще сама концепция использования пауз для таких задач выглядит вырвиглаз
источник

А

Андрей 🌱 Ростов-на-Д... in ESP8266 & ESP32 [RU]
пока привязки нет, но в будущем планируется, дальше хочу время по wifi получать
источник

А

Андрей 🌱 Ростов-на-Д... in ESP8266 & ESP32 [RU]
это так сказать исходя из текущих знаний
источник