Умный дом для программиста

Mar 03, 2010 00:53


Продолжаем чесать зудящий умный дом.

Итак, надо понять - а что нужно конкретно мне и в каком направлении мне надо двигаться? Попытаюсь сформулировать мою ситуацию.

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

Чего я хочу?
  • Хочу управлять светом в зале. Когда читаешь книжку - надо одно, когда смотришь фильм - другое, а когда гости пришли - третье. С одного места или выключателя. Хочу чтобы свет на лестнице и перед домом сам выключался через некоторое время и включался когда темно и кто-то идет (датчик движения). Хочу чтобы на участке свет включался когда темно и выключался когда поздно уже. Ночью хочу чтобы некоторые лампы чуть-чуть горели чтобы ходить можно было.
  • Хочу чтобы газон сам поливался по ночам. Ну в зависимости от влажности конечно.
  • Хочу чтобы музыку можно было слушать в разных комнатах, а лежала бы она в одном месте.
  • Хочу чтобы этим всем я мог управлять через веб интерфейс и еще чтобы мог все это запрограммировать как мне хочется. Ну вот программист я, что поделать? Я может и не буду никогда ничего менять, но возможность такую хочу иметь.
  • Жалюзями и шторами тоже хорошо бы управлять. Окна открывать-закрывать за меня не надо.
  • Думаю, аппетит придет во время еды, поэтому хочу чтобы если мне еще чего-то захочется, то не надо было бы все переделывать совсем.
  • Я хочу чтобы это все работало надежно и без глюков. Особенно важные вещи типа света. Скажем так, сбой раз в два года моя жена переживет, а два раза в месяц - нет.
  • Я хочу управлять всем сам и понимать как что устроено и где что можно поменять.

Денег я готов потратить не больше чем нужно. Вот как-то так. То есть, сделать все за 300 баксов можно, но на это уйдет куча моего времени. Или можно все сделать за 50000 баксов и минимум моего времени. Я думаю нащупать оптимальный для меня вариант - как можно дальше от верхней границы. Ну а потом есть такой аспект, что за определенные вещи не жалко отдать деньги, потому что понимаешь что они того стоят. А за некоторые вещи просто жаба душит - когда знаешь что в этой коробочке за 300 баксов деталей на 15 баксов и программа на 100 строк.

Итак. В каком направлении мне двигаться? Я решил что мне нужна централизованная система с расширениями для подключения распределенной системы. Вот так косноязычно… Ну, другими словами большая часть устройств будет находиться в одном месте - в электрическом шкафу. Там можно обойтись без шины, а управлять всем из центрального устройства. С другой стороны, если ставить новые датчики, то либо придется новые провода в шкаф тянуть, что затруднительно или некрасиво, либо использовать беспроводные каналы связи типа Z-Wave или EnOcean. Мне больше нравится централизованная система с возможностью расширения.

Централизованная система. Какие тут есть варианты? По сути - это должно быть устройство с каналами ввода - цифровыми - (вкл/выкл) и аналоговыми (датчик температуры или влажности), и каналами вывода - тоже цифровыми (реле) и, возможно, аналоговыми (диммер?). Ну и в этом устройстве должна крутиться некая программа.
  • Можно взять обычный компьютер, прицепить к нему устройства ввода-выводи и использовать его как центральное устройство. Устройства ввода-вывода могут быть в виде PCI плат, или управляться по ethernet или по rs485. Получится мощно, гибко, но все точно сдохнет если комп сломается или зависнет.
  • Можно сделать самому устройство с микропроцессором (спаять или купить что-то типа Arduino), и запрограммировать этот процессор делать что мне нужно. Получится очень дешево, не очень гибко, но более или менее надежно.
  • Можно взять промышленный контроллер - PLC и его запрограммировать. По ценам это сравнимо с полноценным PC, но это намного надежнее и не менее гибко чем решение для PC. По сути, PLC - это мини-компьютер, на которм крутится исполняющая система (мини-ос), выполняющая программу. Но компьютер этот заточен на то, чтобы работать годами без сбоев - там нет движущихся частей, там есть всякие защиты, гальванические развязки, аппаратные таймеры и watchdog-и. Другими словами, они сильно надежнее любого PC. Современные контроллеры достаточно компактны - их можно смонтировать прямо в шкафу на DIN рейках.
  • Можно взять готовую систему. Готовые системы представляют собой один из уже перечисленных мной вариантов с добавлением кастомного софта.

Я остановил выбор на варианте с PLC. При этом, у PLC должна быть возможность связи с компьютером - чтобы можно было взаимодействовать с системой извне. То есть, те функции, которые должны быть супер-надежными (типа включить свет) - будут зашиты в PLC. Второстепенные функции типа веб интерфейса могут быть повешены на компьютер.

smarthome

Previous post Next post
Up