Перейти к публикации
iT4iT.CLUB

Alex_DIY

Пользователи
  • Публикации

    91
  • Зарегистрирован

  • Посещение

  • Дней в лидерах

    20

Все публикации пользователя Alex_DIY

  1. Alex_DIY

    Метеостанция на ESP8266 от it4it.club

    @Kitsum чтобы не быть голословным, решил сделать тестовый скетч, чтобы выложить его здесь для демонстрации проблемы, но в процессе его подготовки тестового скетча всё само собой заработало на 2.4.0 в тестовом . Откомпилировал "боевой" скетч, над которым бился пару недель, чтобы он работал в 2.4.0 как в 2.3.0 - и он тоже заработал. Чудеса да и только. Из того, что сегодня изменилось - так обновил ядро, удалив из %USER%\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\ все версии и установив их заново. Но это я проделывал и раньше - положительного эффекта это не имело. НУ и arduino IDE обновил библиотеку MQTT by Joel Gaehwiler, но я ее не использовал. Получается, выше я зря обозначил 2.4.0 виновником некорректности работы MQTT. Ну а тестовый скетч таков Собственно, что было: по первой mqttSendData(); все доходило до брокера, по второй ничего. Если убрать один параметр из передачи на mqtt брокер, то от второй mqttSendData(); начинал приходить 1 параметр. И т.д. И это было на 2.4.0 и 2.4.1. При этом, компилировал в 2.3.0 и всё работало как часики. Но, повторюсь, сегодня пока вычищал скетч, делая тестовый пример, всё само собой заработало в 2.4.0. Такие вот чудеса.
  2. Alex_DIY

    Метеостанция на ESP8266 от it4it.club

    какая версия esp8266/Arduino: ESP8266 core for Arduino используется при компиляции? Заметил, что 2.4.0 и 2.4.1 некорректно работают с mqtt, в частности после старта с какого-то момента рвется соединение и потом можно возобновить его спустя 15 секунд. Казалось бы это стандартный таймаут, в #define MQTT_KEEPALIVE. Но меняя его значение ничего не менялось. При этом микроконтроллер по переменным рапортует, что соединения все время устанавливает успешно и что данные успешно ушли, но при этом они до брокера не доходят. Да и от размера передаваемых данных тоже зависит. Еслиуменьшать количество передаваемых данных при первом коннекте, при втором начальные данные начинают проходить. Если же поставить искусственный delay(15000) между передачами информации брокеру, то данные без проблем уходят. Однако, если перекомпилировать код без каких-либо изменений с версией 2.3.0, то MQTT начинает работать так как и задумано, то есть оба раза данные до него успешно доходят, если коннекты происходят ранее чем через 15 секунд.
  3. @Kitsum https://mysku.ru/blog/aliexpress/61934.html Безотносительно GSM модуля сам подход к контроллеру довольно интересен. Человеку удалось добиться среднего тока потребления в 8,5 мкА. Помнится, ранее мы обсуждали реализацию и Вами высказывалась идея реализации через прерывания, НО через утяжку будут уходить бОльший ток. пожалуй , если добавить к такой реализации МК части NRF24, должно получиться довольное экономное устройство сбора и передачи показаний.
  4. мне кажется, что это определяется больше способом передачи. Если он беспроводной, то логично, что тянуть линию передачи к месту расположения сенсора затруднительно, следовательно и питать данный сенсор логичнее автономно с помощью батарейки/аккумулятора.
  5. Alex_DIY

    Метеостанция на ESP8266 от it4it.club

    А где такое ограничение возникает? В web интерфейсе нельзя более 30 символов ввести? При беглом ознакомлении с wifi библиотекой esp8266 не нашел ограничений на длину пароля. В html и css тоже не нашел.
  6. Alex_DIY

    Метеостанция на ESP8266 от it4it.club

    Zenone, я так понял, что отправка идёт посредством Post-Get? А если настроить её через mqtt? Ну и если esp несколько раз удалось достучаться, то с моей точки зрения, этот выводит прошивку(если прошивка с тех пор не менялась) из подозрения, впрочем как и сам модуль. Дурная идея :логин, почту, пароль на народном мониторе не меняли? Совпадает ли с тем, какой вбили в настройки esp?
  7. Alex_DIY

    Метеостанция на ESP8266 от it4it.club

    У меня приходил только заголовок HTTP/1.1 200 OKContent-Type: text/htmlServer: ESP8266Cache-Control: no-transform, private, max-age=86400, s-maxage=86400ETag: 78705Content-Length: 78705Connection: close Самого "тела" не было. В то же время другие клиенты (c роутера curl, с телефона chrome) без проблем получали и заголовок и содержимое с web сервера esp. Выглядело примерно так (давнышний скриншот нашел):
  8. Alex_DIY

    Метеостанция на ESP8266 от it4it.club

    Я заметил. У асуса роутеры разные. У меня N56U с прошивкой padavan, там помимо pptp и openvpn есть - надёжнее и возможность авторизации по сертификату. Это также добавит безопасности при пользовании интернета в общественных WiFi сетях.
  9. Alex_DIY

    Метеостанция на ESP8266 от it4it.club

    На мой взгляд: openvpn сервер на роутер поднять. Подключаетесь к нему, хоть с телефона. И уже находясь в локальной сети по знакомому Вам адресу делаете что угодно с Вашей метеостанцией(и не только с ней). Учитывая "слабость" esp, я бы не рекомендовал пробрасывать его порты на wan интерфейс. Вести с полей. Побаловался с MZ-H19. Посмотрел его реакцию на пары ацетона, бензина растворителя БР1 и растворителя 646. Никакой реакции. Зато на выдох человека реагирует очень резко. Спустя суток 5 работы почему-то с MZ-H19 стали идти ответы с несходящейся checksum. Перезагрузка не помогает. Передернуть питание тоже не помогает. Только минут 5-10 полежать в выключенном состоянии возвращает датчик в чувство. Затем при включении начинает отдавать показания, хотя периодически проскакивают единичные несовпадения контрольных сумм. Опрос веду раз в 10 секунд.
  10. Alex_DIY

    Метеостанция на ESP8266 от it4it.club

    Я когда с линукса по протоколу mqtt пытался отправлять показания, у меня наоборот по ip данные не проходили, а по доменному имени нормально. Но разные способы передачи, так что как вариант, стоит попробовать.
  11. Alex_DIY

    Метеостанция на ESP8266 от it4it.club

    Вам, видимо, хотят сказать, что Ваш интернет канал не стабилен и так случается, что в момент отправки показаний станцией данные теряются, не дойдя до сервера narodmon.ru, если хотя бы раз данные от станции до народного монитора дошли.
  12. Alex_DIY

    Метеостанция на ESP8266 от it4it.club

    Я писал, что у меня подобное было. Причину установить не удалось, но докопаться до того, что файлы с внутреннего вэб сервера esp размером более 1кб либо не отдавались вообще, либо обрезались. А в связи с тем, что они сжатые, то результат был один - невозможно отобразить страницу. Была мысль на фрагментацию пакетов. Но подтвердить эту теорию не удалось (не довёл до конца). Решилось тем, что вернул библиотеку esp8266 с версии 2.4 на 2.3.0, перекомпилировал прошивку и проблема ушла. На этом и успокоился с данной проблемой. Попробуйте закинуть пару файлов на встроенный Web сервер (один размером не более 1кб,второй больше 2№ кб) оба ли файла удастся скачать проблемным компьютером.
  13. Alex_DIY

    Метеостанция на ESP8266 от it4it.club

    Вроде бы идеологически верно. С этим дисплеем не имел дел, поэтому за правильность кода работы с ним сказать не могу - достаточно ли этих строк. Пример из его библиотеки мне пока недоступен.
  14. Alex_DIY

    Метеостанция на ESP8266 от it4it.club

    Нет, это константы, задание номера gpio, используемых для подключения i2c шины. Очень непонятно куда именно вы его встроили. Замечания могут измениться в корне. Вам надо всего лишь указать библиотеку дисплея там же где объявляются другие библиотеки. В месте, где происходит инициализация i2c датчиков добавить код инициализации дисплея. В функцию readsensors() добавить строки, которые будут отправлять на дисплей то, что Вы хотите на нем видеть.
  15. Alex_DIY

    Метеостанция на ESP8266 от it4it.club

    Это весь скетч? Если да, то он не будет работать от слова совсем. Скетч делится условно на 2 части setup и loop. У Вас отсутствует процедура loop, которая выполняется циклически и бесконечно и куда Вы вписывается свой код. Далее нет подключения к i2c шине. Это из очень крупных замечаний.
  16. Alex_DIY

    Метеостанция на ESP8266 от it4it.club

    @Forester посмотрел скетч, понял, что все происходит не совсем не так как я понял из Вашего объяснения =) Вы смотрите изменение давления в периоде от 0 до 2 часов. Т.е. в 13-00 запомнили значение давления Q1 и начинаете сравнивать с Q2 измеренным в 13-01 Q2,13-02 Q2 ...14-58, 14-59 сравнивая с первоначальным в 13 часов. Я же подумал что идет сравнение за два часа, то есть в 15-00 Q1 измеренное в 13-00 c Q2 измеренным в 15-00, затем в 15-01 Q1 измеренное в 13-01 с Q с измеренным в 15-01 и т.д. Так значит так, раз и японцы подобное заложили в свои часы. А количество стрелочек говорит о чем ? То есть пойдет дождь, будет ясное небо? С точки зрения единообразия восприятия не лучшая идея, если отталкиваться от того, как уже предложили у температуры подсвечивать отрицательные температуры - синим, положительные красным. То есть на одном индикаторе шкала будет подсвечиваться в зависимости от отображаемой величины, а в другом случае от ее первой производной. Может стоит отталкиваться от 1-4 стрелочек, только привязаться к их практической интерпретации и это уже в отдельном индикаторе обыграть?
  17. Alex_DIY

    Метеостанция на ESP8266 от it4it.club

    Ваш код пока не смотрел, но чисто из алгоритмических соображений, Вам надо держать в памяти 3599 предыдущих значений, чтобы относительно их смотреть двухчасовой разницу с каждым новым опросом датчика(при постоянстве длины периода в 2 часа и 2х секунды опросом датчика) . Ну и с каждым опросом сдвига "устаревшее" значение в хвосте очереди значений. Собственно, поэтому я заострил на этом внимание. Позже посмотрю код, может быть мне станет понятно как Вы это реализовали. Просто массив из 3599 переменной int в память поместиться не должен. Прогнозирование это несомненно хорошо, чем просто наблюдение на "сухие" цифры.
  18. Alex_DIY

    Метеостанция на ESP8266 от it4it.club

    pasha413, согласен с Kitsum, на нестабильность работы esp или прошивки Ваш случай не похож, очень похоже на пропадание питания. Я подумал, что у Вас как и у меня esp перезагружается сам, но по Вашему скриншоту это не видно. О, интерпретация данных, это хорошо. Это то, что я имел ввиду, повествуя о датчиках СО2. Forester, а Вы отпрашиваете датчик давления раз в 2 часа? Просто в ранних версиях прошивки Kitsum данные вообще не логировались и сравнивать было не с чем, чтобы интерпретировать значения, в существующей версии лог ведётся, но без привязки времени. А у Вас приведён код только касательно отображения скорости изменения давления, а вот где Вы данные двухчасовой давности получаете и как - не указываете. Это не совсем очевидно, но познавательно. На мой взгляд, это полезная добавка для метеостанции.
  19. Alex_DIY

    Метеостанция на ESP8266 от it4it.club

    В настройках, кажется свойства системы посмотрите "Причина" - "Последний перезапуск контроллера", видимо у Вас также не стабильно работает. Я по отсутствующим графикам, собственно, и обратил внимание на это.
  20. Alex_DIY

    Метеостанция на ESP8266 от it4it.club

    В общем - то почему я полез на эту версию, да ещё в стадии rc, так это что в этой версии пофиксили баг KRACK. Собственно, во всем остальном, стабильная 2.3.0 меня более чем устраивает. С одной стороны, для оценки качества воздуха этот датчик (ЛОВ) даже предпочтительнее, чем просто датчик СО2, но попробуйте почистить возле него цитрусовые и расскажите какая будет реакция. Мне кажется, он должен на летучие ароматические масла в воздухе среагировать резким ростом измеряемой величины. То бишь он улавливает всю органику , а не только СО2, а среди органики не все является вредными веществами. А пары какого-нибудь органической растворителя, краски... На них он тоже среагировать должен и они, действительно, вредны и повод к проветриванию. Я его расцениваю как металлодетектор, который не даёт представления, что у человека в кармане - пистолет или ключи от квартиры. В любом случае, интересен Ваш опыт использования этого датчика. Может в чем - то заблуждаюсь. Прям интересно стало, мой MH-Z19B как на пары растворителей отреагирует. Надо поэкспериментировать,по идее не должен на них реагировать.
  21. Alex_DIY

    Метеостанция на ESP8266 от it4it.club

    Какая у вас конфигурация датчиков? (я к тому, что индикацию показаний вместо какого-то из четырёх существующих "спидометров" заменять или пятый "спидометр" прикрутить надо?) ближе к ночи доберусь до компа и поделюсь(но там все примитивно просто). Потом можно и в настройки web интерфейса прикрутить "вкл-выкл" автокалибровки и кнопку ручной калибровки. Я в интернете тоже читал размышления о том, что автокалибровка со временем удаляет от истинных значений, но с другой стороны, производитель в datasheet отмечает, что с 2015 года все датчики отгружается с включённой суточной автокалибровка, наверное это не просто так. Не зная точного физического принципа работы этого сенсора и/или поверенного средства измерения судить о том зло автокалибровка или нет. В бытность работы в РАН один профессор у нас мог объяснить любой феномен, развив теорию, объясняю щите результаты экспериментов, а когда приносил ему другие данные, то он развивал противоположную теорию, причём обе его теории были правдоподобными))) Так что размышления людей в интернете, это всего лишь чьи-то размышления, причём мы даже не знаем уровень их знаний предмета, но это ни в коем случае не говорит о том, что они глупы, просто могут чего - то не учитывать. У меня за пару суток средние значения ppm CO2 уменьшились. Видимо из-за автокалибровка. Пока не отключал. РМ2.5 тоже на него смотрел, но пока не созрел к восприятию его данных)) мне кажется он в Москве будет зашкаливать. Приоткрытое (щелочка в несколько мм) на сутки окно оставляет на подоконнике ровный налёт чёрной пыли.
  22. Alex_DIY

    Метеостанция на ESP8266 от it4it.club

    Работает нестабильно. переодически ESP перезагружается. Максимально часов 14 без перезагрузки продержался. Буду смотреть мои ли прикручивания датчика СО2 стали пому причиной, либо чип ESP сам по себе неудачный пришел.
  23. это одно и то же, так как deepsleep в том виде, как он работает на esp8266 именно потому, что сам себя ресетит при выходе из стадии глубокого сна. ESP.getResetReason: Deep-Sleep Wake ESP.getResetInfo: Fatal exception:0 flag:5 (DEEP_SLEEP_AWAKE) epc1:0x00000000 epc2:0x00000000 epc3:0x00000000 excvaddr:0x00000000 depc:0x00000000 вот это выдают данные функции, что при подаче питания, что при "просыпании" по таймеру deepsleep, что просто по замыканию RST на GND. Сегодня дошли руки поиграться и проверить это на живом модуле, лишний раз убедился, что я не ошибаюсь P.S. учитывая, обнаруженные в 2.4-rc2 баги, не буду столь категоричен в выдаче функций ESP.getResetReason и ESP.getResetInfo, ибо то, о чем написал выше, проверял на версии 2.4-rc2.
  24. Alex_DIY

    Метеостанция на ESP8266 от it4it.club

    @Kitsum В связи с приходом модуля ESP-12E с 4 МБ флешем и датчика bme280 решил скомпилировать Вашу прошивку "в стоке", то есть без изменений. В итоге компилятор спотыкается на #ifdef TG_BME_280_I2C_H BME280I2C::Settings settings; settings.bme280Addr = 0x76; BME.setSettings(settings); Wire.beginTransmission(settings.bme280Addr); if (Wire.endTransmission() == 0) { temperature.status = humidity.status = pressure.status = BME.begin(); } #endif ESP8266_WS_iT4iT.CLUB.ino: In function 'void setup()': ESP8266_WS_iT4iT.CLUB:258: error: invalid conversion from 'int' to 'BME280I2C::I2CAddr' [-fpermissive] invalid conversion from 'int' to 'BME280I2C::I2CAddr' [-fpermissive] Тип данных у этой переменной, исходя из библиотеки BME280, `uint8_t`, вроде бы причем тут `int` непонятно. P.S. в принципе пример "BME_280_I2C_Test" из библиотеки BM280, тоже не хотел сразу компилироваться, пока include <SPI.h> не добавил в скетче. Поэтому подумалось, что с библиотека с сюрпризами. Решил проблему в вашей прошивке следующим путем. Заменил строку на settings.bme280Addr = BME280I2C::I2CAddr_0x76; Откомпилировалось без единой ошибки и предупреждения и работает. Не знаю, баг-не баг, но всё же. И еще сломал голову. Добавляю контроллер в домашнюю сеть. С компьютера, подключенного к роутеру через Eth я не могу попасть в web интерфейс контроллера. В то же время, через телефоны, подключенные по wifi к домашнему роутеру, я попадаю в web интерфейс контроллера легко и непринужденно. С компьютера я контроллер пингую - он отвечает, через web интерфейс могу скачать ico, png файлы. Gzip я уже скачать не могу. Браузеры chrome, firefox последних версий. Я уже и на дефрагментацию пакетов грешил и роутинг на роутере, но ни в какую. В COM порт сообщения о том, что запрос на index.htm с компьютера поступил появляются, то есть проблема не в сети. Да и судя по режиму отладки в Chrome заголовок от web интерфейса esp прилетает, но кроме заголовка больше ничего. Т.е. соединение и не рвется сразу, но и ничего больше не приходит после заголовка http пакета. P.S. всему виной библиотека ESP8266 2.4.0-rc2. В другом проекте с этой версией библиотеки mqtt не работал на narodmon.ru, но прекрасно работал на локальный mqtt брокер. Откатил версию библиотеки и всё заработало. В этой версии еще и ESP.getVcc() выдает на 0,3 мВ больше, чем 2.3.0. P.S. P.S. .Смотрю вышел релиз 2.4.0. С ним пока не игрался. Ну и добавил датчик концентрации.
  25. Alex_DIY

    Метеостанция на ESP8266 от it4it.club

    ни одного модуля Sonoff я в руках не держал, но так как на них есть кастомные прошивки, то значит они как минимум прошиваются. Так что теоретически прошивкой Kitsum ее прошить можно. Теперь о памяти, тут чуть менее позитивно. Мне на свой модуль esp8266-07 с 1 мегабайтом на борту удалось установить самую первую прошивку и то пройдясь по граблям с неработающим обновлением через web интерфейс (из-за недостаточного объема флеш памяти). Прошивка Kitsum безусловно очень красивая и функциональная, но для 1 мегабайта не пригодна, поэтому чтобы сохранить ее функционал я урезал web интерфейс (жертвой пала графика фона). Выделил под SPIFFs 192 кБ. В итоге первая версия прошивки в таком варианте работает. Все функции сохранены и работают замечательно, даже обновление через web интерфейс. Далее я пошел своим путем и сделал себе метеодатчик с автономным питанием. Но в связи с тем,что решил сделать еще и комнатный вариант для контроля микроклимата в помещении с датчиком СО2, то решил вернуться к прошивкам Kitsum.На дня скачал версию от 28.11.2017. Пока не устанавливал, изучаю код, так как с момента первого релиза, который я урезал она претерпела некоторые изменения, добавились функции и она потолстела. И сейчас, даже если просто убрать графику фона, файлы web сервера в 192 кБ SPIFFs не помещаются (пока удалось урезать с 977 кБ до 202 кБ). Думаю, как можно выйти из положения, чтобы установить на имеющийся модуль без урезания функционала, так как если отказаться от временных графиков, то всё должно получиться, но мне не хочется терять этот функционал. Пока положение дел такое. Увеличить SPIFFs тоже больше нельзя, так как в таком случае обновление прошивки через web интерфейс станет невозможным, так как не будет места для сохранения обновляемой прошивки, а ее размер порядка 322-324 кБ и плюс к этому небольшую часть от этой памяти отъедает загрузчик. Если есть мысли, делитесь. Перепаивать флеш мне пока лень, хочу всё-таки ужаться.
×
×
  • Создать...