Продолжаем чесать
зудящий умный дом.
Итак, надо понять - а что нужно конкретно мне и в каком направлении мне надо двигаться? Попытаюсь сформулировать мою ситуацию.
Что у меня есть? Есть дом с комнатами, выключателями и лампочками. Немножко подготовлен к автоматизации - от каждого выключателя, группы света и группы розеток провода идут в центральный шкаф и там коммутируются перемычками. Есть кондиционеры в комнатах, отопление есть. Есть компьютер с медиацентром, подключенный к телевизору. Есть газон, который надо стричь и поливать (блин). Освещения на участке нет, но надо бы сделать.
Чего я хочу?
- Хочу управлять светом в зале. Когда читаешь книжку - надо одно, когда смотришь фильм - другое, а когда гости пришли - третье. С одного места или выключателя. Хочу чтобы свет на лестнице и перед домом сам выключался через некоторое время и включался когда темно и кто-то идет (датчик движения). Хочу чтобы на участке свет включался когда темно и выключался когда поздно уже. Ночью хочу чтобы некоторые лампы чуть-чуть горели чтобы ходить можно было.
- Хочу чтобы газон сам поливался по ночам. Ну в зависимости от влажности конечно.
- Хочу чтобы музыку можно было слушать в разных комнатах, а лежала бы она в одном месте.
- Хочу чтобы этим всем я мог управлять через веб интерфейс и еще чтобы мог все это запрограммировать как мне хочется. Ну вот программист я, что поделать? Я может и не буду никогда ничего менять, но возможность такую хочу иметь.
- Жалюзями и шторами тоже хорошо бы управлять. Окна открывать-закрывать за меня не надо.
- Думаю, аппетит придет во время еды, поэтому хочу чтобы если мне еще чего-то захочется, то не надо было бы все переделывать совсем.
- Я хочу чтобы это все работало надежно и без глюков. Особенно важные вещи типа света. Скажем так, сбой раз в два года моя жена переживет, а два раза в месяц - нет.
- Я хочу управлять всем сам и понимать как что устроено и где что можно поменять.
Денег я готов потратить не больше чем нужно. Вот как-то так. То есть, сделать все за 300 баксов можно, но на это уйдет куча моего времени. Или можно все сделать за 50000 баксов и минимум моего времени. Я думаю нащупать оптимальный для меня вариант - как можно дальше от верхней границы. Ну а потом есть такой аспект, что за определенные вещи не жалко отдать деньги, потому что понимаешь что они того стоят. А за некоторые вещи просто жаба душит - когда знаешь что в этой коробочке за 300 баксов деталей на 15 баксов и программа на 100 строк.
Итак. В каком направлении мне двигаться? Я решил что мне нужна централизованная система с расширениями для подключения распределенной системы. Вот так косноязычно… Ну, другими словами большая часть устройств будет находиться в одном месте - в электрическом шкафу. Там можно обойтись без шины, а управлять всем из центрального устройства. С другой стороны, если ставить новые датчики, то либо придется новые провода в шкаф тянуть, что затруднительно или некрасиво, либо использовать беспроводные каналы связи типа
Z-Wave или
EnOcean. Мне больше нравится централизованная система с возможностью расширения.
Централизованная система. Какие тут есть варианты? По сути - это должно быть устройство с каналами ввода - цифровыми - (вкл/выкл) и аналоговыми (датчик температуры или влажности), и каналами вывода - тоже цифровыми (реле) и, возможно, аналоговыми (диммер?). Ну и в этом устройстве должна крутиться некая программа.
- Можно взять обычный компьютер, прицепить к нему устройства ввода-выводи и использовать его как центральное устройство. Устройства ввода-вывода могут быть в виде PCI плат, или управляться по ethernet или по rs485. Получится мощно, гибко, но все точно сдохнет если комп сломается или зависнет.
- Можно сделать самому устройство с микропроцессором (спаять или купить что-то типа Arduino), и запрограммировать этот процессор делать что мне нужно. Получится очень дешево, не очень гибко, но более или менее надежно.
- Можно взять промышленный контроллер - PLC и его запрограммировать. По ценам это сравнимо с полноценным PC, но это намного надежнее и не менее гибко чем решение для PC. По сути, PLC - это мини-компьютер, на которм крутится исполняющая система (мини-ос), выполняющая программу. Но компьютер этот заточен на то, чтобы работать годами без сбоев - там нет движущихся частей, там есть всякие защиты, гальванические развязки, аппаратные таймеры и watchdog-и. Другими словами, они сильно надежнее любого PC. Современные контроллеры достаточно компактны - их можно смонтировать прямо в шкафу на DIN рейках.
- Можно взять готовую систему. Готовые системы представляют собой один из уже перечисленных мной вариантов с добавлением кастомного софта.
Я остановил выбор на варианте с PLC. При этом, у PLC должна быть возможность связи с компьютером - чтобы можно было взаимодействовать с системой извне. То есть, те функции, которые должны быть супер-надежными (типа включить свет) - будут зашиты в PLC. Второстепенные функции типа веб интерфейса могут быть повешены на компьютер.