Добрый день!
Уважаемые коллеги предлагаю Вам рассмотреть вариант сети основанной на микроконтроллерах с главным управляющим (мастером) на основе MajorDoMo.
идея не нова она уже поднималась на разных форумах и ее основные черты уже как бы оговорены. Суть самой задачи вот в чем.
Поскольку уже многие установили саму систему на Raspberry Pi то возникают некоторые моменты.
1. Малинка при всех положительных качествах (их перечислять не стану все знают) достаточна для работы и экономична кроме того стабильна - при сильной же загрузке например частыми опросом датчиков начинает тормозить.
2. Распределенная сеть датчиков на основе 1-ware на мой взгляд при всей простоте довольно аскетична и может быть только сама в себе. А если нужен не стандартный элемент, например датчики собранные в отдельную мини сетку с жесткими требованиями по реакции. Тут сеть 1-Ware не всегда может удовлетворить.
Говорить о недостатках и прелестях можно долго перехожу к самой сути:
Есть Малинка с системой, Есть самый простой и успешный МК это Ардуино, который прекрасно сочетается по всем параметрам с Малиной на уровне протокола обмена команд. Способ сопряжения может быть любой известный, т.е через USB или через EhternetShild либо TP-Link TPLink W703N (2030) мне понравился второй вариант.
Ардуино, в данной системе будет своего рода мастер сети и через простой конвертер RS485 может работать с подобным устройством на очень большом расстоянии. Кроме того датчики могут быть теперь любыми.. на любой базе т.е. композитный вариант MK+DS + контактный и пр..
Я рассматриваю внешние датчики на МК Атмега 8/16/32 и т.д . или Например Ардуино но отдельно взятый МК (Мега 8 А например или ATinni) гораздо дороже самой Ардуино, кроме того используя плату Ардуино как программатор и записав начальный загрузчик (bootloader) можно легко переписывать скетчи (либо использовать программатор).
Также очень много устройств который выдают информацию в стандарте RS 485 (счетчики например) а значит прямое подключение и считывание данных. А то что например частично неисправный электронный счетчик можно приобрести за копейки (в котором например разбит индикатор или у которого вышел срок (проще купить новый чем проверять) и данный узел можно использовать как датчик контроля напряжение и тока (мощности) так и прочим пермеаметрам.
Если кто имеет по данному направлению похожие намерения, в части реализации то предлагаю это обсудить.
Также постараюсь выложить варианты печатных плат и скетчей на обозрение. Тема я думаю интересна многим!
С Уважением!.
Распределенные устройства+MajorDoMo
Модератор: immortal
- sergejey
- Site Admin
- Сообщения: 4286
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 76 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Распределенные устройства+MajorDoMo
Я не очень понимаю, чем мы в целом тут занимаемся, если не обсуждаем подобное на всём форуме 
Ну т.е. многие строят как раз распределённые сети датчиков со своими контроллерами, которые обмениваются данными с головным компьютером. Вот приблизительно как на первой картинке на этой странице: http://smartliving.ru/Main/Arduino

Ну т.е. многие строят как раз распределённые сети датчиков со своими контроллерами, которые обмениваются данными с головным компьютером. Вот приблизительно как на первой картинке на этой странице: http://smartliving.ru/Main/Arduino
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
- shemnik69
- Сообщения: 590
- Зарегистрирован: Пн дек 24, 2012 3:01 pm
- Откуда: Саратов Saratov
- Благодарил (а): 67 раз
- Поблагодарили: 63 раза
Re: Распределенные устройства+MajorDoMo
Это так вопрос в том что большинство ведущих авторов основываясь на предпочтениях и своем знании именно WEB технологий строят протоколы взаимодействия простых модулей на этой основе.
А вот если устройство совсем простое его задачи не требуют постоянных "смотрин" на WEB на мой взгляд очень пригодится схема такая где например Ардуино UNO (Mega) это мастер своего рода подсети в которой ведомые устройства которые работают на периферии в местах расположения датчиков, исполнительных элементов и прочих взаимодействуют не через WEB а например RS 485 по витой паре.
Не стану убеждать всех что это правильно но есть места где такой вариант оптимален.
Пример.
Аквариум -у него есть и силовая часть (насосы, привода кормушек, освещение) и датчики например температуры. Тоже самое может быть применено к теплице или помещению, в котором поддерживается определенный режим (погреб, оранжерея и т п. ). Использовать в данных местах обособленный мини контроллер на мой взгляд проще. А его данные которые он будет формировать не отнимая ресурсы центрального блока УД использовать как для статистики так и например для опосредованного управления.
Может моя идея уже не столь актуальна но результаты применения простых модулей Atmega8 /Tinni +MAX 487 (485) мне очень понравились. Использование в качестве канала IFR не рассматривалось по причине расположения удаленного объекта и дальности с учетом стен и прочее недостаточно.
А вот если устройство совсем простое его задачи не требуют постоянных "смотрин" на WEB на мой взгляд очень пригодится схема такая где например Ардуино UNO (Mega) это мастер своего рода подсети в которой ведомые устройства которые работают на периферии в местах расположения датчиков, исполнительных элементов и прочих взаимодействуют не через WEB а например RS 485 по витой паре.
Не стану убеждать всех что это правильно но есть места где такой вариант оптимален.
Пример.
Аквариум -у него есть и силовая часть (насосы, привода кормушек, освещение) и датчики например температуры. Тоже самое может быть применено к теплице или помещению, в котором поддерживается определенный режим (погреб, оранжерея и т п. ). Использовать в данных местах обособленный мини контроллер на мой взгляд проще. А его данные которые он будет формировать не отнимая ресурсы центрального блока УД использовать как для статистики так и например для опосредованного управления.
Может моя идея уже не столь актуальна но результаты применения простых модулей Atmega8 /Tinni +MAX 487 (485) мне очень понравились. Использование в качестве канала IFR не рассматривалось по причине расположения удаленного объекта и дальности с учетом стен и прочее недостаточно.
-
- Сообщения: 968
- Зарегистрирован: Пт дек 06, 2013 11:30 am
- Откуда: Москва
- Благодарил (а): 71 раз
- Поблагодарили: 95 раз
Re: Распределенные устройства+MajorDoMo
Да все так и делают в массе. Под конкретные нужды пользуют типа Ардуино нано, который отчитывается и получает команды от Меги, которая уведомляет и получает доп указания от МЖД
- sergejey
- Site Admin
- Сообщения: 4286
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 76 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Распределенные устройства+MajorDoMo
Всё правильно, описанный подход самый что ни на есть грамотный -- я за децентрализацию по возможности. Например, у меня есть контроллер освещения на меге, который полностью автономно работает, "слушает" выключатели и щёлкает релешками, но кроме того он может принимать внешнюю команду и отсылать уведомление о событии на сервер. Аналогично у меня работает контроллер привода штор -- хочешь на него нажимай и шторы поедут, но, тем не менее, он может принимать (и принимает) команду на запуск из-вне. Ну и аналогично многие другие системы строятся. К самому компьютеру с MajorDoMo у меня только погодная станция подключена по USB, всё остальное общается с контроллером по ethernet (либо по радио-каналу, но через отдельно стоящий ethernet-шлюз).
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
- shemnik69
- Сообщения: 590
- Зарегистрирован: Пн дек 24, 2012 3:01 pm
- Откуда: Саратов Saratov
- Благодарил (а): 67 раз
- Поблагодарили: 63 раза
Re: Распределенные устройства+MajorDoMo
Сейчас вот в Инете нарыл много вариантов на данную тему особенно понравилась мне http://ocancontrols.com.au/KTA-223.htmle можно сказать самое то что нужно даже мудрить особо нечего. В основе идеи Ардуино как основа а поскольку сама Ардуино это прежде всего Атмега 328 или другая то грех не собрать на этой так сказать базе нестандартный и скажем так конкретно заточенный под необходимые условия контроллер. Сейчас уже обрисовал себе идейную часть набросал на этой основе некоторый схемный каркас и под него буду делать плату. Разумеется это будет своего рода комбайн. Но а поскольку я сторонник встроенного то сама Ардуино у меня как полигон.
Итак задачи такие. Сбор данных с 8 датчиков температуры, опрос 10 датчиков на основе контактных пар (герконы.. датчики движения, концевые датчики положения, и некоторые другие (пока они в планах) .
Выходные сигналы это 8 реле для управления силовой частью. Как видим это практически типовая задача.
Рассмотрим пример подробнее. (Прошу прощения за стиль но так мне удобнее да и всем понятнее)
Ворота - их как только не обговаривали и так и так. Я тоже не стану безучастным.
Классическая схема управления состоит из логики нижнего управления + интерфейсной части + информационного блока и скажем так необязательного но очень полезного т.е УД.
Логика нижнего уровня напрямую управляет двигателем а поскольку он чаще всего на 220/380 в то здесь применим реле.
Реле уже само по себе как логический блок имеющий минимальный набор т. е контактные пары способны отрабатывать некоторую логическую цепочку событий например исключить ошибочное сочетание кнопок (нажаты 2 открыть и закрыть).
Иными словами уже схема собранная на данном уровне т.е просто 2 реле кнопочный блок из 3 кнопок, блока питания уже позволит работать. Далее нам нужны датчики которые будут останавливать двигатель или другой привод в конечных положениях. Схема на реле прекрасно это делает но информативность данной схемы минимальны и для наших условий явно не подходит. Добавляем промежуточный элемент это согласующий уровни цепей питания реле (обычно 24 в) с электронной частью 5 в. Минимально необходимая автоматика уже работает и независима сама по себе.
Что даст нам микроконтроллер здесь?
Я долго сам себя настраивал на переход со схемной логики основанной на логических элементах на микроконтроллер и понял что ..... почему я не сделал это раньше. Теперь все только на них. Микроконтроллер в нашем случае возьмет на себя роль смотрящего и по командам извне причем самое главное удаленных будет управлять. Логика его такая.
Простой контроллер например Tinni 2313 опрашивает датчики контактов, положения, и ИК сенсоры. Управлять самой створкой (двигателем) МК не станет, по причине разделения функций описанных выше. Но в тоже время он может выдать сигнал на остановку при наличии таких причин.
Логика-же нижнего уровня, для этого будет либо слишком усложнена, либо в ее составе будут присутствовать элементы которые могут стать причиной сбоев. (Проверено ... ). Именно поэтому, в пром аппаратуре практически нигде не ставят на силовых приводах сложных электронных узлов только через промежуточные блоки. Этим условием мы разделим систему на уровни как по напряжению так и по исполнению задач.
Микроконтроллер получая данные от контактных датчиков на порядок быстрее отработает команду при которой время исполнения будет короче чем например при реализации данной схемы на ключах DS 2406/08. Кроме того сама сеть на данных элементах на мой взгляд все таки хороша для датчиков температуры.
Поэтому, я не стал вводить удаленное управление от "концевиков" через сеть 1-ware... эксперимент показал что створа может уже упереться в упор, а сигнал на стоп где то запаздывает... так до беды не далеко при условии что редуктор в 05 Т*С. (500 кГ)
Итогом стала рабочая версия которая обкатана режимом +38, летом -30, зимой и не имеет детских болезней. Т.е работает как было задумано.
Подчеркиваю описан только один частный вариант применения данного модуля, а фантазия на месте не стоит.
Итак задачи такие. Сбор данных с 8 датчиков температуры, опрос 10 датчиков на основе контактных пар (герконы.. датчики движения, концевые датчики положения, и некоторые другие (пока они в планах) .
Выходные сигналы это 8 реле для управления силовой частью. Как видим это практически типовая задача.
Рассмотрим пример подробнее. (Прошу прощения за стиль но так мне удобнее да и всем понятнее)
Ворота - их как только не обговаривали и так и так. Я тоже не стану безучастным.
Классическая схема управления состоит из логики нижнего управления + интерфейсной части + информационного блока и скажем так необязательного но очень полезного т.е УД.
Логика нижнего уровня напрямую управляет двигателем а поскольку он чаще всего на 220/380 в то здесь применим реле.
Реле уже само по себе как логический блок имеющий минимальный набор т. е контактные пары способны отрабатывать некоторую логическую цепочку событий например исключить ошибочное сочетание кнопок (нажаты 2 открыть и закрыть).
Иными словами уже схема собранная на данном уровне т.е просто 2 реле кнопочный блок из 3 кнопок, блока питания уже позволит работать. Далее нам нужны датчики которые будут останавливать двигатель или другой привод в конечных положениях. Схема на реле прекрасно это делает но информативность данной схемы минимальны и для наших условий явно не подходит. Добавляем промежуточный элемент это согласующий уровни цепей питания реле (обычно 24 в) с электронной частью 5 в. Минимально необходимая автоматика уже работает и независима сама по себе.
Что даст нам микроконтроллер здесь?
Я долго сам себя настраивал на переход со схемной логики основанной на логических элементах на микроконтроллер и понял что ..... почему я не сделал это раньше. Теперь все только на них. Микроконтроллер в нашем случае возьмет на себя роль смотрящего и по командам извне причем самое главное удаленных будет управлять. Логика его такая.
Простой контроллер например Tinni 2313 опрашивает датчики контактов, положения, и ИК сенсоры. Управлять самой створкой (двигателем) МК не станет, по причине разделения функций описанных выше. Но в тоже время он может выдать сигнал на остановку при наличии таких причин.
Логика-же нижнего уровня, для этого будет либо слишком усложнена, либо в ее составе будут присутствовать элементы которые могут стать причиной сбоев. (Проверено ... ). Именно поэтому, в пром аппаратуре практически нигде не ставят на силовых приводах сложных электронных узлов только через промежуточные блоки. Этим условием мы разделим систему на уровни как по напряжению так и по исполнению задач.
Микроконтроллер получая данные от контактных датчиков на порядок быстрее отработает команду при которой время исполнения будет короче чем например при реализации данной схемы на ключах DS 2406/08. Кроме того сама сеть на данных элементах на мой взгляд все таки хороша для датчиков температуры.
Поэтому, я не стал вводить удаленное управление от "концевиков" через сеть 1-ware... эксперимент показал что створа может уже упереться в упор, а сигнал на стоп где то запаздывает... так до беды не далеко при условии что редуктор в 05 Т*С. (500 кГ)
Итогом стала рабочая версия которая обкатана режимом +38, летом -30, зимой и не имеет детских болезней. Т.е работает как было задумано.
Подчеркиваю описан только один частный вариант применения данного модуля, а фантазия на месте не стоит.