Вопросы и замечания по статьям и схемам, представленным на нашем сайте

При поддержке РадиоКОТструктор.ру


Ответить

Re: Монитор погоды на ESP8266

Сб янв 11, 2020 20:41:00

vladimirk68 к сожалению бинарник выложить не могу, далеко от компа я сейчас. Вы прошейте из-под ардуино, компиллируется ведь.

Re: Монитор погоды на ESP8266

Сб янв 11, 2020 21:49:45

Поработаю за Автора. :)) Вот вроде рабочий бинарник.
clock.zip
(374.81 KiB) Скачиваний: 89

Re: Монитор погоды на ESP8266

Сб янв 11, 2020 22:48:09

Спасибо! Прошил этим бинарником, работает. Среду Arduino IDE у себя поломал экспериментами...
Ни в какую не хочет работать Arduino ESP8266 Filesystem Uploader...

Re: Монитор погоды на ESP8266

Сб янв 11, 2020 22:56:26

Так снесите эту Arduino IDE к чертовой матери, в том числе обязательно и папки Arduino15.
Скачайте с Arduino.cc zip-архив, распакуйте, настройте и будет Вам счастье :))

Re: Монитор погоды на ESP8266

Сб янв 11, 2020 23:14:58

Снес, почистил... установил 1.8.9, плагины - 0.2.0, 0.3.0, 0.5.0 - не работают... продолжу уже утром... спать пойду...

Re: Монитор погоды на ESP8266

Вс янв 12, 2020 03:59:31

X его З, что это за плагины. Зайдите в настройки и в пункте
"Дополнительные ссылки для менеджера плат" введите
http://arduino.esp8266.com/stable/package_esp8266com_index.json,
именно так, с запятой в конце, оно само настроится.
Ну и строчные или прописные буквы эта ИДЕ различает, в отличие от просто Винды.
Видимо, юниксоиды или линуксоиды это писали, или ЯВА это не любит. :(

Добавлено after 4 hours 33 minutes 14 seconds:
Монитор это, конечно, хорошо, но вот если бы на погоду влиял, было бы совсем прекрасно :)))
Надо к нему какой-нибудь излучатель пристроить, вроде загоризонтных РЛС :))
Уже почти середина января, а у нас (в Питере) первый или второй раз снег пошёл, и то с дождем,
а днем опять плюс 3-5, дожди обещают. Мой внук до сих пор на самокате или велике гоняет
по чистому асфальту. Снег только прошлой зимой видел.

Re: Монитор погоды на ESP8266

Вс янв 12, 2020 11:02:49

Это addon-ы Arduino ESP8266 filesystem uploader ESP8266FS-0.5.0 например.
Заработало. Теперь старая проблема опять вылезла: периодически пропадает значок батареи и данные с уличного сенсора (которые берутся с thingspeak), вместо них - данные из Интернет.
Где-то в ранних версиях делал перезагрузку при пропадании значка, надо похоже снова делать.

Re: Монитор погоды на ESP8266

Вс янв 12, 2020 18:37:05

Это addon-ы Arduino ESP8266 filesystem uploader ESP8266FS-0.5.0 например.
Заработало. Теперь старая проблема опять вылезла: периодически пропадает значок батареи и данные с уличного сенсора (которые берутся с thingspeak), вместо них - данные из Интернет.
Где-то в ранних версиях делал перезагрузку при пропадании значка, надо похоже снова делать.

Я никакие addon-ы не подключал, разве что esp8266fs.jar в папку tools засунул и всё работает.
А насчёт пропадания данных - да, есть такое, создалось впечатление, что это
связка ЕСП-роутер иногда чудит - при "аппаратной" перезагрузке монитора происходит переподключение к Wi-Fi,
и всё встаёт на место. Тоже в программе делал вместо программной перезагрузки обычный
Ресет сбросом GPIO16 в ноль. Сейчас забил на это, пропало - нажал на пумпочку Ресет, и ладно.
На просторах тырнета когда-то нарыл, что эти ESP.reset(); и прочие кривовато работают,
поэтому вместо этого воткнул digitalWrite(16, LOW);

Re: Монитор погоды на ESP8266

Вс янв 12, 2020 19:51:35

На пумпочку жать неохота... Раньше как раз вроде пользовал ESP.reset(), теперь попробую digitalWrite(16, LOW); - это кажется надежней, спасибо!
Сейчас буду искать то место, куда вписать это. Где пропадает значок батарейки.

Re: Монитор погоды на ESP8266

Вс янв 12, 2020 20:14:55

На пумпочку жать неохота... Раньше как раз вроде пользовал ESP.reset(), теперь попробую digitalWrite(16, LOW); - это кажется надежней, спасибо!
Сейчас буду искать то место, куда вписать это. Где пропадает значок батарейки.

Искать надо там, где вызывается обновление данных погоды по срабатыванию таймера.

Re: Монитор погоды на ESP8266

Вс янв 12, 2020 21:01:06

Быстро не нашел...

himikat123 ! Может Вы подскажете, куда лучше поместить перезапуск?

Re: Монитор погоды на ESP8266

Вс янв 12, 2020 21:06:39

Есть поиск - введите туда ESP.reset и галку поставьте "Искать во всех вкладках"

Re: Монитор погоды на ESP8266

Вс янв 12, 2020 22:19:07

361 if(config.sleep==0) ESP.reset();
это совсем не то. Нужно обнаружить пропажу значка батареи (а он исчезает при потере связи с серверов), и там поставить перезапуск.

Re: Монитор погоды на ESP8266

Вс янв 12, 2020 22:32:13

А зачем отлавливать пропажу связи? Пусть каждый раз при обновлении погоды сбрасывается.
Хуже не будет, всё равно монитор так или иначе перезагружается.
Кстати, есть один нюанс - на оригинальной схеме нет соединения RESET-GPIO16, а без него
работать не будет. Во внешнем датчике оно есть, за счёт чего он и выходит из спячки.
Лучше не напрямую, а через диод, чтобы кнопкой Ресет выход на землю не сажать.

Re: Монитор погоды на ESP8266

Вс янв 12, 2020 23:34:30

Да, соединения нет. Пока переделывать два монитора тоже неохота.
Пропажу связи отловить как-то правильнее...

Может himikat123 отзовется и подскажет?

Re: Монитор погоды на ESP8266

Пн янв 13, 2020 01:24:24

Можно попробовать после строки 511 в main.ino вписать else ESP.reset();. То есть если с thingspeak не пришел код 200 - значит связи с ним нет.
Вместо ESP.reset(); лучше применить ESP.deepSleep(10); при этом вывод gpio16 должен быть соединен с выводом reset

Re: Монитор погоды на ESP8266

Пн янв 13, 2020 01:37:33

Спасибо! Попробую завтра.
Я еще нашел функцию out_bat, в gui.ino - там после строки 396 попробую вставить задержку и потом ESP.reset();

Re: Монитор погоды на ESP8266

Пн янв 13, 2020 02:45:41

Спасибо! Попробую завтра.
Я еще нашел функцию out_bat, в gui.ino - там после строки 396 попробую вставить задержку и потом ESP.reset();

Эта функция выводит на дисплей заряд аккумулятора внешнего датчика. Можно, конечно, проверять
соответствие данных, но задержкой здесь не отделаешся. :)
Правильно himikat123 посоветовал, лучше всего отслеживать связь с сервером там, где это
и так делается. Не хотите переделывать мониторы - вставьте ESP.reset(); , ну а если созреете
на переделку - ESP.deepSleep(10); , что, в принципе, аналогично digitalWrite(16, LOW);

Re: Монитор погоды на ESP8266

Вт янв 14, 2020 19:37:27

"Мы не ищем легких путей!"
До больного зуба можно добраться как минимум двумя путями...

Вот результаты экспериментов:
Диод Шоттки, катод к GPIO16, digitalWrite(16, LOW); - работает.

Как посоветовал himikat123:
Вот это в main.ino: (номера строк сместились из-за инициализации GPIO16)
client.end();
}

unsigned long currentMillis = millis();
if (currentMillis - previousMillis >= interval_delay) {
previousMillis = currentMillis;
digitalWrite(16, LOW);
}
}
}
httpData="";

Срабатывает почти всегда, однако иногда перезапуска не происходит несмотря на отсутствие значка батареи (и данных соответственно).


Второй вариант, менее логичный, но срабатывает всегда:
В gui.ino:

396 else{
myGLCD.setColor(back_color);
myGLCD.fillRect(0,0,22,16);

unsigned long currentMillis = millis();

if (currentMillis - previousMillis >= 10000) {
previousMillis = currentMillis;
digitalWrite(GP16, LOW);
}

}

Добавлено after 11 minutes 18 seconds:
Небольшая поправка:

Вот это в main.ino: (номера строк сместились из-за инициализации GPIO16) - определен как GP16
client.end();
}

unsigned long currentMillis = millis();
if (currentMillis - previousMillis >= interval_delay) {
previousMillis = currentMillis;
digitalWrite(GP16, LOW);
}
}
}
httpData="";

Срабатывает почти всегда, однако иногда перезапуска не происходит несмотря на отсутствие значка батареи (и данных соответственно).

Добавлено after 1 minute 51 second:
Сорри,
if (currentMillis - previousMillis >= 10000) {

Re: Монитор погоды на ESP8266

Чт янв 16, 2020 13:53:19

Добрый день. Скажите, это у меня глюк или в прошивке?
Иногда, когда уличный датчик был без связи или идёт отправка одновременно с обновлением монитора, температуру показывает и с интернета и с датчика
Ответить