Монитор погоды на ESP8266
- himikat123
- Электрический кот
- Сообщения: 1077
- Зарегистрирован: Ср фев 15, 2017 22:37:11
- Контактная информация:
Re: Монитор погоды на ESP8266
vladimirk68 к сожалению бинарник выложить не могу, далеко от компа я сейчас. Вы прошейте из-под ардуино, компиллируется ведь.
Re: Монитор погоды на ESP8266
Поработаю за Автора.
Вот вроде рабочий бинарник.
-
vladimirk68
- Открыл глаза
- Сообщения: 55
- Зарегистрирован: Пт авг 02, 2013 06:10:26
Re: Монитор погоды на ESP8266
Спасибо! Прошил этим бинарником, работает. Среду Arduino IDE у себя поломал экспериментами...
Ни в какую не хочет работать Arduino ESP8266 Filesystem Uploader...
Ни в какую не хочет работать Arduino ESP8266 Filesystem Uploader...
Re: Монитор погоды на ESP8266
Так снесите эту Arduino IDE к чертовой матери, в том числе обязательно и папки Arduino15.
Скачайте с Arduino.cc zip-архив, распакуйте, настройте и будет Вам счастье
Скачайте с Arduino.cc zip-архив, распакуйте, настройте и будет Вам счастье
-
vladimirk68
- Открыл глаза
- Сообщения: 55
- Зарегистрирован: Пт авг 02, 2013 06:10:26
Re: Монитор погоды на ESP8266
Снес, почистил... установил 1.8.9, плагины - 0.2.0, 0.3.0, 0.5.0 - не работают... продолжу уже утром... спать пойду...
Re: Монитор погоды на ESP8266
X его З, что это за плагины. Зайдите в настройки и в пункте
"Дополнительные ссылки для менеджера плат" введите
http://arduino.esp8266.com/stable/package_esp8266com_index.json,
именно так, с запятой в конце, оно само настроится.
Ну и строчные или прописные буквы эта ИДЕ различает, в отличие от просто Винды.
Видимо, юниксоиды или линуксоиды это писали, или ЯВА это не любит.
Добавлено after 4 hours 33 minutes 14 seconds:
Монитор это, конечно, хорошо, но вот если бы на погоду влиял, было бы совсем прекрасно
Надо к нему какой-нибудь излучатель пристроить, вроде загоризонтных РЛС
Уже почти середина января, а у нас (в Питере) первый или второй раз снег пошёл, и то с дождем,
а днем опять плюс 3-5, дожди обещают. Мой внук до сих пор на самокате или велике гоняет
по чистому асфальту. Снег только прошлой зимой видел.
"Дополнительные ссылки для менеджера плат" введите
http://arduino.esp8266.com/stable/package_esp8266com_index.json,
именно так, с запятой в конце, оно само настроится.
Ну и строчные или прописные буквы эта ИДЕ различает, в отличие от просто Винды.
Видимо, юниксоиды или линуксоиды это писали, или ЯВА это не любит.
Добавлено after 4 hours 33 minutes 14 seconds:
Монитор это, конечно, хорошо, но вот если бы на погоду влиял, было бы совсем прекрасно
Надо к нему какой-нибудь излучатель пристроить, вроде загоризонтных РЛС
Уже почти середина января, а у нас (в Питере) первый или второй раз снег пошёл, и то с дождем,
а днем опять плюс 3-5, дожди обещают. Мой внук до сих пор на самокате или велике гоняет
по чистому асфальту. Снег только прошлой зимой видел.
-
vladimirk68
- Открыл глаза
- Сообщения: 55
- Зарегистрирован: Пт авг 02, 2013 06:10:26
Re: Монитор погоды на ESP8266
Это addon-ы Arduino ESP8266 filesystem uploader ESP8266FS-0.5.0 например.
Заработало. Теперь старая проблема опять вылезла: периодически пропадает значок батареи и данные с уличного сенсора (которые берутся с thingspeak), вместо них - данные из Интернет.
Где-то в ранних версиях делал перезагрузку при пропадании значка, надо похоже снова делать.
Заработало. Теперь старая проблема опять вылезла: периодически пропадает значок батареи и данные с уличного сенсора (которые берутся с thingspeak), вместо них - данные из Интернет.
Где-то в ранних версиях делал перезагрузку при пропадании значка, надо похоже снова делать.
Re: Монитор погоды на ESP8266
[uquote="vladimirk68",url="/forum/viewtopic.php?p=3772228#p3772228"]Это addon-ы Arduino ESP8266 filesystem uploader ESP8266FS-0.5.0 например.
Заработало. Теперь старая проблема опять вылезла: периодически пропадает значок батареи и данные с уличного сенсора (которые берутся с thingspeak), вместо них - данные из Интернет.
Где-то в ранних версиях делал перезагрузку при пропадании значка, надо похоже снова делать.[/uquote]
Я никакие addon-ы не подключал, разве что esp8266fs.jar в папку tools засунул и всё работает.
А насчёт пропадания данных - да, есть такое, создалось впечатление, что это
связка ЕСП-роутер иногда чудит - при "аппаратной" перезагрузке монитора происходит переподключение к Wi-Fi,
и всё встаёт на место. Тоже в программе делал вместо программной перезагрузки обычный
Ресет сбросом GPIO16 в ноль. Сейчас забил на это, пропало - нажал на пумпочку Ресет, и ладно.
На просторах тырнета когда-то нарыл, что эти ESP.reset(); и прочие кривовато работают,
поэтому вместо этого воткнул digitalWrite(16, LOW);
Заработало. Теперь старая проблема опять вылезла: периодически пропадает значок батареи и данные с уличного сенсора (которые берутся с thingspeak), вместо них - данные из Интернет.
Где-то в ранних версиях делал перезагрузку при пропадании значка, надо похоже снова делать.[/uquote]
Я никакие addon-ы не подключал, разве что esp8266fs.jar в папку tools засунул и всё работает.
А насчёт пропадания данных - да, есть такое, создалось впечатление, что это
связка ЕСП-роутер иногда чудит - при "аппаратной" перезагрузке монитора происходит переподключение к Wi-Fi,
и всё встаёт на место. Тоже в программе делал вместо программной перезагрузки обычный
Ресет сбросом GPIO16 в ноль. Сейчас забил на это, пропало - нажал на пумпочку Ресет, и ладно.
На просторах тырнета когда-то нарыл, что эти ESP.reset(); и прочие кривовато работают,
поэтому вместо этого воткнул digitalWrite(16, LOW);
-
vladimirk68
- Открыл глаза
- Сообщения: 55
- Зарегистрирован: Пт авг 02, 2013 06:10:26
Re: Монитор погоды на ESP8266
На пумпочку жать неохота... Раньше как раз вроде пользовал ESP.reset(), теперь попробую digitalWrite(16, LOW); - это кажется надежней, спасибо!
Сейчас буду искать то место, куда вписать это. Где пропадает значок батарейки.
Сейчас буду искать то место, куда вписать это. Где пропадает значок батарейки.
Re: Монитор погоды на ESP8266
[uquote="vladimirk68",url="/forum/viewtopic.php?p=3772526#p3772526"]На пумпочку жать неохота... Раньше как раз вроде пользовал ESP.reset(), теперь попробую digitalWrite(16, LOW); - это кажется надежней, спасибо!
Сейчас буду искать то место, куда вписать это. Где пропадает значок батарейки.[/uquote]
Искать надо там, где вызывается обновление данных погоды по срабатыванию таймера.
Сейчас буду искать то место, куда вписать это. Где пропадает значок батарейки.[/uquote]
Искать надо там, где вызывается обновление данных погоды по срабатыванию таймера.
-
vladimirk68
- Открыл глаза
- Сообщения: 55
- Зарегистрирован: Пт авг 02, 2013 06:10:26
Re: Монитор погоды на ESP8266
Быстро не нашел...
himikat123 ! Может Вы подскажете, куда лучше поместить перезапуск?
himikat123 ! Может Вы подскажете, куда лучше поместить перезапуск?
Re: Монитор погоды на ESP8266
Есть поиск - введите туда ESP.reset и галку поставьте "Искать во всех вкладках"
-
vladimirk68
- Открыл глаза
- Сообщения: 55
- Зарегистрирован: Пт авг 02, 2013 06:10:26
Re: Монитор погоды на ESP8266
361 if(config.sleep==0) ESP.reset();
это совсем не то. Нужно обнаружить пропажу значка батареи (а он исчезает при потере связи с серверов), и там поставить перезапуск.
это совсем не то. Нужно обнаружить пропажу значка батареи (а он исчезает при потере связи с серверов), и там поставить перезапуск.
Re: Монитор погоды на ESP8266
А зачем отлавливать пропажу связи? Пусть каждый раз при обновлении погоды сбрасывается.
Хуже не будет, всё равно монитор так или иначе перезагружается.
Кстати, есть один нюанс - на оригинальной схеме нет соединения RESET-GPIO16, а без него
работать не будет. Во внешнем датчике оно есть, за счёт чего он и выходит из спячки.
Лучше не напрямую, а через диод, чтобы кнопкой Ресет выход на землю не сажать.
Хуже не будет, всё равно монитор так или иначе перезагружается.
Кстати, есть один нюанс - на оригинальной схеме нет соединения RESET-GPIO16, а без него
работать не будет. Во внешнем датчике оно есть, за счёт чего он и выходит из спячки.
Лучше не напрямую, а через диод, чтобы кнопкой Ресет выход на землю не сажать.
-
vladimirk68
- Открыл глаза
- Сообщения: 55
- Зарегистрирован: Пт авг 02, 2013 06:10:26
Re: Монитор погоды на ESP8266
Да, соединения нет. Пока переделывать два монитора тоже неохота.
Пропажу связи отловить как-то правильнее...
Может himikat123 отзовется и подскажет?
Пропажу связи отловить как-то правильнее...
Может himikat123 отзовется и подскажет?
- himikat123
- Электрический кот
- Сообщения: 1077
- Зарегистрирован: Ср фев 15, 2017 22:37:11
- Контактная информация:
Re: Монитор погоды на ESP8266
Можно попробовать после строки 511 в main.ino вписать else ESP.reset();. То есть если с thingspeak не пришел код 200 - значит связи с ним нет.
Вместо ESP.reset(); лучше применить ESP.deepSleep(10); при этом вывод gpio16 должен быть соединен с выводом reset
Вместо ESP.reset(); лучше применить ESP.deepSleep(10); при этом вывод gpio16 должен быть соединен с выводом reset
-
vladimirk68
- Открыл глаза
- Сообщения: 55
- Зарегистрирован: Пт авг 02, 2013 06:10:26
Re: Монитор погоды на ESP8266
Спасибо! Попробую завтра.
Я еще нашел функцию out_bat, в gui.ino - там после строки 396 попробую вставить задержку и потом ESP.reset();
Я еще нашел функцию out_bat, в gui.ino - там после строки 396 попробую вставить задержку и потом ESP.reset();
Re: Монитор погоды на ESP8266
[uquote="vladimirk68",url="/forum/viewtopic.php?p=3772711#p3772711"]Спасибо! Попробую завтра.
Я еще нашел функцию out_bat, в gui.ino - там после строки 396 попробую вставить задержку и потом ESP.reset();[/uquote]
Эта функция выводит на дисплей заряд аккумулятора внешнего датчика. Можно, конечно, проверять
соответствие данных, но задержкой здесь не отделаешся.
Правильно himikat123 посоветовал, лучше всего отслеживать связь с сервером там, где это
и так делается. Не хотите переделывать мониторы - вставьте ESP.reset(); , ну а если созреете
на переделку - ESP.deepSleep(10); , что, в принципе, аналогично digitalWrite(16, LOW);
Я еще нашел функцию out_bat, в gui.ino - там после строки 396 попробую вставить задержку и потом ESP.reset();[/uquote]
Эта функция выводит на дисплей заряд аккумулятора внешнего датчика. Можно, конечно, проверять
соответствие данных, но задержкой здесь не отделаешся.
Правильно himikat123 посоветовал, лучше всего отслеживать связь с сервером там, где это
и так делается. Не хотите переделывать мониторы - вставьте ESP.reset(); , ну а если созреете
на переделку - ESP.deepSleep(10); , что, в принципе, аналогично digitalWrite(16, LOW);
-
vladimirk68
- Открыл глаза
- Сообщения: 55
- Зарегистрирован: Пт авг 02, 2013 06:10:26
Re: Монитор погоды на ESP8266
"Мы не ищем легких путей!"
До больного зуба можно добраться как минимум двумя путями...
Вот результаты экспериментов:
Диод Шоттки, катод к 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) {
До больного зуба можно добраться как минимум двумя путями...
Вот результаты экспериментов:
Диод Шоттки, катод к 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) {
- imon220
- Потрогал лапой паяльник
- Сообщения: 326
- Зарегистрирован: Сб июл 27, 2013 03:46:14
- Откуда: Р Крым
Re: Монитор погоды на ESP8266
Добрый день. Скажите, это у меня глюк или в прошивке?
Иногда, когда уличный датчик был без связи или идёт отправка одновременно с обновлением монитора, температуру показывает и с интернета и с датчика
Иногда, когда уличный датчик был без связи или идёт отправка одновременно с обновлением монитора, температуру показывает и с интернета и с датчика