Платформа домашней автоматизации своими руками

четверг, 4 июня 2009 г. | Published in |

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

Медиацентр на платформе Intel Atom под управлением Ubuntu 8.10, XBMC в качестве ПО для медиацентра.

Медиа-сервер на платформе VIA EPIA

Музыкально-кинотеатральный системный блок

Компьютер как медиацентр для воспроизведения HD-видео

Аналог Mac mini за 333 бакса


В заключение предлагаю посмотреть пример замечательной автоматизации, пусть и не совсем реальной ;)

Платформы для домашней автоматизации

| Published in |

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

Компания VIA давно довольно уверенно чувствует себя на рынке встраиваемых экономичных систем и материнских плат. Недавно была представлена плата для медиа серверов VB8002 в форм-факторе Mini-ITX. Для домашнего медиа сервера предлагается VIA ARTiGO A2000, имеющий центральный процессор VIA C7-D, медиапроцессор VIA VX800 с поддержкой DirectX 9.0 посредством интегрированного графического ядра VIA Chrome 9 и аудиоконтроллер VIA Vinyl HD. Сложно сказать хватит ли производительности для задач завтрашнего дня, но для организации хранилища медиа архива ее точно будет предостаточно. Кстати процессоры VIA оказываются восребоваными далеко за пределами встраиваемых решений, так компания Dell планирует выпуск абсолютно полнофункциональных серверов на базе процессоров Via Nano.


Acer не остался в стороне от рынка домашних серверов и предложил easyStore AH340-UA230N на базе процессора Intel Atom 230 и 2GB DDR2 RAM. В качестве операционной системы предлагается Windows Home Server. Также в цену $400 входит хранилище на 1 ТВ и три дополнительных 3.5" hot swap разъёма с возможностью установки носителей информации до 7TB. Также доступно 5 портов USB 2.0, разъем eSATA и один 10/100/1000 Мбит/с Ethernet.



На платформу Atom от Intel сделала ставку и HP представив свой MediaSmart Server LX195.
В основе LX-195 лежит процессор Intel Atom 230, работающий на частоте 1,6 ГГц, 1 ГБ оперативной памяти и винчестер объемом 640 ГБ. Помимо внутреннего накопителя, сервер может работать с внешними, подключаемыми к четырем портам USB. Рекомендованная производителем цена составляет $399.


И конечно же не забываем про Asus Eee Box. Модельный ряд которого дополняется моделями EB1002 и EB1006 на базе процессора Atom 1.66GHz, 2GB оперативной памяти DDR2 и жесткого диска на 250GB.
Этот вариант больше интересен своей компактностью и приятным дизайном, что позволит разместить его в любом интерьере.





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

Каналы данных в Cvoid

понедельник, 18 мая 2009 г. | Published in |

В посте про триггеры был приведен пример скрипта для обработки сигнала от датчика движения. Управление светом было реализовано посредством записи в канал определенного значения. Сейчас немного подробнее остановимся на понятии каналов данных.

Каналы данных в системе Cvoid это просто более высокоуровневый механизм доступа к данным устройств управления. При настройке системы указывается какие данные устройств ввода-вывода будут доступны через именованные каналы. Для простоты обработки имеется возможность пометить каналы строковыми метками (классами) и задавать приоритет данных, который будет использован для планирования коммуникации. Данные полученные от устройств хранятся в буфере и обновляются исходя из значений приоритета или по требованию. Для обработки изменения данных выбранному каналу или метке может быть назначен пользовательский скрипт, который играет роль триггера и реализует необходимую логику управления.

Также именованные каналы используются модулем сохранения информации устройств ввода-вывода в базу данных и стандартным web интерфейсом.

Пример настройки канала данных и обработчика:
# declare data channel "/move_activity" and mark it by "holl-activity" class
create_slot_channel("/move_activity", ds2406_1.DataSlotPioActivityB, 3, "holl-activity", "")

# load script from Python file
load_script("holl-activity", "Python", "class/holl-activity.py")

# add trigger for data channels marked by "holl-activity" class
add_class_handler("holl-activity", "/scripts/holl-activity")

Для хранения вычисляемых или служебных данных используется "виртуальный" тип каналов, которые не взаимодействуют с устройствами ввода-вывода, но хранят данные и могут иметь собственные обработчики изменения состояния.

Cvoid триггеры

среда, 6 мая 2009 г. | Published in |

В системе Cvoid есть несколько средств для реализации логики управления. Сейчас мы рассмотрим как пишутся обработчики событий получения новых значений каналов.

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

Для реализации поставленной задачи необходимо объявить какие каналы будут использоваться и описать логику их изменения. (Объявление каналов также возможно при конфигурации скрипта обработчика) Сложной логики в нашем примере нет поэтому мы просто включим свет.

Вот код обработчика каналов активности помеченных классом "holl-activity":
# import "/channels/holl/light" channel value as variable "holl_light"
import_value("holl_light", "/channels/holl/light")

# turn on holl light
holl_light = True;

Единственное, что может нуждаться в дополнительных комментариях это функция import_value, которая используется для определения имени переменной через которую будет доступно значение выбранного канала.

Как видите триггер в системе Cvoid это простой скрипт на Python, для написания которого не нужно никаких специальных знаний.

PS: Каким образом добавляются обработчики и выключится свет мы расскажем в следующих постах.

SSD борется за рынок

суббота, 25 апреля 2009 г. | Published in |

Популярность твердотельных дисков продолжает расти. И несмотря на такие проблемы технологии как относительно небольшой срок службы и отсутствие её поддержки у "самой распространенной операционной системы", все больше новинок комплектуются именно этим типом накопителя.
Основным сдерживающим фактором является характерная для всех новинок цена. И работа в этом направлении тоже ведется - Intel уже заявил о снижении цены на свои высокопроизводительные SSD-накопители на 50–100 долларов с 26 апреля. Таким образом 1,8-дюймовый накопитель X18-M и 2,5-дюймовый X25-M объемом 80 Гб получат цену $335 вместо старой $385. Логично предположить, что с развитием технологии и переходом на новый техпроцесс цены упадут еще раза в 2-3. Источникам проблем производительности является то, что обращения к медленному SSD в Windows происходят постоянно и существенно тормозят работу компьютера. В Linux это довольно просто решается выбором другой файловой системы для работы которой требуется очень малое количество обращений к накопителю. Вот почему нетбук с SSD под управлением Linux работает значительно быстрее. Но если один раз лучше увидеть чем сто раз услышать, вот интересное видео сравнения SSD и HDD.



Станет ли эта технология стандартом де-факто говорить еще рано, но похоже все идет именно к этому. Несколько слов об основах её работы можно почитать здесь.