Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Да, спасибо.. вспомнил.
Кстати руки дошли до CP-Z2M. Как и следовало полагать работает без вопросов.
Кстати руки дошли до CP-Z2M. Как и следовало полагать работает без вопросов.
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
http://ab-log.ru/files/File/megad-2561/ ... a4-hex.zip
- Экспериментальная версия прошивки с "нативной" поддержкой дисплея SSD1306. (Обновление со сбросом настроек!)
1. Дисплей можно подключить к ЛЮБОМУ порту.
2. После настройки порта как I2C/SDA и указав номер порта I2C/SCL, можно выбрать тип устройства: SSD1306
3. После того, как дисплей добавлен, у большинства портов (за исключением NC) появляется поле "Disp"
Если в этом поле указать номер порта, к которому подключен дисплей, то информация о состоянии порта будет отображаться на этом дисплее.
При изменении состояния порта, информация тут же отображается на дисплее.
В данный момент поддерживается отображение состояний для типов: IN, OUT (в режиме SW) и DSen (в режиме 1W)
К контроллеру может быть подключено несколько дисплеев. Таким образом, оперируя значением в поле Disp, можно выводить состояние разных портов на разных дисплеях.
Временно (для данной экспериментальной версии прошивки). Если порт, к которому подключен, дисплей P30 и выбрано менее 4 портов для отображения информации, то на дисплее будет отображаться текущий IP-адрес.
Контроллер будет выпускаться в модификации с дисплеем вместо светодиодной индикации (Power/Act) и подключаться к внутреннему разъему (также как плата RTC). И таким образом, этот дисплей будет системным и на нем (если пользователь не указал порты, которые на него выводить) будет отображаться служебная информация.
Данная версия прошивки публикуется скорее для обсуждения. Расположение информации на дисплее, шрифт и другие параметры могут поменяться.
- Экспериментальная версия прошивки с "нативной" поддержкой дисплея SSD1306. (Обновление со сбросом настроек!)
1. Дисплей можно подключить к ЛЮБОМУ порту.
2. После настройки порта как I2C/SDA и указав номер порта I2C/SCL, можно выбрать тип устройства: SSD1306
3. После того, как дисплей добавлен, у большинства портов (за исключением NC) появляется поле "Disp"
Если в этом поле указать номер порта, к которому подключен дисплей, то информация о состоянии порта будет отображаться на этом дисплее.
При изменении состояния порта, информация тут же отображается на дисплее.
В данный момент поддерживается отображение состояний для типов: IN, OUT (в режиме SW) и DSen (в режиме 1W)
К контроллеру может быть подключено несколько дисплеев. Таким образом, оперируя значением в поле Disp, можно выводить состояние разных портов на разных дисплеях.
Временно (для данной экспериментальной версии прошивки). Если порт, к которому подключен, дисплей P30 и выбрано менее 4 портов для отображения информации, то на дисплее будет отображаться текущий IP-адрес.
Контроллер будет выпускаться в модификации с дисплеем вместо светодиодной индикации (Power/Act) и подключаться к внутреннему разъему (также как плата RTC). И таким образом, этот дисплей будет системным и на нем (если пользователь не указал порты, которые на него выводить) будет отображаться служебная информация.
Данная версия прошивки публикуется скорее для обсуждения. Расположение информации на дисплее, шрифт и другие параметры могут поменяться.
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Экран подключен к 34/35
С датчика P30 типа Dsen/1W температуры не показывается, вместо неё некие артефакты.
Попутно вопрос - где скачать самые правильные библиотеки для вывода на экран из php?
I2C теперь можно подключать к любому порту XT2 или как прежде к P30/31, а на остальных можно только экран подключать?
С датчика P30 типа Dsen/1W температуры не показывается, вместо неё некие артефакты.
Попутно вопрос - где скачать самые правильные библиотеки для вывода на экран из php?
I2C теперь можно подключать к любому порту XT2 или как прежде к P30/31, а на остальных можно только экран подключать?
- Вложения
-
- 2017-02-11-353.jpg (26.89 КБ) 5717 просмотров
Последний раз редактировалось hawkeye 11 фев 2017, 21:20, всего редактировалось 1 раз.
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
hawkeye
Вот исправленная версия:
http://ab-log.ru/files/File/megad-2561/ ... a5-hex.zip
Вот исправленная версия:
http://ab-log.ru/files/File/megad-2561/ ... a5-hex.zip
http://ab-log.ru/smart-house/ethernet/megad-i2chawkeye писал(а):Попутно вопрос - где скачать самые правильные библиотеки для вывода на экран из php?
Никогда прежде не было требования подключать I2C только к P30/32. Всегда, с самого начала, работать с I2C можно было через любой порт.hawkeye писал(а):I2C теперь можно подключать к любому порту XT2 или как прежде к P30/32
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
В beta5 теперь показывает.
Я тогда не очень понимаю раскраску в доке.
Там три вида: P30-P31, 32-33, 34-35 выделено разным цветом и подписано: I2C или цифр.датчики c подт.4.7кОм, UART или цифр.датч., цифр. датч.
Тогда ещё уточнение - в З6,37 можно тоже что угодно подключать, хоть кнопку, но только они могут быть ADC?
Я тогда не очень понимаю раскраску в доке.
Там три вида: P30-P31, 32-33, 34-35 выделено разным цветом и подписано: I2C или цифр.датчики c подт.4.7кОм, UART или цифр.датч., цифр. датч.
Тогда ещё уточнение - в З6,37 можно тоже что угодно подключать, хоть кнопку, но только они могут быть ADC?
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
hawkeye, если говорить с позиции текущей прошивки, то раскраска в кратком руководстве скорее "для красоты". Однако это не означает, что аппаратная функция I2C не будет задействована в будущем для каких-нибудь устройств, требующих, скажем, высокую скорость работы. Я же предлагаю не ограничиваться только аппаратными портами. На мой взгляд интересно и важно, что I2C-шину можно подключать к любому порту. Абсолютно.
По второму вопросу. Конечно, к P36, P37 можно подключать хоть кнопку. Но функция АЦП (если говорить о тех портах, которые выведены внизу) есть только у них. Также у этих портов нет подтяжки, а потому цифровые датчики без устройства внешней подтяжки с этими портами работать не будут. Мне кажется, что с точки зрения разнообразия периферии, которую можно подключать напрямую к контроллеру, важно было обеспечить возможность работы с аналоговыми датчиками. В быту это не только датчики освещенности, но также различные датчики давления (жидкости в трубах), газа: бытового, углекислого (CO2), датчики "качества" воздуха и т.д.
По второму вопросу. Конечно, к P36, P37 можно подключать хоть кнопку. Но функция АЦП (если говорить о тех портах, которые выведены внизу) есть только у них. Также у этих портов нет подтяжки, а потому цифровые датчики без устройства внешней подтяжки с этими портами работать не будут. Мне кажется, что с точки зрения разнообразия периферии, которую можно подключать напрямую к контроллеру, важно было обеспечить возможность работы с аналоговыми датчиками. В быту это не только датчики освещенности, но также различные датчики давления (жидкости в трубах), газа: бытового, углекислого (CO2), датчики "качества" воздуха и т.д.
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Кстати, для тех, кто использует SSD1306 вместе с библиотекой I2C-PHP.
Если дисплей задан в конфигурации порта, то контроллер с прошивкой 4.10beta5, автоматически инициализирует его. А это значит что в скрипте можно сразу выводить данные на дисплей без необходимости стартовой инициализации и очистки экрана.
Если дисплей задан в конфигурации порта, то контроллер с прошивкой 4.10beta5, автоматически инициализирует его. А это значит что в скрипте можно сразу выводить данные на дисплей без необходимости стартовой инициализации и очистки экрана.
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Andrey_B. Чем дальше, тем интереснее! Вы умеете удивлять: вроде не было никакого развития проекта, а тут сразу череда существенных обновлений! У вас появились партнеры, которые убедили Вас в необходимости таких революционных в MegaD возможностей как MQTT и дисплей?
По BMP180/280, BME280 - считаю последний одним из самых передовых и точных (давал ссылку на эксперименты в обсуждении DHT22). Для него точно не жалко хранить калибровочные коэффициенты применительно к одному порту.
По BMP180/280, BME280 - считаю последний одним из самых передовых и точных (давал ссылку на эксперименты в обсуждении DHT22). Для него точно не жалко хранить калибровочные коэффициенты применительно к одному порту.
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Alex_Jet,
Если посмотреть здесь: http://ab-log.ru/smart-house/ethernet/m ... 1-firmware, то можно заметить, что проект развивался, развивается и будет развиваться.
Как я и говорил ранее, для проекта нет запретных тем.
Насчет BMP/BME подумаю. Есть пара идей.
Если посмотреть здесь: http://ab-log.ru/smart-house/ethernet/m ... 1-firmware, то можно заметить, что проект развивался, развивается и будет развиваться.
Как я и говорил ранее, для проекта нет запретных тем.
Насчет BMP/BME подумаю. Есть пара идей.
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Сложно ли сделать, чтобы на экран выводилось одно большое число из двух цифр с температурой?
Научите, как в mod_ssd1306_fonts.php сделать шрифт с здоровыми цифрами.
Научите, как в mod_ssd1306_fonts.php сделать шрифт с здоровыми цифрами.
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
hawkeye, вот здесь все написано.
http://ab-log.ru/smart-house/ethernet/oled-megad-328
http://ab-log.ru/smart-house/ethernet/oled-megad-328
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
"поиграл" с Click mode, обнаружил, что в этом режиме нельзя включить PWM порты.
1. 10:255|10:0 - один клик - не включает(!), два клика - выключает
2. 11:1|11:0 - один клик - включает, два клика - выключает (простой порт)
3. 10:*255|10:0 - один клик - не работает, два клика - выключает
еще режим диммирования "~" работает только, если mode=P&R (что, в общем, логично, но не интуитивно)
в связи с этим - был бы вообще праздник, если бы можно было совместить режим "~" и двойной клик.
1. 10:255|10:0 - один клик - не включает(!), два клика - выключает
2. 11:1|11:0 - один клик - включает, два клика - выключает (простой порт)
3. 10:*255|10:0 - один клик - не работает, два клика - выключает
еще режим диммирования "~" работает только, если mode=P&R (что, в общем, логично, но не интуитивно)
в связи с этим - был бы вообще праздник, если бы можно было совместить режим "~" и двойной клик.
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Андрей, никак не хотел Вас упрекнуть. Просто друг за другом идут серьезные обновления! И это радуетAndrey_B писал(а):...можно заметить, что проект развивался, развивается и будет развиваться.
Прошивка 4.10b5. Инициализация с очисткой дисплея действительно происходят. Системные значения (например, IP-адрес, как показано выше) не выводятся. С mod_i2c_lib.php дисплей работает отлично.
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Я писал выше: "Если порт, к которому подключен дисплей, P30 и выбрано менее 4 портов для отображения информации, то на дисплее будет отображаться текущий IP-адрес."Alex_Jet писал(а):Системные значения (например, IP-адрес, как показано выше) не выводятся.
У вас дисплей (линия SDA) подключен к P30? Вероятно, нет.
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Вот исправленная версия.zAndrew писал(а):"поиграл" с Click mode, обнаружил, что в этом режиме нельзя включить PWM порты.
http://ab-log.ru/files/File/megad-2561/ ... a6-hex.zip
А это как?zAndrew писал(а):был бы вообще праздник, если бы можно было совместить режим "~" и двойной клик.
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Andrey_B, созрело рацпредложение по доп.функционалу в настройках выходов Меги.
Некоторые пользователи дают команды на управление выходом Меги не с сервера, а например, со смартфона, где установлена несложная программа, позволяющая отправить команду Меге на переключение выхода. Но в то же время они хотят видеть актуальное состояние порта в программе умного дома, установленной на сервере.
Да, в API Меги есть команда "sl", которая раз в минуту сообщает серверу о состоянии всех выходов сразу. Но для рядового пользователя, не отягощенного знаниями в области программирования, разложить полученную строку на составляющие и настроить соответствующую реакцию умного дома, является очень непростой задачей. Да и периодичность передачи состояния портов раз минуту не всегда достаточна, чтобы с комфортом использовать при отображении в программе УД актуального состояния связанных объектов.
Да, сервер может сам спокойно опрашивать состояние портов с нужной периодичностью. Но, если таких портов десятки, а актуальное состояние нужно знать как можно раньше после его изменения, представляется, что опрашивать в ежесекундном цикле кучу портов, нагружая сервер и сетевой трафик, наверное, не самый лучший путь. Сервер, конечно, не развалится, да и сеть, наверное не умрет, но все же...
А что, если дополнить меню настройки выхода, скажем, чекбоксом, при наличии галки в котором Мега будет однократно отправлять актуальное состояние выхода на сервер после изменения состояния этого выхода?
Лично мне такой функционал пока не нужен. Но на родственном форуме (по Мажордомо) я уже не первый раз от разных пользователей слышу сетование, по поводу сложностей "отлавливания" изменения состояния выхода, если команда на это дана Меге не сервером (с программой УД).
Некоторые пользователи дают команды на управление выходом Меги не с сервера, а например, со смартфона, где установлена несложная программа, позволяющая отправить команду Меге на переключение выхода. Но в то же время они хотят видеть актуальное состояние порта в программе умного дома, установленной на сервере.
Да, в API Меги есть команда "sl", которая раз в минуту сообщает серверу о состоянии всех выходов сразу. Но для рядового пользователя, не отягощенного знаниями в области программирования, разложить полученную строку на составляющие и настроить соответствующую реакцию умного дома, является очень непростой задачей. Да и периодичность передачи состояния портов раз минуту не всегда достаточна, чтобы с комфортом использовать при отображении в программе УД актуального состояния связанных объектов.
Да, сервер может сам спокойно опрашивать состояние портов с нужной периодичностью. Но, если таких портов десятки, а актуальное состояние нужно знать как можно раньше после его изменения, представляется, что опрашивать в ежесекундном цикле кучу портов, нагружая сервер и сетевой трафик, наверное, не самый лучший путь. Сервер, конечно, не развалится, да и сеть, наверное не умрет, но все же...
А что, если дополнить меню настройки выхода, скажем, чекбоксом, при наличии галки в котором Мега будет однократно отправлять актуальное состояние выхода на сервер после изменения состояния этого выхода?
Лично мне такой функционал пока не нужен. Но на родственном форуме (по Мажордомо) я уже не первый раз от разных пользователей слышу сетование, по поводу сложностей "отлавливания" изменения состояния выхода, если команда на это дана Меге не сервером (с программой УД).
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
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
После этого у нас в списке напротив интересующего нас порта появляется ссылка Ext-IO
Перейдя по ссылке попадаем в перечень "дополнительных" портов.
Все они в данный момент OUT. Это интересно прежде всего, так как в качестве входов намного удобнее работать с "родными" портами контроллера.
Внутри порта две ссылки для управления: ON/OFF
Обратите внимание на команду управления. Она поддерживает работу с этими портами следующим образом.
Пример: 35e0:1
Это означает, что необходимо включить дополнительный (extended, "e") порт "0", который подключен по I2C к SDA порту 35: 35e0:1
Выключить дополнительный порт P1: 35e1:0
Эти команды поддерживаются везде: в сценариях, в командах сервера, в cron и т.д.
В данный момент я не могу предложить готовые исполнительные модули с MCP23008, но такие модули непременно появятся в будущем.
А пока это обновление для тех, кто в состоянии собрать такой модуль самостоятельно или адаптировать готовые модули от других производителей (они в природе существуют).
- Добавлена поддержка 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
После этого у нас в списке напротив интересующего нас порта появляется ссылка Ext-IO
Перейдя по ссылке попадаем в перечень "дополнительных" портов.
Все они в данный момент OUT. Это интересно прежде всего, так как в качестве входов намного удобнее работать с "родными" портами контроллера.
Внутри порта две ссылки для управления: ON/OFF
Обратите внимание на команду управления. Она поддерживает работу с этими портами следующим образом.
Пример: 35e0:1
Это означает, что необходимо включить дополнительный (extended, "e") порт "0", который подключен по I2C к SDA порту 35: 35e0:1
Выключить дополнительный порт P1: 35e1:0
Эти команды поддерживаются везде: в сценариях, в командах сервера, в cron и т.д.
В данный момент я не могу предложить готовые исполнительные модули с MCP23008, но такие модули непременно появятся в будущем.
А пока это обновление для тех, кто в состоянии собрать такой модуль самостоятельно или адаптировать готовые модули от других производителей (они в природе существуют).
-
- Сообщения: 400
- Зарегистрирован: 21 сен 2013, 00:38
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
О как!!! Спасибо большое, заказал теперь MCP23008, пощупаю...
Раз уж пошла такая пьянка, может и поддержку PCA9685 получится прикрутить? это аж 16 - 12 битных ШИМ...
Раз уж пошла такая пьянка, может и поддержку PCA9685 получится прикрутить? это аж 16 - 12 битных ШИМ...
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Чтобы кнопка работала и с долгим нажатием для управления диммированием (~), и с двойным кликом. Таким образом получится супермногофункциональная кнопка )Andrey_B писал(а):А это как?zAndrew писал(а):был бы вообще праздник, если бы можно было совместить режим "~" и двойной клик.
Сейчас символ ~ работает только в P&R режиме.