Вопросы и замечания по статьям и схемам, представленным на нашем сайте
При поддержке РадиоКОТструктор.ру
Сб янв 11, 2020 20:41:00
vladimirk68 к сожалению бинарник выложить не могу, далеко от компа я сейчас. Вы прошейте из-под ардуино, компиллируется ведь.
Сб янв 11, 2020 21:49:45
Поработаю за Автора.
Вот вроде рабочий бинарник.
Сб янв 11, 2020 22:48:09
Спасибо! Прошил этим бинарником, работает. Среду Arduino IDE у себя поломал экспериментами...
Ни в какую не хочет работать Arduino ESP8266 Filesystem Uploader...
Сб янв 11, 2020 22:56:26
Так снесите эту Arduino IDE к чертовой матери, в том числе обязательно и папки Arduino15.
Скачайте с Arduino.cc zip-архив, распакуйте, настройте и будет Вам счастье
Сб янв 11, 2020 23:14:58
Снес, почистил... установил 1.8.9, плагины - 0.2.0, 0.3.0, 0.5.0 - не работают... продолжу уже утром... спать пойду...
Вс янв 12, 2020 03:59:31
X его З, что это за плагины. Зайдите в настройки и в пункте
"Дополнительные ссылки для менеджера плат" введите
http://arduino.esp8266.com/stable/package_esp8266com_index.json,именно так, с запятой в конце, оно само настроится.
Ну и строчные или прописные буквы эта ИДЕ различает, в отличие от просто Винды.
Видимо, юниксоиды или линуксоиды это писали, или ЯВА это не любит.
Добавлено after 4 hours 33 minutes 14 seconds:Монитор это, конечно, хорошо, но вот если бы на погоду влиял, было бы совсем прекрасно
Надо к нему какой-нибудь излучатель пристроить, вроде загоризонтных РЛС
Уже почти середина января, а у нас (в Питере) первый или второй раз снег пошёл, и то с дождем,
а днем опять плюс 3-5, дожди обещают. Мой внук до сих пор на самокате или велике гоняет
по чистому асфальту. Снег только прошлой зимой видел.
Вс янв 12, 2020 11:02:49
Это addon-ы Arduino ESP8266 filesystem uploader ESP8266FS-0.5.0 например.
Заработало. Теперь старая проблема опять вылезла: периодически пропадает значок батареи и данные с уличного сенсора (которые берутся с thingspeak), вместо них - данные из Интернет.
Где-то в ранних версиях делал перезагрузку при пропадании значка, надо похоже снова делать.
Вс янв 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);
Вс янв 12, 2020 19:51:35
На пумпочку жать неохота... Раньше как раз вроде пользовал ESP.reset(), теперь попробую digitalWrite(16, LOW); - это кажется надежней, спасибо!
Сейчас буду искать то место, куда вписать это. Где пропадает значок батарейки.
Вс янв 12, 2020 20:14:55
На пумпочку жать неохота... Раньше как раз вроде пользовал ESP.reset(), теперь попробую digitalWrite(16, LOW); - это кажется надежней, спасибо!
Сейчас буду искать то место, куда вписать это. Где пропадает значок батарейки.
Искать надо там, где вызывается обновление данных погоды по срабатыванию таймера.
Вс янв 12, 2020 21:01:06
Быстро не нашел...
himikat123 ! Может Вы подскажете, куда лучше поместить перезапуск?
Вс янв 12, 2020 21:06:39
Есть поиск - введите туда ESP.reset и галку поставьте "Искать во всех вкладках"
Вс янв 12, 2020 22:19:07
361 if(config.sleep==0) ESP.reset();
это совсем не то. Нужно обнаружить пропажу значка батареи (а он исчезает при потере связи с серверов), и там поставить перезапуск.
Вс янв 12, 2020 22:32:13
А зачем отлавливать пропажу связи? Пусть каждый раз при обновлении погоды сбрасывается.
Хуже не будет, всё равно монитор так или иначе перезагружается.
Кстати, есть один нюанс - на оригинальной схеме нет соединения RESET-GPIO16, а без него
работать не будет. Во внешнем датчике оно есть, за счёт чего он и выходит из спячки.
Лучше не напрямую, а через диод, чтобы кнопкой Ресет выход на землю не сажать.
Вс янв 12, 2020 23:34:30
Да, соединения нет. Пока переделывать два монитора тоже неохота.
Пропажу связи отловить как-то правильнее...
Может himikat123 отзовется и подскажет?
Пн янв 13, 2020 01:24:24
Можно попробовать после строки 511 в main.ino вписать else ESP.reset();. То есть если с thingspeak не пришел код 200 - значит связи с ним нет.
Вместо ESP.reset(); лучше применить ESP.deepSleep(10); при этом вывод gpio16 должен быть соединен с выводом reset
Пн янв 13, 2020 01:37:33
Спасибо! Попробую завтра.
Я еще нашел функцию out_bat, в gui.ino - там после строки 396 попробую вставить задержку и потом ESP.reset();
Пн янв 13, 2020 02:45:41
Спасибо! Попробую завтра.
Я еще нашел функцию out_bat, в gui.ino - там после строки 396 попробую вставить задержку и потом ESP.reset();
Эта функция выводит на дисплей заряд аккумулятора внешнего датчика. Можно, конечно, проверять
соответствие данных, но задержкой здесь не отделаешся.
Правильно himikat123 посоветовал, лучше всего отслеживать связь с сервером там, где это
и так делается. Не хотите переделывать мониторы - вставьте ESP.reset(); , ну а если созреете
на переделку - ESP.deepSleep(10); , что, в принципе, аналогично digitalWrite(16, LOW);
Вт янв 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) {
Чт янв 16, 2020 13:53:19
Добрый день. Скажите, это у меня глюк или в прошивке?
Иногда, когда уличный датчик был без связи или идёт отправка одновременно с обновлением монитора, температуру показывает и с интернета и с датчика
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.