Привет, Гиктаймс!
Интерес к «умным домам» появился у меня еще во время обучения в университете, в 2004 году, когда меня не заинтересовали предложенные кафедрой темы дипломных работ. И мы с другом предложили заведующему кафедрой свою тему: «Разработка программно-аппаратного комплекса 'Умный дом'».

Сказать, что я тогда знал слишком мало об умных домах — не сказать ничего.
Меня привлекало само название «Умный дом». Для меня это было какое-то таинство, нечто магическое.

image

Собранный во время выполнения дипломной работы наш «умный дом» умел мало:
  • Обнаружение проникновения в квартиру/дом в режиме охраны.
  • Управление освещением в полуавтоматическом режиме (учитывались показания датчиков движения, времени суток и предустановленных шаблонов).
  • Определение протечки воды в ванной и на кухне.
  • Голосовые оповещения с использованием звуковой карты компьютера и голосового движка.
  • Уведомление по смс хозяина дома о ключевых событиях (протечка воды, проникновение в дом, отсутствие напряжения 220В).

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

Печатные платы рисовал от руки маркером по меди. Про ЛУТ (лазерно-утюжная технология) не знал ничего.
Собранные нами модули для демостенда нашей выпускной работы я бережно храню как память о наших начинаниях.

С тех пор много воды утекло. Мы перебрали различные технологии и протоколы связи. Знакомились с готовыми решениями для управления «умным домом». Но в итоге решили сами разрабатывать контроллеры для построения программно-аппаратного комплекса.

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

Сегодня я немного расскажу, как всё начиналось, а в следующих статьях постепенно актуализирую информацию до текущего состояния наших дел.

С момента окончания университета до 2010 года я с головой ушел в основную работу и «умным домом» заниматься не удавалось.
Если сказать честно, работа не была помехой, просто в голове было очень много идей, которые еще не сформировались в единое ви?дение.

2010 г.
Изначально мы решили, что основным элементом, «мозгом», наших устройств будет микроконтроллер ATmega8.
Он выполнен по технологии CMOS, 8-разрядный, основан на AVR-архитектуре RISC, потребляет микротоки. За один такт выполняя одну полноценную инструкцию, достигает производительности 1 MIPS на МГц, позволяя достигнуть оптимального соотношения производительности к потребляемой энергии.
Богатый набор встроенной периферии. Нас он всем устроил. Заказали сразу 70 штук:

image

Коммуникацию между устройствами было решено делать посредством RS485.
Для экспериментов собрали простую платку: ATmega8 + SN75176. Я уже изучил программы для проектирования печатных плат и метод ЛУТ.

ATmega8 + SN75176
imageimage


2011-2012 гг.
Эксперименты с RS485 проходили с разным успехом. Что-то работало сразу, другие устройства постоянно ловили коллизии на шине.

Достаточно намучившись мы сели думать. После пары месяцев экспериментов с различными протоколами мы решили остановиться на Ethernet'е. Так как изначально мы задумывали модульную архитектуру нашего «умного дома» и комбинированное управление (очень сложно построить аварийно-устойчивую систему используя только централизованный или, наоборот, децентрализованный подход), то первое устройство, которое было собрано — это Ethernet-контроллер, который мы планировали устанавливать в каждый наш «девайс», подобно сетевым картам в компьютерах.

Печатная плата, изготовленная с использованием ЛУТ
image

После примерок и тестирования — заказали изготовление плат на заводе, а сборку проводили сами вручную.
image
Плата Ethernet-модуля.

image
Ethernet-модуль в контроллере светодиодных лент

В связи с переходом на Ethernet пришлось поменять и микроконтроллер, устанавливаемый в наши устройства. На данный момент мы используем ATmega328.

В качестве сетевого и транспортного протокола для обмена информацией между различными модулями используется TCP/IP. Данные передаются по протоколу прикладного уровня HTTP, что позволяет произвести первоначальную настройку наших устройств посредством обычного браузера с помощью любого устройства (ноутбук, планшет, мобильный телефон).
Таким образом, управлять устройствами можно из любой программы, написанной на любом современном языке программирования, из других наших устройств, оснащенных Ethernet-модулем, а также из любых «девайсов», поддерживаемых формирование и отправку HTTP-запросов.

На данный момент мы озаботились шифрованием трафика и поддержкой протокола HTTPS.

В следующих статьях я расскажу о наших устройствах для:
  • Управления освещением.
  • Управления многоцветными светодиодными лентами.
  • Сбора информации от датчиков движения.
  • Управления электрическим тёплым полом.
  • Управления освещением лестницы.
  • Multiroom-контроллере.

Благодарю за внимание!

Всех с Международным днём друзей!

Комментарии (4)


  1. Yavanosta
    09.06.2015 14:52
    +1

    Если можно, пишите о своих устройствах в контексте сравнения с конкурентами, т.к. устройств управления умным домом сейчас уже очень много, как готовых из коробки так и DIY проектов, и просто Ethernet модуль который умеет управлять светодиодными лентами сам по себе не такая уж инновация. Лично для меня актуально сравнение с Z-Wave.

    А также:
    — в первую очередь на кого рассчитаны эти модули, на профессиональных инсталяторов которые ставят «умный дом» на этапе отделки коттеджа или на конечных потребителей которые могут купить несколько модулей и сделать свою квартиру чуть умнее
    — какое требуется питание модулю
    — подразумевает ли он управление только через эзернет или может подключаться альтернативный «тупой» выключатель\диммер
    — как предполагается его устанавливать в щиток или в стаканы под выключатели?
    — какая нужна проводка? По эзернет кабелю к каждому выключателю?
    — что с беспроводной связью?
    — открыт или закрыт протокол? Есть ли спецификация какие нужно слать куда запросы чтобы управлять модулем из своего приложения
    — есть ли готовые библиотеки, для каких языков
    — цены

    Пока вроде все.

    P.S. эту картинку вставляют помоему в каждый пост про умный дом :-)


    1. NetGuru Автор
      09.06.2015 15:16

      Спасибо за Ваш комментарий.

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

      На кого рассчитаны эти модули?
      Наши модули изначально рассчитаны на профессионалов, которые устанавливают полностью интегрированный комплекс «Умный дом».
      Какое требуется питание модулю
      Ethernet-модуль питается от 5В.
      Подразумевает ли он управление только через эзернет или может подключаться альтернативный «тупой» выключатель\диммер?
      Сам по себе Ethernet-модуль не может управлять ни светодиодной лентой, ни лампочками, ни собирать информацию от датчиков. Он является составной частью других модулей, предназначенных уже каждый для конкретной задачи. А Ethernet-модуль (далее EM-01) является как бы «сетевой картой» для других модулей. Контроллер управления освещением имеет входы типа «токовая петля» для «тупого» включения света выключателями.
      Как предполагается его устанавливать?
      EM-01 устанавливается на плату целевого модуля, как на последней картинке под спойлером «Ethernet-контроллер». Контроллер управления освещением, например, устанавливается в щиток.
      Какая нужна проводка? По эзернет кабелю к каждому выключателю?
      В нашей тестовой квартире (мой друг в связи с глобальным ремонтом решил заодно и «умный дом» сделать, и предоставил «плацдарм» для работ) от выключателей к контроллеру освещения идут обычные силовые провода. Но можно кинуть вместо них и витую пару.
      Что с беспроводной связью?
      В каждый девайс вместо EM-01 можно поставить аналогичный WiFi-модуль или поддерживающий любой другой протокол. EM-01 обеспечивает только получение и отправку данных.
      Открыт или закрыт протокол? Есть ли спецификация какие нужно слать куда запросы чтобы управлять модулем из своего приложения?
      Протокол открыт, управление осуществляется методом GET по HTTP. Именно поэтому мы сейчас и задумываемся над шифрацией передаваемых данных. В тестовой квартире сеть «умного дома» отделена от компьютерной сети и к ней не должно быть прямого подключения. Управление с мобильных устройств возможно посредством web-сервиса, для которого должен быть проброшен порт в закрытую сеть.
      Есть ли готовые библиотеки, для каких языков?
      Никаких специальных библиотек не нужно. Например, в C# можно использовать стандартный UdpClient.


      1. NetGuru Автор
        09.06.2015 15:27

        Никаких специальных библиотек не нужно. Например, в C# можно использовать стандартный UdpClient.
        Ошибся, конечно же, WebRequest.


      1. Yavanosta
        09.06.2015 16:17

        Спасибо за ответ!