Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Andrey_B » 23 окт 2019, 18:16

https://www.ab-log.ru/forum/viewtopic.p ... 720#p36356
"OPT3001 требует инициализации, а значит обязательного выбора Dev: OPT3001"
Контроллер без явного указания не может знать, что висит на шине, а потому не может запускать процедуру инициализации определенных устройств, так как адреса устройств часто совпадают.

Нужно выбрать Dev: OPT3001 и использовать "cmd=get", а значение HTU21D получать с помощью запроса типа "?pt=35&scl=34&i2c_dev=htu21d". HTU21D не требует инициализации.
Для стандартизации можно добавить i2c_dev=opt3001, но практического смысла этот запрос иметь не будет.
В качестве альтернативы можно добавить функцию запуска инициализации внешним запросом, но не уверен, что в этом есть реальная необходимость.

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Andrey_B » 23 окт 2019, 18:45

https://ab-log.ru/files/File/megad-2561 ... a9-hex.zip

- Добавлена поддержка распространенного дисплея LCD1602 с I2C-интерфейсом (PCF8574T)

Настройка порта стандартная.

lcd1602-megad-2561.png
lcd1602-megad-2561.png (3.92 КБ) 11185 просмотров

Для вывода текста применяется запрос вида
http://192.168.0.14/sec/?pt=31&text=test&col=0&row=0
где col и row - координаты (колонка, ряд), откуда выводить текст.
Также, как и в случае с SSD1306 пробелы кодируются символом "_".
Команда для очистки всего дисплея
http://192.168.0.14/sec/?pt=31&disp_cmd=1

lcd1602-i2c.jpg
lcd1602-i2c.jpg (36.95 КБ) 11185 просмотров

Код, который это выводит.

Код: Выделить всё

<?php
file_get_contents("http://192.168.0.14/sec/?pt=33&disp_cmd=1");
file_get_contents("http://192.168.0.14/sec/?pt=33&text=T1:_23.4".chr(223));
file_get_contents("http://192.168.0.14/sec/?pt=33&text=H1:_54.7%&row=1");
?>
Дисплей не работает от +3.3В. Ему необходимо напряжение +5В.
На дисплей в текущий момент нельзя вывести показания в автономном режиме (как на SSD1306). Только с помощью внешних запросов.

Илья
Сообщения: 4
Зарегистрирован: 12 янв 2018, 01:49

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Илья » 23 окт 2019, 19:28

Добрый день!
Версия прошивки fw: 4.33b2
Пробую считать конфигурацию (v2.09)
megad-cfg-2561.exe --ip 192.168.0.16 --read-conf megad16.cfg -p sec
Reading configuration ... OK

Но файл не появляется в папке с программой, сканирование проходит успешно, по сети устройства видны

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Andrey_B » 23 окт 2019, 19:36

Илья, укажите полный путь к файлу. Пример.
megad-cfg-2561.exe --ip 192.168.0.16 --read-conf C:\Users\Nikname\Downloads\megad16.cfg -p sec

Коля
Сообщения: 466
Зарегистрирован: 28 ноя 2014, 18:50

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Коля » 26 окт 2019, 11:57

мега 2561
версия (fw: 4.38b1)
статью "Перепрошивка MegaD-2561/328 по сети" вижу
адрес срвера http://192.123.4.111
адрес меги http://192.123.4.112
пигнуется
в меню модуля входит

подключал и через роутер и напрямую

никак не могу просто даже сделать скан устройств
php.exe megad-cfg-2561.php --scan
выдает ошибку

php.exe megad-cfg-2561.php --scan --local-ip 192.123.4.112
выдает ошибку

не пойму что дальше. подскажите
Вложения
3.jpg
3.jpg (31.92 КБ) 11099 просмотров
2.jpg
2.jpg (21.51 КБ) 11099 просмотров
Joxi.jpg
Joxi.jpg (148.67 КБ) 11099 просмотров

andrey25b
Сообщения: 20
Зарегистрирован: 22 янв 2018, 12:06

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение andrey25b » 26 окт 2019, 14:34

php.exe megad-cfg-2561.php --scan --local-ip 192.123.4.112
Указан IP-адрес Меги. Наверное, здесь должен быть IP-адрес компьютера, с которого производится прошивка.

Коля
Сообщения: 466
Зарегистрирован: 28 ноя 2014, 18:50

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Коля » 26 окт 2019, 15:13

php.exe megad-cfg-2561.php --scan --local-ip 192.123.4.111
Вложения
5.jpg
5.jpg (41.12 КБ) 11081 просмотр

d.v.ermakov
Администратор
Сообщения: 2187
Зарегистрирован: 29 май 2015, 21:23
Откуда: Екатеринбург, Нижний Тагил

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение d.v.ermakov » 26 окт 2019, 15:16

Коля писал(а):
26 окт 2019, 11:57
никак не могу просто даже сделать скан устройств
Начните с вот этого. У вас проблема с мультикастом (например, от телевидения или видеокамер или просто от настроек прошивки роутера), в таких условиях с прошивкой может ничего хорошего не получиться.
Для прямого подключения нужен кросс-кабель (и ручная настройка адресации IP).
Ещё один путь - использовать тупой свитч или хаб.

Пардон, увидел последнее сообщение. А с настройками ПХП всё в порядке?

Коля
Сообщения: 466
Зарегистрирован: 28 ноя 2014, 18:50

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Коля » 26 окт 2019, 15:35

я не знаю верны ли настройки пхп
со вчерашнего дня пробовал все установить по инструкции Андрея.
но не знаю как проверить в итоге правильно или нет
если можете помочь проверить могу вас подключить.
я просто второй день сижу и незнаю что сделать.

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Andrey_B » 26 окт 2019, 15:39

Коля, в инструкции есть такие строчки.
===
В файле php.ini (настройки PHP) необходимо найти и раскомментировать строчку extension=php_sockets.dll
При начальной установке PHP файла "php.ini" может не быть. В таком случае нужно найти файл вида "php.ini-production" и переименовать его в "php.ini".
===

Также можете попробовать скомпилированный в исполняемый файл скрипт. Также с указанием опции --local-ip.

Коля
Сообщения: 466
Зарегистрирован: 28 ноя 2014, 18:50

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Коля » 26 окт 2019, 15:51

было сделано
Вложения
7.jpg
7.jpg (3.04 КБ) 11078 просмотров
6.jpg
6.jpg (42.02 КБ) 11078 просмотров

Коля
Сообщения: 466
Зарегистрирован: 28 ноя 2014, 18:50

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Коля » 26 окт 2019, 15:52

Также можете попробовать скомпилированный в исполняемый файл скрипт. Также с указанием опции --local-ip.
Это про перепрошивку?

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Andrey_B » 26 окт 2019, 15:59

Коля писал(а):
26 окт 2019, 15:51
было сделано
Ошибка "Call to undefined function socket_create()" указывает, что библиотека не подключена.
На диске может быть несколько php.ini. Необходимо убедиться, что редактируется нужный файл. Или указать путь к конфигурационному файлу напрямую через соответствующую опцию.
Коля писал(а):
26 окт 2019, 15:52
Это про перепрошивку?
Это про все. Скомпилированный скрипт тот же самый + функция "визарда", если запускать его без ключей.

Коля
Сообщения: 466
Зарегистрирован: 28 ноя 2014, 18:50

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Коля » 26 окт 2019, 16:06

спасибо за помощь. Вот начинаешь кого то просить и сам мозг работает быстрее. увидел что при переименовании php.ini он почему то встал php.ini.ini ....
в блокноте не увидел... подключил юлокнот++ для удобства, там сразу в шапке увидел
все заработало

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Andrey_B » 27 окт 2019, 13:43

https://ab-log.ru/files/File/megad-2561 ... a1-hex.zip

- Добавлена поддержка датчика BME680

Датчик BME680 отличается от уже поддерживаемых BMP180 и BMP280/BME280.
Помимо температуры, влажности и атмосферного давления BME680 может измерять так называемое "сопротивление газа" (gas resistance).

megad-2561-bme680.png
megad-2561-bme680.png (4.23 КБ) 11034 просмотра

По мнению разработчиков BME680, чем ниже значение "сопротивления газа", тем "грязнее" воздух.
Внутри BME680 металлооксидный сенсор с нагревателем. По команде извне нагреватель включается на определенное время и BME680 измеряет сопротивление.
Разработчики в документации уверяют, что сенсор фиксирует повышение концентрации выдыхаемого человеком воздуха (b-VOC).

Все бы ничего, но есть целый ряд нюансов, значительно усложняющие использование датчика.
1. По умолчанию датчик находится в режиме "сна" (sleep mode). Для того, чтобы сделать одно измерение, нужно отправить команду (force mode). Длительность измерения 1 секунда! После того, как измерение произведено, датчик уходит в сон. Таким образом, в отличие от BME280, который отдает значения практически сразу, BME680 требуется очень много времени. В прошивке MegaD-2561 заложен такой алгоритм. Контроллер считывает из памяти датчика последние значения, а затем отправляет команду на новое измерение. Таким образом, чтобы получить актуальные значения на текущий момент, необходимо дважды опросить датчик с паузой в 1 секунду. По такому же алгоритму, к слову, работает DHT22 и DS18B20 (но MegaD-2561 самостоятельно отправляет такие команды раз в 5 секунд)

2. Присутствие нагревателя для датчика газа под одной крышкой с температурным сенсором естественно сказывается на показаниях температуры. И тем сильнее, чем чаще опрос датчика. Если опрашивать датчик раз в 5 минут, то BME680 отдает относительно правдивые значения температуры и влажности. Если раз в 1-5-10 секунд, то датчик может врать до нескольких градусов! Вместо 25 покажет, например 29.

3. Измерение сопротивление газа - весьма и весьма специфическая штука. Да, на коротком отрезке времени, очень хорошо прослеживается корреляция между показаниями сопротивления газа и "чистотой" воздуха. BME680 действительно реагирует на проветривание, на наличие рядом паров спирта или дышащего перегаром человека. Вместе с тем, присутствует много НО!
Показания "gas" - это такие "попугаи", которые зависят от массы факторов.
а) От настроек температурного профиля. В контроллере задано: нагрев до 320C в течение 150 мс. Такой профиль наиболее распространен.
б) От времени работы. Металлооксидный сенсор требуется "прожечь" в течение нескольких суток, чтобы он стабилизировал значения. И даже после этого в значениях будет дрейф, который должен калиброваться извне.
в) Самое неприятное. В документации никак не описано, как правильно считывать и интерпретировать значения сопротивления газа. Вместо этого разработчики подсовывают проприетарную, закрытую библиотеку BSEC (Bosch Sensortec Environmental Cluster), которая якобы содержит интеллектуальные алгоритмы, рассчитывающие так называемый индекс IAQ (Index for Air Quality). В Интернете есть много предположений и домыслов насчет того, как именно нужно считать этот индекс. Но никакой информации непосредственно от производителя нет.
Почему это важно. Дело в том, что при считывании сопротивления сенсора, скажем, раз в минуту, мы получим довольно неточные данные. Это ведь всего одно измерение с разовым включением нагревателя. Пользователи приходят к выводу, что для получения действительно актуального значения, нужно прожечь сенсор в течение 5 минут, отправляя команду "force mode" каждые 1-3 секунды, затем выбрать последние 50 значений и усреднить. И если однократное измерение "чистого" воздуха при указанном температурном профиле даст значение порядка 50-60кОм, то нагретый как следует сенсор покажет 300-500кОм. Где значения более 300кОм нужно интерпретировать как очень хороший воздух, а значения менее 10кОм, как очень плохой.
Однако такой режим делает невозможным корректное измерение температуры. Как я уже отметил, показания вырастут на несколько градусов.

Полезен ли такой девайс в домашней автоматизации - вопрос дискуссионный, особенно если учитывать, сколько памяти микроконтроллера традиционно требуется для реализации поддержки датчиков от Bosch, не говоря уже о BSEC.
Пользователи в Интернете отмечают, что в отличие от датчиков CO2, которые ведут себя предсказуемо и понятно, "попугаи" BME680 зачастую показывают на первый взгляд какую-то случайную картину.

Коля
Сообщения: 466
Зарегистрирован: 28 ноя 2014, 18:50

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Коля » 27 окт 2019, 17:43

Андрей хотелось бы предупредить по прошивке
Я усиленно занимаюсь подключением в мажордомо управлением в котельной на работе

попутно хотел поучится загружать прошивки

использовал вот это описание
https://www.php.net/manual/ru/install.w ... manual.php

прошивку то накатил

а дальше хуже

так вот если кто поставит себе IIS, то с мажордомо можно попращаться..
мажордомо потерял все связи с кнопками датчиками и тп и не запускался по своим ip адресам.
по ним запускался IIS

сегодня весь день с 8 утра потратил на поиск на просторах интернет полного отключения IIS
и попытки исправить ситуацию... в итоге ноль .

сейчас полностью переустанавливаю систему и мажордомо...

либо хотябы пусть все думают об этом или хотелось бы найти решение.

d.v.ermakov
Администратор
Сообщения: 2187
Зарегистрирован: 29 май 2015, 21:23
Откуда: Екатеринбург, Нижний Тагил

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение d.v.ermakov » 27 окт 2019, 19:09

Andrey_B писал(а):
27 окт 2019, 13:43
Полезен ли такой девайс в домашней автоматизации - вопрос дискуссионный
Я, когда подбирал сенсоры для наших комбинированных датчиков, перепробовал все доступные на рынке варианты, в том числе и BME680. И пришёл к аналогичным выводам. Ни один чисто кремниевый метод, из опробованных мной, не позволяет адекватно оценивать степень необходимости проветривания, только NDIR.
Есть, конечно, сенсоры получше T6703 или S8, но только ещё более дорогие. Например, двухкамерные.
И среди NDIR, кстати, есть не очень удачные варианты. Тот же MH-Z19, который у Вайренборда в последнем комбинированном датчике стоит. Причём, в предыдущей версии их датчика (который тоже у меня есть), стоял ещё более ужасный NDIR из славного города Уханя.
Это было последней каплей в решении сделать свой комбинированный датчик.

Если по теме развития прошивки, то есть предложение вернуться к вопросу о периодическом опросе сенсоров с заданным интервалом в минутах и публикацией результатов в MQTT.

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Andrey_B » 27 окт 2019, 21:05

d.v.ermakov писал(а):
27 окт 2019, 19:09
Если по теме развития прошивки, то есть предложение вернуться к вопросу о периодическом опросе сенсоров с заданным интервалом в минутах и публикацией результатов в MQTT.
Думаю, это возможно. Посмотрю, что можно сделать.

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Andrey_B » 27 окт 2019, 21:13

Коля писал(а):
27 окт 2019, 17:43
Андрей хотелось бы предупредить по прошивке
Для обновления прошивки вообще не нужен IIS, Apache или другой Web-сервер. Нужен только интерпретатор, который даже не требуется устанавливать. Достаточно скачать и распаковать архив.
Указанную ссылку из инструкции по обновлению убрал, так как она стала вести на совершенно иную страницу.
Для пользователей Windows, вероятно, удобнее использовать скомпилированный в EXE скрипт. Тогда ничего дополнительно скачивать не потребуется.

artem521
Сообщения: 108
Зарегистрирован: 19 окт 2017, 18:04

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение artem521 » 29 окт 2019, 23:52

По датчику BME680 так же встает вопрос о его сроке службы. Естественно, все зависит насколько его мучать, но дачики подобного принципа в среднем работают корректно года 3, если речь идет о металло-оксидном датчике. Можете поправить если чего не так:)

Ответить