-
Публикации
24 -
Зарегистрирован
-
Посещение
-
Дней в лидерах
2
Тип публикации
Профили
Форум
Блоги
Календарь
Файлы
Все публикации пользователя Forester
-
Метеостанция на ESP8266 от it4it.club
Forester ответил в тему пользователя Kitsum в Espressif Systems
services: send data to MQTT server answer: CONNECTED P.S. Вручную забил в Корневой путь espWeatherStation, после этого заработало. Может, кто подскажет, как отправить по MQTT текст? Т.е. мне нужно отправить URL. Если воспользоваться mqttPublish, при компиляции получаю что-то типа: cannot convert 'const char*' to 'float' for argument '2' to 'bool mqttPublish(String, float)'- 859 ответов
-
- web server
- mqtt
- (и ещё 8)
-
Метеостанция на ESP8266 от it4it.club
Forester ответил в тему пользователя Kitsum в Espressif Systems
А кто-нибудь проверял работу MQTT? Что-то у меня не работает. Хотя на предыдущих версиях работало.- 859 ответов
-
- web server
- mqtt
- (и ещё 8)
-
Метеостанция на ESP8266 от it4it.club
Forester ответил в тему пользователя Kitsum в Espressif Systems
Что-то не компилируется у меня. Ошибки сыпятся типа 'WiFiMode_t' has not been declared P.S. А нет. Распаковал архив через 7-zip, а не WinRar. Скомпилировалось. Вот оно чо...- 859 ответов
-
- web server
- mqtt
- (и ещё 8)
-
-
- esp8266
- метеостанция
-
(и ещё 1)
Теги:
-
Метеостанция на ESP8266 от it4it.club
Forester ответил в тему пользователя Kitsum в Espressif Systems
Может быть, не совсем в тему, но опишу забавный случай. У меня есть реле Sonoff Base, на котором я провожу периодически тестирование разных прошивок. Последний раз тестировал ESPEasy. И в процессе тестирования обнаружился аппаратный брак. Если плату вынести на холод (примерно -10 градусов), то через некоторое время она теряет wifi роутер и уходит в бесконечный реконнект. Заносишь в дом, нагревается, и уже минуты через две нормально коннектится к точке. Я предполагаю, что проблема в бракованном кварцевом резонаторе, у которого уплывает частота при охлаждении.Просто была уже подобная проблема с клоном Arduino UNO. Только там наоборот плата нормально работала только в холодильнике, а принагреве зависала)) Поменял резонтатор - отлично работает уже не один год. Вот такие поделки иногда приходят с али. Либо во втором случае присутствует какая-то микротрещина на плате.- 859 ответов
-
- web server
- mqtt
- (и ещё 8)
-
Метеостанция на ESP8266 от it4it.club
Forester ответил в тему пользователя Kitsum в Espressif Systems
Удалось мне реализовать свою идею, которую я описывал в этом посте (про визуализацию скорости изменения давления). Так как программирование веб-интерфейса для меня даже не темный лес, а что-то типа области за горизонтом событий черной дыры, решил использовать для этого протокол MQTT и андроид-приложение с возможностью получения URL картинки и отображения этой самой картинки в интерфейсе. Код получился такой (программистам с расшатанными нервами смотреть не рекомендуется!): Если кому-то интересно, файлик ESP8266_WS_iT4iT.CLUB.ino со своими изменениями прикрепил. Понимаю, что грамотный человек реализует все гораздо правильней, взяв уже готовые данные из таблицы для графика. Но моих знаний для этого не хватает. Так что как-то так)) Для отображения показаний сваял в фотошопе на первое время вот такой манометр. В MQTT клиенте это пока выглядит так: ESP8266_WS_iT4iT.CLUB.zip- 859 ответов
-
- 1
-
- web server
- mqtt
- (и ещё 8)
-
Метеостанция на ESP8266 от it4it.club
Forester ответил в тему пользователя Kitsum в Espressif Systems
Ну тогда подозрение падает на ESP. Либо у вас качество сигнала по какой-то причине ухудшается (расстояние, помехи), либо какая-то аппаратная особенность конкретно этого ESP модуля. Попробовать другой модуль.- 859 ответов
-
- web server
- mqtt
- (и ещё 8)
-
Метеостанция на ESP8266 от it4it.club
Forester ответил в тему пользователя Kitsum в Espressif Systems
Судя по скриншотам, там роутер asus. Со штатной прошивкой vpn сервер отлично работает. Не один год пользуюсь.- 859 ответов
-
- web server
- mqtt
- (и ещё 8)
-
Метеостанция на ESP8266 от it4it.club
Forester ответил в тему пользователя Kitsum в Espressif Systems
А если заполнить массив не нулями а примерно средними значениями? Ну, например, для давления 730 мм.рт.ст.... Тогда, наверное, масштабирование будет адекватным с самого начала построения графика?- 859 ответов
-
- web server
- mqtt
- (и ещё 8)
-
Метеостанция на ESP8266 от it4it.club
Forester ответил в тему пользователя Kitsum в Espressif Systems
Ну, как вариант, попробовать с другого роутера подключиться. Смартфон настроить как точку доступа, подключить ESP к ней и посмотреть, как ситуация изменится на мобильном интернете. Чтобы появилась хоть какая-то информация для размышления)- 859 ответов
-
- web server
- mqtt
- (и ещё 8)
-
Метеостанция на ESP8266 от it4it.club
Forester ответил в тему пользователя Kitsum в Espressif Systems
Ну пока умные люди ничего не ответили, попробуйте поменять в этой строке 600000 на 300000, чтобы данные отправлялись каждые пять минут, а не 10. Вдруг что-то изменится) Но, скорее всего, в настройках вашего интернета надо разбираться. Еще я б попробовал (как советуют здесь https://esp8266.ru/forum/threads/primer-otpravki-na-narodmon-ru.917/ ) в этой строчке заменить narodmon.ru на IP адрес 94.142.140.101- 859 ответов
-
- web server
- mqtt
- (и ещё 8)
-
Метеостанция на ESP8266 от it4it.club
Forester ответил в тему пользователя Kitsum в Espressif Systems
Может, сохранить страницу как .html на компе, который открывает нормально. Перенести сохраненный файл и папку на проблемный комп и попробовать это открыть? Проблема то ведь не в соединении, а в каких-то параметрах винды (которые используют все установленные браузеры). Чего там может быть... джаву обновить?- 859 ответов
-
- web server
- mqtt
- (и ещё 8)
-
Метеостанция на ESP8266 от it4it.club
Forester ответил в тему пользователя Kitsum в Espressif Systems
Имхуется мне, что что-то с выводами SDA и SCL напутано. Раз BME280 перестал определяться. Смотрите, где-то ваш код переназначает SDA и SCL на другие пины. Если оставить только ваш код, дисплей нормально работает именно на тех пинах, к которым подключен датчик?- 859 ответов
-
- 1
-
- web server
- mqtt
- (и ещё 8)
-
Метеостанция на ESP8266 от it4it.club
Forester ответил в тему пользователя Kitsum в Espressif Systems
Да, мы наконец то поняли друг друга. Если быть точным, японцы не закладывали в часы сравнение двух показаний. В часах CASIO просто идет построение графика изменения давления на матричном ЖКИ. И каждая следующая точка на индикаторе "зажигается" через два часа после предыдущей. Нас интересует первая производная от этого грубого графика. Если давление изменяется менее чем на 1 гПа, следующая точка загорается на одном уровне с предыдущей. Изменилось на +/- 1 гПа (0,03 дюйма.рт.ст или 0,75 мм.рт.ст.) - загорается на один уровень выше или ниже относительно предыдущей. И так далее. То есть, я в своем "барометре" ввел пять уровней изменения атмосферного давления. Каждый следующий уровень отличается от предыдущего на 1 гПа. Свои выводы сделал после многолетних наблюдений за графиком японских часов. Разницу между соседними точками на графике более чем на 4 уровня я ни разу не видел. Ну, возможно, в других уголках планеты такое бывает. Но это в любом случае очень сильные изменения давления. Я тут поднял инструкции снова от часов. И понял, что, во-первых, в инструкции допущена ошибка (вместо 0,05 дюймов.рт.ст. нужно было написать 0,03 дюйма.рт.ст.). Наверное, при переводе инструкции на русский допустили опечатку. Во-вторых, я в своем коде тоже неправильно указал диапазоны для сравнения. наверное перенес эту опечатку, начав рассчитывать от 0,05 дюймов, а не от гектопаскаля. Пересчитав заново, получаются такие цифры (если ошибся, поправьте): 0. 0,00 < ΔP < 0,75 мм.рт.ст. (1 гПа) - стабильное атмосферное давление 1. 0,75 ⩽ ΔP ⩽ 1,50 мм.рт.ст. (1 гПа) - легкие возмущения атм. давления 2. 1,50 ⩽ ΔP ⩽ 2,25 мм.рт.ст. (2 гПа) - к перемене погоды 3. 2,25 ⩽ ΔP ⩽ 3,00 мм.рт.ст. (3 гПа) - к резкой перемене погоды 4. 3,00 ⩽ ΔP мм.рт.ст. (4 гПа) - к концу света Так же в отрицательную сторону. Промежуток между измерениями 2 часа.- 859 ответов
-
- web server
- mqtt
- (и ещё 8)
-
Метеостанция на ESP8266 от it4it.club
Forester ответил в тему пользователя Kitsum в Espressif Systems
Понял причину бага, из-за которого у меня ESP не реконнектится к роутеру после перезагрузки роутера. Если в роутере настроен невидимый SSID, то ESP не видит точку доступа и соответственно не пытается к ней подключиться. Не знаю, можно ли такое реализовать...Но надо, видимо, не искать SSID в эфире, а потом к ней подключаться. А просто пытаться к ней подключиться.- 859 ответов
-
- web server
- mqtt
- (и ещё 8)
-
Метеостанция на ESP8266 от it4it.club
Forester ответил в тему пользователя Kitsum в Espressif Systems
Нет. Я держу в памяти только два значения, остальные отбрасываю. То есть все измеренные значения выводятся на экран, но для сравнения выбираются только два с разницей в два часа (такой алгоритм заложен в часах CASIO). Сравнение происходит не с каждым измерением, а раз в два часа. Этого достаточно. Около года тестирую такой алгоритм. Ардуина адекватно повторяет своими стрелками на экране "крутизну" графика на часах CASIO. В данном проекте самый простой вариант, наверное, - подсвечивать шкалу давления четырьмя разными цветами. Ну например: зеленый - давление стабильное; желтый - первая скорость изменения давления; оранжевый - вторая; красный - третья; черный - четвертая. А падение или рост обозначать какой-то стрелкой. Ну это мои соображения. У кого-то всегда найдутся идеи получше))- 859 ответов
-
- web server
- mqtt
- (и ещё 8)
-
Метеостанция на ESP8266 от it4it.club
Forester ответил в тему пользователя Kitsum в Espressif Systems
Если интересно, вот полный код https://yadi.sk/d/B0x4Thf73RSUvH- 859 ответов
-
- web server
- mqtt
- (и ещё 8)
-
Метеостанция на ESP8266 от it4it.club
Forester ответил в тему пользователя Kitsum в Espressif Systems
Нет. Опрашивать можно сколько угодно раз. Но запоминать одно значение, а второе через два часа. И сравнивать их. Я не программист и свой страшный код даже боюсь показывать здесь. В моем случае код простой. Опрос датчиков каждые две секунды с инкрементом переменной и сбросом ее в ноль через 3599 циклов (через два часа). Если переменная равна нулю, запоминаем первое значение давления. Если переменная равна 3599 - запоминаем второе.- 859 ответов
-
- web server
- mqtt
- (и ещё 8)
-
Метеостанция на ESP8266 от it4it.club
Forester ответил в тему пользователя Kitsum в Espressif Systems
Может быть, в проекте приживется идея с индикацией скорости изменения атм. давления? Ведь, как правило, интересно именно это значение, а не абсолютное. Например, на дисплее HD44780 я реализовал это в виде четырех стрелок, указывающих либо вверх, либо вниз. Диапазоны для скорости изменения взял с часов CASIO ProTrek PRG-40. Получился такой код. Отлично работает. Очень информативно получается. Видишь на экране две-три стрелки - жди изменения погоды. Четыре - еще не видел ни разу ни на часах CASIO, ни на своей поделке. Первые два часа вместо стрелок выводится слово "wait". В общем, такой вариант отображения информации с барометра (на мой взгляд!) несет гораздо больше смысла, чем абсолютное значение. И даже крутизну графика давления оценить гораздо сложнее, чем четыре стрелки или, например, четыре цветовых уровня... Как уж это реализовать в интерфейсе - вопрос вкуса. Думаю, что в данном проекте это получилось бы красиво. if(((Q2 - Q1) >= 0.64)&((Q2 - Q1) < 1.27)){ //Если разность между измерениями давления с интервалом в 2 часа от 0.64 до 1.27 мм.рт.ст. Press[0] = '\1'; //Зажигаем ОДНУ стрелку ВВЕРХ Press[1] = ' '; Press[2] = ' '; Press[3] = ' '; } if(((Q2 - Q1) >= 1.27)&((Q2 - Q1) < 2.54)){ //Если разность между измерениями давления с интервалом в 2 часа от 1.27 до 2.54 мм.рт.ст. Press[0] = '\1'; //Зажигаем ДВЕ стрелки ВВЕРХ Press[1] = '\1'; Press[2] = ' '; Press[3] = ' '; } if(((Q2 - Q1) >= 2.54)&((Q2 - Q1) < 3.81)){ //Если разность между измерениями давления с интервалом в 2 часа от 2.54 до 3.81 мм.рт.ст. Press[0] = '\1'; //Зажигаем ТРИ стрелки ВВЕРХ Press[1] = '\1'; Press[2] = '\1'; Press[3] = ' '; } if((Q2 - Q1) >= 3.81){ //Если разность между измерениями давления с интервалом в 2 часа от 3.81 мм.рт.ст. и более Press[0] = '\1'; //Зажигаем ЧЕТЫРЕ стрелки ВВЕРХ Press[1] = '\1'; Press[2] = '\1'; Press[3] = '\1'; } if(((Q2 - Q1) <= -0.64)&((Q2 - Q1) > -1.27)){ //Если разность между измерениями давления с интервалом в 2 часа от -0.64 до -1.27 мм.рт.ст. Press[0] = '\2'; //Зажигаем ОДНУ стрелку ВНИЗ Press[1] = ' '; Press[2] = ' '; Press[3] = ' '; } if(((Q2 - Q1) <= -1.27)&((Q2 - Q1) > -2.54)){ //Если разность между измерениями давления с интервалом в 2 часа от -1.27 до -2.54 мм.рт.ст. Press[0] = '\2'; //Зажигаем ДВЕ стрелки ВНИЗ Press[1] = '\2'; Press[2] = ' '; Press[3] = ' '; } if(((Q2 - Q1) <= -2.54)&((Q2 - Q1) > -3.81)){ //Если разность между измерениями давления с интервалом в 2 часа от -2.54 до -3.81 мм.рт.ст. Press[0] = '\2'; //Зажигаем ТРИ стрелки ВНИЗ Press[1] = '\2'; Press[2] = '\2'; Press[3] = ' '; }; if((Q2 - Q1) <= -3.81){ //Если разность между измерениями давления с интервалом в 2 часа от -3.81 мм.рт.ст. и более Press[0] = '\2'; //Зажигаем ЧЕТЫРЕ стрелки ВНИЗ Press[1] = '\2'; Press[2] = '\2'; Press[3] = '\2'; }; if(((Q2 - Q1) < 0.64)&((Q2 - Q1) > -0.64)){ //Если разность между измерениями давления с интервалом в 2 часа от 0.64 до -0.64 мм.рт.ст. Press[0] = ' '; //Не зажигаем ни одной стрелки Press[1] = ' '; Press[2] = ' '; Press[3] = ' '; }- 859 ответов
-
- 2
-
- web server
- mqtt
- (и ещё 8)
-
Метеостанция на ESP8266 от it4it.club
Forester ответил в тему пользователя Kitsum в Espressif Systems
По-моему, помимо отсутствия автоматического реконнекта к роутеру после перезагрузки последнего, еще проблема с давлением на BME280. За несколько часов абсолютно не отклонилось от величины 740 мм.рт.ст. Вроде как, не бывает такого. В narodmon то же самое отправляет. P.S. Прошу прощения. С давлением разобрался. Вроде бы, всё в порядке. просто первое показание записалось как "0". Отсюда соответственное масштабирование графика было. В narodmon можно удалить это ошибочное показание. А как быть с графиком в веб-интерфейсе ESP? У меня там тоже первое значение давления равно нулю. И график поэтому в неправильном масштабе (прямая линия). P.S.S. Да, с BME280 проблема: первое показание равно нулю. Нужно исключить его в коде.- 859 ответов
-
- web server
- mqtt
- (и ещё 8)
-
Метеостанция на ESP8266 от it4it.club
Forester ответил в тему пользователя Kitsum в Espressif Systems
Да, проблема ушла. Спасибо. Но у себя обнаружил другую большую проблему. Если роутер перезагружается, ESP переходит в режим точки доступа. И обратно коннектится к роутеру , только после ручной перезагрузки... Или необходимо подождать?- 859 ответов
-
- web server
- mqtt
- (и ещё 8)
-
Метеостанция на ESP8266 от it4it.club
Forester ответил в тему пользователя Kitsum в Espressif Systems
Ну... я имею ввиду, что мне не понятно абсолютно, что там происходит))) Это программирование не для средних умов. А я просто приколхозил чего-то) Интуитивно.- 859 ответов
-
- web server
- mqtt
- (и ещё 8)
-
Метеостанция на ESP8266 от it4it.club
Forester ответил в тему пользователя Kitsum в Espressif Systems
Спасибо за быстрый ответ =) Но там решение такое сложное... Я, как настоящий дуремар, решил проблему таким способом: #ifdef TG_BME_280_I2C_H BME280I2C::Settings settings; //settings.bme280Addr = 0x76; // 0x76 0x77 BME.setSettings(settings); Wire.beginTransmission(0x76); if (Wire.endTransmission() == 0) { temperature.status = humidity.status = pressure.status = BME.begin(); } #endif Строки с BMP180 все закомментировал.- 859 ответов
-
- web server
- mqtt
- (и ещё 8)
-
Метеостанция на ESP8266 от it4it.club
Forester ответил в тему пользователя Kitsum в Espressif Systems
Не могу связать с датчиком BME280. Если раскомментировать строчки //#include <BME280I2C.h> //BME280I2C BME; Arduino IDE ругается: А если оставить, как есть, то ESP находит датчик по адресу 0х76, но данные с датчика на главную страницу не выводит.- 859 ответов
-
- web server
- mqtt
- (и ещё 8)