Пообщавшись с коллегой, нарисовали несколько схем, как может выглядеть архитектурное решение для автоматизации дома. И остановились на таком варианте, схемку быстренько набросал в lucidchart.
Далее - кратко о сути схемы.
Вот и вся архитектура.
Как видно, в этом варианте есть минус - аппаратная избыточность. Но взамен мы получаем легко масштабируемую структуру и прозрачность.
Другими словами - система получается дороже на первом этапе (при покупке оборудования), но дешевле в дальнейшем (проще писать код, поддерживать и расширять систему).
И один нюанс :) Это теория. Надеюсь, удастся посмотреть, что будет на практике, возможно, тогда и схемку скорректируем.
Если есть что сказать/посоветовать, комментируйте, будем рады.
Далее - кратко о сути схемы.
- Веб сервер нужен для отображения информации и приёма команд на любом устройстве.
- Сам веб сервер планируем развернуть на малинке, она дешёвая и может работать без вентиляторов. Чем меньше механических составляющих, тем лучше, на мой взгляд. Если малинной мощности будет не хватать, можно будет взять что-то помощнее, типа CubieTruck.
- При наличии связи веб сервера с Интернет, домом можно будет управлять издалека.
- Сделаем адаптивный дизайн, чтобы можно было смотреть на показания датчиков и управлять домом как с компа, так и с мобильных устройств.
- Для вывода информации, возможно, воспользуемся d3js, чтобы посильнее разгрузить веб сервер и побольше графики и таблиц рисовать на клиенте.
- Коммутатор нужен для того, чтобы избежать конфликтов сигналов от различных датчиков и устройств. Например, веб сервер запрашивает показания температуры в одной комнате. А в это время очухался, например, контроллер датчика освещённости и выслал свой результат. Коммутатор поможет избежать такой неразберихи и примет только нужный сигнал.
- В каких-то случаях нам не захочется тянуть много длинных проводов от коммутатора к каждому контроллеру. Для этого будем снова использовать коммутаторы следующего уровня (Sub Commutator). Надо предусмотреть, чтобы таких уровней могло быть много. Т.е. будет дерево из коммутаторов.
- Если проводков от устройств будет так много, что все они не будут помещаться в разъёмы одного коммутатора, то дерево коммутаторов снова придёт на помощь.
- Каждый датчик или устройство будет работать вместе со своим контроллером (Controller 1... N).
- Это нужно в первую очередь для того, чтобы наладить связь коммутатор-устройство. Каждый такой контроллер должен иметь свой уникальный идентификатор, чтобы к нему можно было адресоваться.
- Вторая роль контроллера - организация автономной работы устройства.
Вот и вся архитектура.
Как видно, в этом варианте есть минус - аппаратная избыточность. Но взамен мы получаем легко масштабируемую структуру и прозрачность.
Другими словами - система получается дороже на первом этапе (при покупке оборудования), но дешевле в дальнейшем (проще писать код, поддерживать и расширять систему).
И один нюанс :) Это теория. Надеюсь, удастся посмотреть, что будет на практике, возможно, тогда и схемку скорректируем.
Если есть что сказать/посоветовать, комментируйте, будем рады.
Комментариев нет:
Отправить комментарий