А можно отдельной темой по настройке описать? Или ткнуть на нее если уже есть.Alex_Jet писал(а): ↑16 янв 2018, 20:39Освоив голосового помощника (Sphinx), сделав под него словарь, разместив в каждой изолированной комнате микрофон (у меня мультирум на базе Orange Pi Zero - к каждому модулю необходимо подключить микрофон), можно управлять голосом с помощью скриптов на основном сервере вообще всем. Главное описать в словаре все команды и не забыть их.[/size]
Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Вот - https://www.ab-log.ru/forum/viewtopic.p ... 803#p30803. Если осилите, дайте знать. У меня пока совсем на это нет время... Тем более под OPiZ скорее придется пересобирать Sphinx
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Если доверяться исключительно автоматизации УД, то поверьте будете жить в доме, который постоянно мигает, когда это не нужно, выключает воду, когда вы намылились и т.д. Много все равно ложится на плечи жильцов. Меня не устроит например если я с утра проснусь, а мне в глаза светит "приятный" свет, когда он мне не нужен (именно в этом случае конечно же лучше под рукой иметь планшет или смартфон), или если я захожу в комнату и должен постоянно маячить перед датчиком движения, чтобы свет не выключался каждые 5 минут. Или пошел я в ванну, немного набрызгал на пол и в самый ответственный момент вдруг перекрылась вода. Автоматика не решает все проблемы. Дай бог на 50%. А остальные 50% все равно участвует человек. И поверьте автоматика у меня в квартире практически на всем (вода, отопление, климат, освещение в туалете, коридоре, вентиляция в ванной и туалете, шторы, даже накопительный бак горячей воды включается, и переключается вода, когда отсутствует горячая вода в трубах). Не все конечно-же работает корректно, но большая часть... Вот только в комнатах, на кухне автоматику к освещению не прилепишь в том виде, в котором подразумеваете Вы. Именно для этого и располагаются выключатели, которые можно элегантно и удобно заменить панелями, с которых будет элементарно автоматизировать те действия, которые необходимы на данный момент. Ну короче что-то в этом роде.
На самом деле мы с Вами сейчас занимаемся пустой болтовней, которой уже захламили данный раздел. Давайте закончим на этом. А Андрей и правда может удалить эти сообщения.
На самом деле мы с Вами сейчас занимаемся пустой болтовней, которой уже захламили данный раздел. Давайте закончим на этом. А Андрей и правда может удалить эти сообщения.
Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Это не пустая болтовня. Это разный подход к решению одних и тех же задач. Да, чуток отклонились от темы топика, но дискуссия все-равно полезна (конструктивная). Мы уже всей страной однажды проходили "единственно верное учение". Поэтому считаю, что обсуждать такие вопросы можно и нужно, только может быть в рамках отдельной ветки. Хотя и тут все завертелось вокруг потенциального функционала прошивки как "результирующей" всех концепций.
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Информация о нажатиях передается на "сервер", где прописаны необходимые алгоритмы и сценарии.
В ряде случаев: извещатели, герконы, концевики, некритические датчики и т.д., вполне нормальное решение.
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
А решение на уровне MegaD не будет? Хотелось чтобы так-же независимо от сервера можно было хотя бы по минимому сделать.
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Prokol, предположим к контроллеру MegaD-2561 подключено 18 расширителей MCP23017. Думаю, это вполне реально.
Стандартное поле для хранения сценария - 23 байта.
18 * 16 * 23 = 6624 байт
Объем встроенного в микроконтроллер EEPROM = 4096 байт.
И это при условии, что MCP23017 не подключены шиной несколько на один порт. А такое подключение теоретически возможно.
Без применения внешнего EEPROM хранить сценарии для расширенных портов негде. Внешний EEPROM в принципе возможен, но это отдельный вопрос.
Стандартное поле для хранения сценария - 23 байта.
18 * 16 * 23 = 6624 байт
Объем встроенного в микроконтроллер EEPROM = 4096 байт.
И это при условии, что MCP23017 не подключены шиной несколько на один порт. А такое подключение теоретически возможно.
Без применения внешнего EEPROM хранить сценарии для расширенных портов негде. Внешний EEPROM в принципе возможен, но это отдельный вопрос.
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Поэтому я и написал, сделать по минимальному. Т.е. одно поле 4 байта (а то и 3, не учитывая разделитель), две цифры на порт, разделитель и цифра на режимы кнопка/вкл/выкл/переключение.
Тем более мне кажется такое количество устройств подключать нет смысла (блок питания MegaD может не выдержать), столько выводов даже на предприятии крупном будет не нужно, не то что дома и много других причин. Максимум 5 устройств (это уже 40 вх и 40 вых или 80 того или другого), подключаемых к винтовому разъему. 5 * 16 * 4 = 320.
У меня например в трешке с разными датчиками и всем остальным используется всего 5 ваших модулей по 14 вх/вых (часть свободно), плюс несколько датчиков, подключенных под винтовые разъемы.
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
А есть ли возможность для SSD1306 использовать опции кроме "text" для вывода мелкого текста, на примере выводита Disp только с помощью html запроса?
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Кстати в качестве ограничений можно позволить повесить гирлянду MCP23017, но только на один канал I2C. Иначе говоря контроллер может при попытке добавить на соседний канал еще один разветвитель сказать типа "ошибка: есть уже разветвитель на другом канале". Не думаю что есть необходимость вешать более 8 расширителей, а такое количество можно и на одну линию повесить даже в случае нескольких физических устройств.
Ну и по In я тоже поддерживаю что надо бы хотя бы минимальный обработчик. Типа один расширитель кнопки, другой реле (например как у меня). Кстати дома буду сделаю фото того что получилось если не забуду.
Ну и я думаю вполне актуально что можно микросхему внешнего EEPROM повесить. Кстати если не ограничивать одним каналом можно ввести обязательное требование наличия на той же шине МС EEPROM с расширителями портов и хранить настройки в ней. Т.е. вешаешь расширитель - будь добр повесить память для него.
Ну и по In я тоже поддерживаю что надо бы хотя бы минимальный обработчик. Типа один расширитель кнопки, другой реле (например как у меня). Кстати дома буду сделаю фото того что получилось если не забуду.
Ну и я думаю вполне актуально что можно микросхему внешнего EEPROM повесить. Кстати если не ограничивать одним каналом можно ввести обязательное требование наличия на той же шине МС EEPROM с расширителями портов и хранить настройки в ней. Т.е. вешаешь расширитель - будь добр повесить память для него.
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Тоже неплохое решение. Могу дополнить это решение. Допустим MegaD видит внешний EEPROM на этом же порту SDA, в настройках появляются полный набор IN с этой EEPROM. Если нет, то короткий, как писал выше.nevkon писал(а): ↑18 янв 2018, 09:30Ну и я думаю вполне актуально что можно микросхему внешнего EEPROM повесить. Кстати если не ограничивать одним каналом можно ввести обязательное требование наличия на той же шине МС EEPROM с расширителями портов и хранить настройки в ней. Т.е. вешаешь расширитель - будь добр повесить память для него.
Мало того предложу еще вариант для Ваших модулей (может показаться бредовым ). Вместо 8-го выхода (G3,G4) повесить внешнюю EEPROM, соответственно при подключении модуля к MegaD, 8-й вывод настраивать как I2C-SDA или сама MegaD ее сканирует (определяет на порту). Один из выводов настраивается как SCL (Как я понимаю он сможет работать и как штатный и как SCL одновременно, если не заблуждаюсь). Тем самым если старый модуль, то все по старому, если с EEPROM, то порт резервируется. При этом задействовать ее для дополнительных опций самого модуля, расширив тем самым ее возможности. В саму EEROM изначально можно было бы добавлять модель модуля, для первоначальной автонастройки портов MegaD.
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
А какую информацию вы таким образом планировали выводить?
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Обещанные фото. Качество плат получилось плохое - впервые травил персульфатом аммония, он фоторезист поотклеивал, а дорожки тонкие.
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Последний раз редактировалось Prokol 19 янв 2018, 10:41, всего редактировалось 1 раз.
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Это 16I16O в 6 din модуле . Конечно реле внешние, но если цеплять нагрузку до 100-200мА 12В, то можно и напрямую.
Как раз то для чего прошу гирлянду на порт. Внутри 2 шт MCP23017.
А зачем использовать дорогие оптопары 6N135?
Вообще обсуждать свои модули лучше здесь: https://www.ab-log.ru/forum/viewtopic.php?f=1&t=1143 (почему-то не смог найти в списке тем - пришлось поиском пользоваться).
Как раз то для чего прошу гирлянду на порт. Внутри 2 шт MCP23017.
А зачем использовать дорогие оптопары 6N135?
Вообще обсуждать свои модули лучше здесь: https://www.ab-log.ru/forum/viewtopic.php?f=1&t=1143 (почему-то не смог найти в списке тем - пришлось поиском пользоваться).
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Андрей, подскажите какой адрес должен быть у PCA9685? Сканирую и вижу либо 3 либо 2 строки. 0x0; 0x80 - HTU21D (или вместо него 0x81 изредка); 0xe0 (или 0xe1). Вроде должен быть 0x40?
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Вопрос адресации при работе с шиной I2C обсуждался здесь несколько раз.
0x80 = 0x40 << 1
Строго говоря, функция "Scan" отображает не адрес в точном смысле этого слова, а факт ответа устройства на переданный в шину полный байт данных, который содержит 7-битный адрес и бит направления.
0x80 означает, что на шине присутствует устройство с адресом 0x40.
Функция "Scan" могла бы отображать и 7-битные адреса. Это абсолютно не принципиально. Задача этой функции в том, чтобы пользователь увидел, что подключенное устройство доступно на шине.
0x80 = 0x40 << 1
Строго говоря, функция "Scan" отображает не адрес в точном смысле этого слова, а факт ответа устройства на переданный в шину полный байт данных, который содержит 7-битный адрес и бит направления.
0x80 означает, что на шине присутствует устройство с адресом 0x40.
Функция "Scan" могла бы отображать и 7-битные адреса. Это абсолютно не принципиально. Задача этой функции в том, чтобы пользователь увидел, что подключенное устройство доступно на шине.