Мега-контроллер. И ни в чём себе не отказывай

image

Сегодня я расскажу вам как можно «оторваться по полной» на ниве домашней автоматизации и получить ни с чем несравнимое удовольствие от процесса создания, настройки и эксплуатации своего Умного Дома. Речь пойдёт о реконфигурируемом с точностью до одного пина микроконтроллере на 192 линии контроля/управления, масштабируемом и работающим под неким подобием операционной системы с полноценным веб-интерфейсом. Каждый такой контроллер может содержать сотни сайтов и таких контроллеров в вашей сети может быть сколько угодно. Похоже, будущее уже наступило.
В своих прошлых публикациях я уже описал некоторые «кирпичики» этой системы. Это открытый стандарт домашней автоматизации OHAS (Open Home Automation Standard), который позволяет использовать все преимущества СКС (структурированных кабельных систем) в деле построения Умных Домов (а также Умных Предприятий, Умных Лабораторий и т. д.) и Arduino Mega Server — комплекс программного обеспечения, который совершает маленькое чудо и превращает «убогий» восьмибитный микроконтроллер в нечто совершенно фантастическое о чём лучше почитать в первой статье и во второй статье о AMS.

Это не все части пазла, есть ещё комплекс, работающий под открытой платформой домашней автоматизации MajorDoMo, датчики, подключаемые одним кликом и исключающие из процесса построения Умного Дома паяльник и перфоратор, распределённый интеллект, концепция живых систем, контроллеры, которые модифицируют себя и соседей по сети на железном уровне и много чего ещё интересного, но об этом я расскажу как-нибудь в другой раз, а сейчас давайте сосредоточимся на Мега-контроллере.

О чём речь


В чём ахиллесова пята всех систем домашней автоматизации? Жёсткость и практическая невозможность (или крайняя затруднённость) модификации уже синсталлированного и сданного в эксплуатацию Умного Дома. Если программную часть ещё можно как-то изменить, то с проводкой, датчиками и микроконтроллерами сделать уже практически ничего нельзя. Всё наглухо запаяно, забетонировано, заштукатурено и сверху заботливо поклеены обои в цветочек. Но Умный Дом эксплуатируется годами, а потребности и желания у людей меняются очень быстро и через год, три или пять лет вам обязательно понадобится что-либо изменить в своём Умном Доме. При стандартном подходе это невозможно в принципе.

Отступление. Сейчас мы говорим о проводной части Умного Дома и не касаемся проблематики беспроводных решений. По поводу беспроводных решений я уже давал свои комментарии в статье про OHAS, интересующиеся могут ознакомиться с ними.

Так вот, представляемый контроллер это органическая часть системы, которая позволяет как угодно и когда угодно (в любой момент времени) переконфигурировать ваш Умный Дом на железном уровне (!) за час или два. Причём большая часть времени уйдёт на чисто механическое перетыкание перемычек. Никакого паяльника. Никакого перфоратора. Никакой грязи и пыли. Никаких временных и денежных затрат. Всё чинно, благородно и очень интеллигентно.

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


Сразу хочу оговориться, что всё, о чём здесь идёт речь это не теоретические измышления, а скорее отчёт о трёхлетнем тестировании и эксплуатации системы. Никаких сбоев и проблем выявлено не было. Одно только удовольствие и ощущение необыкновенной лёгкости при работе с «железом».

Итак, ТТХ. Основа системы это конечно Arduino Mega, но сейчас речь пойдёт не о ней, а о самом контроллере. С внешним миром контроллер связан 24-я портами RJ-45. Что, кстати, позволяет его подключать и отключать от сети как обычный роутер или домашний Интернет-центр, что очень удобно для профилактики и модификации. Поскольку стандарт OHAS оперирует отдельными пинами, то в нашем распоряжении оказываются 24×8 = 192 линии, которые мы можем использовать как хотим. Для контроля (на вход) или управления (на выход). А поскольку контроллер тоже реконфигурируем с точностью до одного пина, то мы получаем полную свободу манипуляции подключениями и со стороны контроллера тоже.

Это значит, что для того, чтобы подключить новый датчик, например, в кладовке, вам не нужно прокладывать новую линию связи с ним, вам достаточно с одного конца линии подключить датчик (одним кликом, без паяльника), а на контроллере поставить (без пайки) две перемычки и один резистор. Это всё. Сравните со штроблением стен, прокладкой кабеля, ремонтом и пайкой.

Если вам нужно поменять этот датчик на другой, добавить ещё один, удалить ненужный или перенести датчик в другое помещение, то ваши действия будут аналогичны: удаление или добавление перемычек и резисторов на контроллере и претыкание патч-корда на панели. Больше ничего вам делать не придётся.

Это даёт вам невиданную свободу и власть над своим Умным Домом. И любую пришедшую вам в голову идею вы можете воплотить в жизнь мгновенно, буквально, пока чайник греется (вам ведь хватит двух минут, чтобы воткнуть перемычку?).

Матрица


Вся соль системы, за исключением стандарта OHAS, заключается в реконфигурируемой матрице, которая позволяет манипулировать подключениями с точностью до одного пина. На входе матрицы — пины микроконтроллера, на выходе — пины проводов. Это как раз и даёт небывалую власть над системой и полную свободу по модификации вашего Умного Дома в любой момент.

image

Из всех вариантов реализации матрицы был выбран самый простой, но, как оказалось на практике, самый удобный и эффективный вариант — обычные монтажные платы. Были сомнения в надёжности подобных соединений, но практика, как говорится, критерий истины и практика подтвердила полную жизнеспособность идеи. За всё время многолетней эксплуатации не было ни одного сбоя или проблемы вообще и по вине коммутационной части в частности. Всё работает как часы.

image

И, поверьте, один раз испытав чувство свободы, вас уже не заставишь припаивать соединения Умного Дома.
Технические подробности
Основа системы это Arduino Mega 2560 и Ethernet Shield W5100 c microSD картой памяти. Что и как подключать подробно описано в стандарте OHAS и в соответствующей статье.

Проводка, естественно, делается витой парой категории 5e. Коммутационная часть взята из настенных патч-панелей Hyperline PPWBL-12.

image

Разноцветные модули это Keystone Jack RJ-45. Разноцветные они не просто так и не ради красоты, это сделано для того, чтобы исключить неправильные подключения. И каждый порт и каждый кабель промаркированы, что видно на фотографиях. Если вы держите в руках зелёный кабель с маркировкой »17», то у вас не должно возникнуть вопросов куда его следует подключить.

В качестве шасси использовано несколько неожиданное и нестандартное решение — крышка от пластикового бокса, вернее, две крышки. Как это не покажется странным, но это решение имеет свои преимущества. В домашних условиях не нужно проделывать кучу прямоугольных отверстий в боковых гранях корпуса, можно свободно регулировать высоту корпуса, эта конструкция подходит для сборки стоек из нескольких устройств, кабели можно выводить с любой нужной вам стороны и т. д. В общем, пока вы не заказали или не сделали корпус под своё устройство этот вариант вполне подходит.

Нужно только учитывать, что пластиковые боксы бывают разные и большинство из них для наших целей не подходит, а подходит, например, DUNYA Plastic ClearBox 6L, который и был использован в проекте. На мой взгляд, очень даже неплохо для домашнего устройства.

Тело создали, осталось вдохнуть Дух


Итак, сам контроллер мы сделали, но всё было бы не так интересно, если бы мы ограничились заливкой в него какой-нибудь тривиальной программы по включению света или измерению температуры. И до последнего времени у нас не было выбора. Только «убогие» скетчи. Ни тебе интерфейса, ни тебе вывода информации, ни тебе интеграции с собратьями и «старшими братьями», ни тебе распределённого интеллекта ни тебе вообще ничего, кроме, образно говоря, моргания светодиодами.

image

Теперь у нас есть Arduino Mega Server и это коренным образом меняет ситуацию. Вы заливаете на Мегу скетч из дистрибутива и на microSD карту памяти — файлы из того же дистрибутива и… происходит чудо из серого и невзрачного бутона под названием Arduino Mega разворачивается нечто совершенно удивительное. Я не буду здесь на этом долго останавливаться, вам лучше почитать статьи по ссылкам выше, расскажу лишь о некоторых возможностях системы и планах на будущее.

Мы уже имеем устройство которое может содержать на себе до 32 гигабайт информации и структурировано представлять её в виде десятков, сотен и даже тысяч сайтов, каждый со своим дизайном, со своей функциональностью и со своей топологией. Это уже шокирует и не очень укладывается в голове. И таких устройств в вашей локальной сети может быть десятки и сотни.

Что дальше?


Интеграция между устройствами и распределённый интеллект Умного Дома. «Оживление» бездушных систем и перевод части функциональности с жёстко заданных программ на «нечёткую» мотивацию, свойственную живым системам. Дистрибуция прошивок и изменение Умного Дома на железном уровне в зависимости от обстоятельств и многое другое.

В общем, будет интересно, как говорится, оставайтесь с нами. А пока можете собрать себе Мега- контроллер, установить на него AMS и начать построение Умного Дома своей мечты.

© Geektimes