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

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
hawkeye
Сообщения: 98
Зарегистрирован: 06 окт 2016, 22:16

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

Сообщение hawkeye » 11 фев 2017, 14:38

Да, спасибо.. вспомнил.
Кстати руки дошли до CP-Z2M. Как и следовало полагать работает без вопросов.

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

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

Сообщение Andrey_B » 11 фев 2017, 14:49

http://ab-log.ru/files/File/megad-2561/ ... a4-hex.zip

- Экспериментальная версия прошивки с "нативной" поддержкой дисплея SSD1306. (Обновление со сбросом настроек!)

1. Дисплей можно подключить к ЛЮБОМУ порту.
2. После настройки порта как I2C/SDA и указав номер порта I2C/SCL, можно выбрать тип устройства: SSD1306
megad-ssd1306-2.gif
megad-ssd1306-2.gif (4.5 КБ) 5623 просмотра
3. После того, как дисплей добавлен, у большинства портов (за исключением NC) появляется поле "Disp"
megad-ssd1306-3.gif
megad-ssd1306-3.gif (4.86 КБ) 5623 просмотра
Если в этом поле указать номер порта, к которому подключен дисплей, то информация о состоянии порта будет отображаться на этом дисплее.
megad-ssd1306-1.jpg
megad-ssd1306-1.jpg (42.2 КБ) 5623 просмотра
При изменении состояния порта, информация тут же отображается на дисплее.

В данный момент поддерживается отображение состояний для типов: IN, OUT (в режиме SW) и DSen (в режиме 1W)
К контроллеру может быть подключено несколько дисплеев. Таким образом, оперируя значением в поле Disp, можно выводить состояние разных портов на разных дисплеях.

Временно (для данной экспериментальной версии прошивки). Если порт, к которому подключен, дисплей P30 и выбрано менее 4 портов для отображения информации, то на дисплее будет отображаться текущий IP-адрес.
Контроллер будет выпускаться в модификации с дисплеем вместо светодиодной индикации (Power/Act) и подключаться к внутреннему разъему (также как плата RTC). И таким образом, этот дисплей будет системным и на нем (если пользователь не указал порты, которые на него выводить) будет отображаться служебная информация.

Данная версия прошивки публикуется скорее для обсуждения. Расположение информации на дисплее, шрифт и другие параметры могут поменяться.

hawkeye
Сообщения: 98
Зарегистрирован: 06 окт 2016, 22:16

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

Сообщение hawkeye » 11 фев 2017, 20:13

Экран подключен к 34/35
С датчика P30 типа Dsen/1W температуры не показывается, вместо неё некие артефакты.
Попутно вопрос - где скачать самые правильные библиотеки для вывода на экран из php?
I2C теперь можно подключать к любому порту XT2 или как прежде к P30/31, а на остальных можно только экран подключать?
Вложения
2017-02-11-353.jpg
2017-02-11-353.jpg (26.89 КБ) 5601 просмотр
Последний раз редактировалось hawkeye 11 фев 2017, 21:20, всего редактировалось 1 раз.

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

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

Сообщение Andrey_B » 11 фев 2017, 21:19

hawkeye
Вот исправленная версия:
http://ab-log.ru/files/File/megad-2561/ ... a5-hex.zip
hawkeye писал(а):Попутно вопрос - где скачать самые правильные библиотеки для вывода на экран из php?
http://ab-log.ru/smart-house/ethernet/megad-i2c
hawkeye писал(а):I2C теперь можно подключать к любому порту XT2 или как прежде к P30/32
Никогда прежде не было требования подключать I2C только к P30/32. Всегда, с самого начала, работать с I2C можно было через любой порт.

hawkeye
Сообщения: 98
Зарегистрирован: 06 окт 2016, 22:16

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

Сообщение hawkeye » 11 фев 2017, 21:27

В beta5 теперь показывает.
Я тогда не очень понимаю раскраску в доке.
Там три вида: P30-P31, 32-33, 34-35 выделено разным цветом и подписано: I2C или цифр.датчики c подт.4.7кОм, UART или цифр.датч., цифр. датч.
Тогда ещё уточнение - в З6,37 можно тоже что угодно подключать, хоть кнопку, но только они могут быть ADC?

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

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

Сообщение Andrey_B » 11 фев 2017, 21:38

hawkeye, если говорить с позиции текущей прошивки, то раскраска в кратком руководстве скорее "для красоты". Однако это не означает, что аппаратная функция I2C не будет задействована в будущем для каких-нибудь устройств, требующих, скажем, высокую скорость работы. Я же предлагаю не ограничиваться только аппаратными портами. На мой взгляд интересно и важно, что I2C-шину можно подключать к любому порту. Абсолютно.
По второму вопросу. Конечно, к P36, P37 можно подключать хоть кнопку. Но функция АЦП (если говорить о тех портах, которые выведены внизу) есть только у них. Также у этих портов нет подтяжки, а потому цифровые датчики без устройства внешней подтяжки с этими портами работать не будут. Мне кажется, что с точки зрения разнообразия периферии, которую можно подключать напрямую к контроллеру, важно было обеспечить возможность работы с аналоговыми датчиками. В быту это не только датчики освещенности, но также различные датчики давления (жидкости в трубах), газа: бытового, углекислого (CO2), датчики "качества" воздуха и т.д.

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

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

Сообщение Andrey_B » 11 фев 2017, 21:58

Кстати, для тех, кто использует SSD1306 вместе с библиотекой I2C-PHP.
Если дисплей задан в конфигурации порта, то контроллер с прошивкой 4.10beta5, автоматически инициализирует его. А это значит что в скрипте можно сразу выводить данные на дисплей без необходимости стартовой инициализации и очистки экрана.

Alex_Jet
Сообщения: 1251
Зарегистрирован: 12 янв 2014, 18:00
Откуда: Россия, г.Томск

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

Сообщение Alex_Jet » 12 фев 2017, 09:12

Andrey_B. Чем дальше, тем интереснее! Вы умеете удивлять: вроде не было никакого развития проекта, а тут сразу череда существенных обновлений! У вас появились партнеры, которые убедили Вас в необходимости таких революционных в MegaD возможностей как MQTT и дисплей?

По BMP180/280, BME280 - считаю последний одним из самых передовых и точных (давал ссылку на эксперименты в обсуждении DHT22). Для него точно не жалко хранить калибровочные коэффициенты применительно к одному порту.

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

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

Сообщение Andrey_B » 12 фев 2017, 10:11

Alex_Jet,
Если посмотреть здесь: http://ab-log.ru/smart-house/ethernet/m ... 1-firmware, то можно заметить, что проект развивался, развивается и будет развиваться.
Как я и говорил ранее, для проекта нет запретных тем.

Насчет BMP/BME подумаю. Есть пара идей.

hawkeye
Сообщения: 98
Зарегистрирован: 06 окт 2016, 22:16

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

Сообщение hawkeye » 12 фев 2017, 10:59

Сложно ли сделать, чтобы на экран выводилось одно большое число из двух цифр с температурой?
Научите, как в mod_ssd1306_fonts.php сделать шрифт с здоровыми цифрами.

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

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

Сообщение Andrey_B » 12 фев 2017, 11:15

hawkeye, вот здесь все написано.
http://ab-log.ru/smart-house/ethernet/oled-megad-328

zAndrew
Сообщения: 20
Зарегистрирован: 12 фев 2017, 14:01

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

Сообщение zAndrew » 12 фев 2017, 16:04

"поиграл" с Click mode, обнаружил, что в этом режиме нельзя включить PWM порты.

1. 10:255|10:0 - один клик - не включает(!), два клика - выключает
2. 11:1|11:0 - один клик - включает, два клика - выключает (простой порт)
3. 10:*255|10:0 - один клик - не работает, два клика - выключает

еще режим диммирования "~" работает только, если mode=P&R (что, в общем, логично, но не интуитивно)
в связи с этим - был бы вообще праздник, если бы можно было совместить режим "~" и двойной клик.

Alex_Jet
Сообщения: 1251
Зарегистрирован: 12 янв 2014, 18:00
Откуда: Россия, г.Томск

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

Сообщение Alex_Jet » 12 фев 2017, 20:15

Andrey_B писал(а):...можно заметить, что проект развивался, развивается и будет развиваться.
Андрей, никак не хотел Вас упрекнуть. Просто друг за другом идут серьезные обновления! И это радует :)

Прошивка 4.10b5. Инициализация с очисткой дисплея действительно происходят. Системные значения (например, IP-адрес, как показано выше) не выводятся. С mod_i2c_lib.php дисплей работает отлично.

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

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

Сообщение Andrey_B » 12 фев 2017, 21:01

Alex_Jet писал(а):Системные значения (например, IP-адрес, как показано выше) не выводятся.
Я писал выше: "Если порт, к которому подключен дисплей, P30 и выбрано менее 4 портов для отображения информации, то на дисплее будет отображаться текущий IP-адрес."
У вас дисплей (линия SDA) подключен к P30? Вероятно, нет.

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

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

Сообщение Andrey_B » 12 фев 2017, 21:21

zAndrew писал(а):"поиграл" с Click mode, обнаружил, что в этом режиме нельзя включить PWM порты.
Вот исправленная версия.
http://ab-log.ru/files/File/megad-2561/ ... a6-hex.zip
zAndrew писал(а):был бы вообще праздник, если бы можно было совместить режим "~" и двойной клик.
А это как?

Ruslan
Сообщения: 2184
Зарегистрирован: 06 янв 2014, 20:44

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

Сообщение Ruslan » 12 фев 2017, 21:56

Andrey_B, созрело рацпредложение по доп.функционалу в настройках выходов Меги.

Некоторые пользователи дают команды на управление выходом Меги не с сервера, а например, со смартфона, где установлена несложная программа, позволяющая отправить команду Меге на переключение выхода. Но в то же время они хотят видеть актуальное состояние порта в программе умного дома, установленной на сервере.

Да, в API Меги есть команда "sl", которая раз в минуту сообщает серверу о состоянии всех выходов сразу. Но для рядового пользователя, не отягощенного знаниями в области программирования, разложить полученную строку на составляющие и настроить соответствующую реакцию умного дома, является очень непростой задачей. Да и периодичность передачи состояния портов раз минуту не всегда достаточна, чтобы с комфортом использовать при отображении в программе УД актуального состояния связанных объектов.
Да, сервер может сам спокойно опрашивать состояние портов с нужной периодичностью. Но, если таких портов десятки, а актуальное состояние нужно знать как можно раньше после его изменения, представляется, что опрашивать в ежесекундном цикле кучу портов, нагружая сервер и сетевой трафик, наверное, не самый лучший путь. Сервер, конечно, не развалится, да и сеть, наверное не умрет, но все же...

А что, если дополнить меню настройки выхода, скажем, чекбоксом, при наличии галки в котором Мега будет однократно отправлять актуальное состояние выхода на сервер после изменения состояния этого выхода?

Лично мне такой функционал пока не нужен. Но на родственном форуме (по Мажордомо) я уже не первый раз от разных пользователей слышу сетование, по поводу сложностей "отлавливания" изменения состояния выхода, если команда на это дана Меге не сервером (с программой УД).

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

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

Сообщение Andrey_B » 12 фев 2017, 22:09

http://ab-log.ru/files/File/megad-2561/ ... a7-hex.zip

- Добавлена поддержка MCP23008 и исполнительных модулей, работающих по шине I2C. (пока один на порт, пока только в режиме OUT)

Снова небольшое лирическое отступление.
Контроллер MegaD-2561 имеет два разъема XP1/XP2 для подключения стандартных исполнительных модулей: MegaD-7I7O-R/S/SD, MegaD-14-IN/R.
Каждый такой модуль обеспечивают работу с 14 портами. На 2 модуля 28 портов + 6 цифровых (разъем XT2) + 2 АЦП на модуле контроллера.
Что, к контроллеру больше нельзя подключать исполнительные модули?

Можно!
Но это не стандартные исполнительные модули, а особые, которые соединяются с контроллером не стандартным 34-проводным кабелем, а по цифровой I2C-шине.
Это модули, в которых установлена микросхема "расширитель портов" I/O Expander - MCP23008.
Таким образом подключив такой модуль к цифровому порту по двум проводам мы получаем еще 8 портов! Напомню, к слову, что I2C-шина подключается к любому порту контроллера. А но одной такой шине может теоретически висеть до 8 исполнительных модулей (будет реализовано в будущих прошивках).

Как это работает.

Выбираем тип I2C-устройства: MCP23008
megad-2561-mcp23008-1.gif
megad-2561-mcp23008-1.gif (4.86 КБ) 5689 просмотров
После этого у нас в списке напротив интересующего нас порта появляется ссылка Ext-IO
megad-2561-mcp23008-2.gif
megad-2561-mcp23008-2.gif (7.61 КБ) 5689 просмотров
Перейдя по ссылке попадаем в перечень "дополнительных" портов.
Все они в данный момент OUT. Это интересно прежде всего, так как в качестве входов намного удобнее работать с "родными" портами контроллера.
megad-2561-mcp23008-3.gif
megad-2561-mcp23008-3.gif (3.84 КБ) 5689 просмотров
Внутри порта две ссылки для управления: ON/OFF
megad-2561-mcp23008-4.gif
megad-2561-mcp23008-4.gif (4.56 КБ) 5689 просмотров
Обратите внимание на команду управления. Она поддерживает работу с этими портами следующим образом.
Пример: 35e0:1

Это означает, что необходимо включить дополнительный (extended, "e") порт "0", который подключен по I2C к SDA порту 35: 35e0:1
Выключить дополнительный порт P1: 35e1:0

Эти команды поддерживаются везде: в сценариях, в командах сервера, в cron и т.д.
В данный момент я не могу предложить готовые исполнительные модули с MCP23008, но такие модули непременно появятся в будущем.
А пока это обновление для тех, кто в состоянии собрать такой модуль самостоятельно или адаптировать готовые модули от других производителей (они в природе существуют).

kod.begemot
Сообщения: 400
Зарегистрирован: 21 сен 2013, 00:38

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

Сообщение kod.begemot » 12 фев 2017, 23:22

О как!!! Спасибо большое, заказал теперь MCP23008, пощупаю...
Раз уж пошла такая пьянка, может и поддержку PCA9685 получится прикрутить? это аж 16 - 12 битных ШИМ...


zAndrew
Сообщения: 20
Зарегистрирован: 12 фев 2017, 14:01

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

Сообщение zAndrew » 13 фев 2017, 01:17

Andrey_B писал(а):
zAndrew писал(а):был бы вообще праздник, если бы можно было совместить режим "~" и двойной клик.
А это как?
Чтобы кнопка работала и с долгим нажатием для управления диммированием (~), и с двойным кликом. Таким образом получится супермногофункциональная кнопка )
Сейчас символ ~ работает только в P&R режиме.

Ответить