Программирование умный дом: Программируем умный дом / Хабр

Содержание

Как я начал собирать умный дом без навыков программирования / Хабр

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

Очень быстро я выяснил, что в мире нет единого стандарта, либо же «эталонного» производителя умных устройств и мне придется объединить в одну экосистему «зоопарк» из нескольких десятков гаджетов от разных производителей. Nest делает лучшие в мире термостаты и умные камеры, китайцы производят отличные розетки с кучей полезных функций, ABB и Schneider производят лампочки — список можно продолжать долго и об этом речь пойдет в следующей статье. Самый важный момент состоит в том, что каждый из производителей предлагает соственный софт для управления своими гаджетами и какого-то простого решения, чтобы управлять ими централизованно просто нет.

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

Немного матчасти

Перед тем, как перейти к конкретике, я хочу поделиться результатами своих интернет-исследований и опросов людей «в теме». Для начала мне пришлось определиться, чего я жду от «умного дома». Дело в том, что на западе и в постсоветских странах по-разному трактуют это понятие. В Европе и США очень высокие цены на коммуналку и жители этих стран в буквальном смысле помешаны на экономии. Поэтому для них умный дом — это система, которая следит за каждым потраченным киловаттом и экономит средства, потраченные на электричество, отопление и водоснабжение.

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

После двух дней изучения вопроса у меня осталось три варианта для создания умного дома.

  1. Оплатить услуги специализированной компании и не погружаться в суть процесса
  2. Купить все необходимые устройства и настроить их на базе либо полноценного сервера, либо Arduino\ Raspberry PI
  3. Самостоятельно нарисовать приложение для управления умным домом на базе мессенджера Sender и прописать логику работы гаджетов на облачной ОС Corezoid

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

Вариант 1. Заплати и свободен

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

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

Такая система требует серьезного проектирования и самостоятельно расписать концепт «умного дома» – задача малореальная.

Как я уже писал выше, в США и Европе производители оборудования разрабатывают решения под каждый конкретный случай и контролируют процесс монтажа. Стоимость «под ключ» начинается от нескольких тысяч тысяч евро и зависит от площади помещения и количества используемых датчиков. По этой ссылке можно почитать про решения от Siemens. Похожие комплексы предлагают IBM, Bosch, Cisco, Panasonic, Logitech, ABB, Philips и другие бренды.

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

Вариант 2. Умный китайский дом

В Китае можно купить решительно все – начиная от брелков-шпионов (за которые в Украине почему-то сажают в тюрьму) и заканчивая атомными батарейками. На alibaba.com, aliexpress.com, dx.com, taobao.com и прочих подобных сайтах можно купить как готовые системы, так и их отдельные элементы. Большинство китайских гаджетов встраиваются в уже готовые дома и перепланировка для их установки не нужна.

Как пример «коробочного решения» можно привести «умный дом» от Meizu. Это совокупность гаджетов от разных компаний, которые объединены программным комплексом LifeKit. Это весы RyFit, лампа X-Light Plus, очиститель воздуха Air Cube, розетки и другие устройства. Аналогичную систему недавно выпустил и Xiaomi.

Что касается одиночных «девайсов», то здесь все еще интереснее. На китайском аналоге Kickstarter – площадке Demohour регулярно появляются просто потрясающие вещи. Недавно «умная розетка» Smart Plug K установила рекорд китайского краудфандинга и собрала около $270 000. Розетка поддерживает все популярные типы вилок, умеет удаленно включать и выключать любую технику, поддерживает доступ по 3G и Wi-Fi и работает как Wi-Fi повторитель для усиления сигнала. Хороший набор устройств предлагает и китайская компания BroadLink. На Amazon.com можно купить набор нужных гаджетов и собрать с их помощью собственную версию «умного дома». По этим ссылкам (1, 2, 3) можно почитать и про другие устройства.

Минус этого варианта заключается в том, что на рынке единого простого решения, которое позволит объединить все доступные на рынке гаджеты в единую систему. Приходится делать выбор – покупать набор гаджетов от одного производителя, либо покупать устройства разных брендов и управлять каждым из них по-отдельности. Первый вариант плох тем, что в мире нет «эталонного» разработчика «умных домов», который производит лучшие в своем классе гаджеты, а второй тем, что управление каждым из устройств по отдельности противоречит самому принципу умного дома.

На Хабре описаны десятки способов самостоятельно создать «умный дом» на основе Linux-подобных систем, Arduino, Raspberry PI или полноценных серверов. Это отличное решение, но я являюсь скорее продвинутым пользователем, чем разработчиком и вряд ли смогу воплотить в жизнь подобные схемы. Я решил найти способ, который не требует специфических знаний.

Вариант 3. Сделай сам

В процессе поиска мне попалась на глаза разработка украинских программистов — мессенджер Sender. Принцип работы Sender схож с китайским WeChat, он позволяет создавать полноценные мобильные приложения с помощью простого конструктора форм. Сам конструктор далек от идеала, но кое-что с его помощью сделать уже можно. На выходе у меня должно получиться «приложение в приложении», которое получает данные от устройств через встроенный API и выводит их на экран смартфона. Логику работу гаджетов я хочу описать с помощью облачной операционной системы Corezoid, которая не требует знаний языков программирования и позволяет автоматизировать практически любой процесс, в том числе и поведение устройств в умных домах.

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

Что такое умный дом и как он работает — Журнал «Код»

Недавно мы говорили про интернет вещей, вот основные мысли оттуда:

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

Сегодня как раз про дома. 

Что такое умный дом

Умный дом — это общее название для сети устройств, которые занимаются автоматизацией бытовых штук. Смысл умного дома в том, чтобы обеспечить пользователям комфорт и безопасность. Например, умный дом умеет:

  • включать и выключать свет в разных комнатах по расписанию или когда в них заходят;
  • подстраивать уровень освещённости под время дня или ночи;
  • регулировать декоративную подсветку; 
  • открывать и закрывать шторы;
  • проветривать дом, когда в нём станет слишком душно или когда в нём упадёт концентрация свежего воздуха;
  • включать кондиционер или отопление;
  • открывать и закрывать двери, в том числе и входную, а если вы в США — то и гаражную;
  • распознавать лица и подстраивать умные приборы в комнате или в доме под конкретного человека;
  • вызывать полицию, если сработает датчик проникновения или разбитого стекла;
  • записывать всё, что происходит внутри и снаружи;
  • напоминать о том, что в холодильнике заканчиваются продукты;
  • варить кофе с утра;
  • делать уборку роботами-пылесосами.

Сила умного дома в том, что все устройства работают в связке и подчиняются общим алгоритмам.

Из чего состоит умный дом

👉 В умных домах нет единого стандарта, по которому все устройства могут общаться друг с другом. Одни работают по протоколу радиосвязи ZigBee, другие используют протокол Z-wave, третьим достаточно вайфая, а кто-то использует собственный закрытый протокол связи. Это нужно учитывать при сборке умного дома — может так получиться, что умные лампочки не реагируют на команды от датчика движения, а замки не открываются по сигналу домофона.

В любом случае, какой бы стандарт связи между устройствами ни был выбран, умный дом состоит из трёх компонентов:

  1. Контроллеров — они управляют всем умным домом в целом.
  2. Датчиков — они собирают информацию о том, что происходит в доме, например не протекают ли батареи, или следят, чтобы в помещении не было дыма.
  3. Исполнительные устройства, или актуаторы, — именно они выполняют всё, что вы хотите: включают свет, запускают вентиляцию, открывают замки или открывают ворота, когда подъезжает машина.

Контроллеры, или хабы

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

На иллюстрации ниже — хаб российской компании Life Control. Это устройство размером с кофейную кружку, которое подключается к интернету, а все остальные устройства уже подключаются к нему. 

Датчики

Датчики собирают информацию и отдают контроллеру. Какие сейчас бывают датчики: 

  • Датчик приближения или движения — определяют, что кто-то подошёл близко или начал двигаться; полезны для сигнализаций.
  • Датчик с радиометкой — для его срабатывания нужен специальный радиомаячок. Например, с помощью такого датчика можно открыть ворота частного дома.
  • Датчик освещённости — собирает данные о том, насколько светло в комнате. Например, чтобы включать свет с наступлением сумерек. 
  • Датчики качества воздуха — влажности, температуры; содержания вредных газов; задымления. Можно давать команду на проветривание, когда в помещении становится слишком душно. 
  • Датчик открывания окон и дверей, датчики нарушения целостности окон — чтобы ловить воров.
  • Датчики протечки воды — например, чтобы перекрывать в доме воду, если что-то протекло.

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

Комплект умного дома Xiaomi — контроллер, датчики и исполнительные устройства

Исполнительные устройства

Исполнительные устройства делают всю работу:

  • открывают и закрывают двери и окна;
  • включают розетки, электроприборы и свет;
  • перекрывают и включают воду;
  • двигают камерами туда-сюда;
  • варят кофе и т. д.

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

Умная розетка Sibling Powerswitch-W устанавливается прямо в стену, работает с Алисой. Можно сказать: «Алиса, выключи розетку от утюга», и она выключится

Аналогичная розетка, но вставляется не в стену, а в обычную розетку. Так можно превратить любую розетку в умную, если вас не смущает брусок, торчащий из стены

Умный кран PS Link — его обычно ставят на входную трубу с водой в доме или квартире. Обычно он работает с датчиком протечек: если кто-то не закрыл кран или лопнула труба, то умный кран перекроет всю воду и не устроит потоп. А ещё им можно удалённо перекрыть воду, если вы в отпуске, а перед отъездом забыли это сделать.

Проблемы умного дома

У умного дома три проблемы: энергозависимость, кибербезопасность и просто отстойный софт.

С энергозависимостью всё понятно — если не будет электричества, то умного дома тоже не будет. 

С кибербезопасностью такое дело: если кто-то взломает домашнюю сеть, то он сможет управлять всеми умными устройствами в доме.

Но всё это меркнет перед отстойным софтом: нет ещё на святой Руси нормального бесшовного «умного дома», чтобы работал без сбоёв, не требовал сложной настройки, реагировал бы мгновенно и понимал, что нужно пользователю. Ждём компанию Apple. 

Устанавливать или нет?

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

Если хотите просто жить и радоваться, то ещё рано: пока нет единого протокола умного дома; и пока всё сделано так коряво, удовольствия от этого умного дома будет крайне мало. 

Текст:

Михаил Полянин

Редактор:

Максим Ильяхов

Художник:

Даня Берковский

Корректор:

Ирина Михеева

Вёрстка:

Кирилл Климентьев

Соцсети:

Алина Грызлова

Какой язык программирования используется для умных домов?

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

Умные дома становятся все более популярными, поскольку они позволяют домовладельцам контролировать различные аспекты своего дома с помощью компьютера или смартфона. Хотя существует множество различных типов умных домов, все они используют определенный язык программирования. Наиболее распространенными языками программирования для умных домов являются Python и Java. Домовладельцам, которые хотят создать умный дом, следует выучить один из этих двух языков, так как они наиболее широко используются и совместимы с различными устройствами.

Лучшие языки программирования для Интернета вещей

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

  • Java: один из самых популярных языков программирования в мире, поэтому неудивительно, что он также является хорошим выбором для разработки IoT. Он не зависит от платформы, то есть может работать на любом устройстве, и его относительно легко освоить по сравнению с другими языками. Однако одним из недостатков Java является то, что он может работать медленнее, чем другие языки.

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

  • C++: мощный язык, который дает вам большой контроль над тем, как работает ваш код. Однако за эту гибкость приходится платить; C++ может быть более сложным для изучения, чем некоторые другие языки, а также может быть более ресурсоемким. Тем не менее, C++ популярен для разработки IoT из-за его скорости и эффективности.

  • Node.js: среда выполнения с открытым исходным кодом, позволяющая запускать код JavaScript вне веб-браузера. Это делает его идеальным для разработки серверных приложений, таких как веб-службы или конечные точки API. Кроме того, Node.js имеет большое сообщество пользователей, которые создали множество функциональных модулей и библиотек, которые вы можете использовать в своем проекте.

  • Scala: более новый язык, сочетающий лучшие черты как объектно-ориентированного, так и функционального программирования.

  • Go: язык, специально разработанный для системного программирования.

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

  • Elixir: функциональный язык программирования, подходящий для создания масштабируемых приложений.

  • Dart: еще один новый язык, предлагающий простой способ разработки сложных приложений.

  • Clojure: диалект Лиспа, ориентированный на простоту и гибкость.

Какие языки программирования изучать для умных домов — Баллы умного дома

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

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

Разработчики компьютеров и программного обеспечения уже некоторое время работают над разработкой приложений для Интернета вещей. Однако с появлением Индустрии 4.0, подключенных устройств, систем домашней автоматизации и носимых медицинских средств спрос на приложения на основе IoT растет.

Это привело к необходимости в большем количестве разработчиков, умеющих работать с языками программирования, совместимыми с устройствами IoT. Хотя для разработки приложений IoT можно использовать множество различных языков программирования, некоторые из самых популярных включают Java, Python и C++. Чтобы стать разработчиком IoT, необходимо иметь четкое представление о разработке аппаратного и программного обеспечения.

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

Как использовать языки программирования для расширения возможностей вашего умного дома

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

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

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

Какие языки программирования следует изучать для умных домов

Если вы хотите вывести свой умный дом на новый уровень, изучение языка программирования может стать важным следующим шагом. В конце концов, смарт-устройства массового рынка могут не так много. Если вы хотите сделать с ним больше, вам нужно расширить их — или купить более универсальное устройство (например, Raspberry Pi) и запрограммировать его под свои нужды.

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

Лучший язык для разработки «умного дома»

Хорошо, позвольте мне высказаться. Я начал эту рубрику как «Лучший язык», но нет такого понятия: есть десяток подходящих языков программирования, которые вы можете использовать для улучшения своего автоматизированного умного дома, точно так же, как десяток подходящих отверток и молотков на полке в Home Depot .

Как разработчик программного обеспечения по профессии, Я использовал много языков программирования на протяжении многих лет, и все они имеют разные сильные и слабые стороны .

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

Если вы абсолютный новичок, Python будет лучшим «универсалом» . Это особенно верно, если вы приобрели Raspberry Pi и хотите его запрограммировать, потому что многие учебные пособия основаны на Python.

Пример кода Python, взятого из одного из проектов Тристана на сайте программирования под названием Github.

Однако часто используются как Node.js, так и Java, при этом Node.js проще в освоении (чем Java), а Java намного мощнее. Если вы заинтересованы в создании пользовательских навыков Amazon Alexa, многие онлайн-руководства написаны на Node.js (но некоторые на Python, а пара — на Java).

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

Как вы понимаете, выбор «лучшего языка для использования» не так прост. В целом, мы бы посоветовали вам начать с Python, если вы раньше не изучали язык программирования.

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

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

Как использовать языки программирования для расширения вашего умного дома

Существует почти бесконечное количество способов, которыми вы можете использовать программирование для улучшения вашего умного дома (и/или домашней автоматизации), но некоторые методы, с которых вы можете начать, это :

Разработайте свой собственный навык Amazon Alexa

Благодаря этому вы можете предоставить поистине уникальные возможности с помощью своих устройств Amazon Echo. Знаете, когда вы спрашиваете об определенных вещах, и он говорит, что открывает определенный навык? Это означает, что сторонний компьютерный код вызывается для ответа/обработки вашего запроса.

Вы также можете создать свой собственный навык . У Amazon есть подробное руководство по созданию простого навыка «Hello world», где «Hello world» является распространенным подходом, который программисты используют со своей первой программой.

Также есть полезное видео на YouTube, показывающее, как это сделать:

https://www.youtube.com/watch?v=sj7NqS7yytwВидео не может быть загружено, потому что JavaScript отключен: Как запрограммировать разговор с Alexa! (Python и AWS Lambda) — часть 1 (https://www.youtube.com/watch?v=sj7NqS7yytw)

Вместо этого есть Google Home? Создание пользовательских «действий»

Точно так же, как вы можете создавать настраиваемые навыки для Alexa, вы можете создавать настраиваемые действия для устройств Google Home (например, Google Mini).

Что хорошо в этом подходе, так это то, что вы можете добавлять свои собственные действия в приложение Google Home, а также управлять несколькими устройствами (и многим другим). Другими словами, вы можете в конечном итоге создать полностью настраиваемый интерфейс, связывающий несколько устройств умного дома, и профессионально управлять всем с помощью приложения «Дом» 9.0078 .

Существует не так много руководств по реализации пользовательских действий в Google Home (следите за обновлениями — я планирую сделать одно в какой-то момент), но статья Smashing Magazine полезна, как и следующее видео на YouTube:

https ://www.youtube.com/watch?v=03i5LoO_neUВидео не может быть загружено, так как отключен JavaScript: как создать действие Google для своего помощника Google за 20 минут. Учебное пособие (https://www.youtube.com/watch ?v=03i5LoO_neU)

Настройте свой опыт Philips Hue

Philips предлагает различные виды поддержки разработчиков, в том числе «SDK», что означает комплект для разработки программного обеспечения — пакет для быстрого старта с полезным кодом и информацией.

Хотя это показывает, что они удобны для разработчиков (всегда хороший знак!), у них нет официальных Python SDK. Это нормально, потому что существует множество качественных сторонних Python SDK, в том числе от studioimaginaire.

Преимущество такого управления лампочками Hue в том, что вы можете делать именно то, о чем вы мечтаете — больше не ограничивайтесь телефонным приложением!

Точно так же вы можете запустить процедуру Hue (или простое изменение цвета лампочки) с помощью чего угодно — «кнопки» на вашем компьютере (которая запускает скрипт Python), пользовательской команды Alexa или Google Home/Assistant (согласно нашей предыдущие разделы) или даже сценарий, размещенный «в облаке», например, в Amazon AWS или Google Cloud.

Умные лампочки Philips Hue от Sho Hashimoto (Flickr) датчик подхватывает.

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

Что приводит нас к…

Программирование Raspberry Pi: идеальное устройство для умного дома

Я несколько раз упоминал Raspberry Pi. Если вы не слышали о нем, стоит погуглить: в основном это компьютер размером с кредитную карту. Полноценный компьютер с большей мощностью, чем настольный компьютер за 1000 долларов десять лет назад, который стоит около 50 долларов.

При желании вы можете подключить клавиатуру, мышь и монитор компьютера, а также подключить их к домашней сети с помощью адаптера Wi-Fi или кабеля Ethernet (сетевого).

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

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

Это связано с тем, что Pi можно легко расширить и запустить на нем различные сценарии Python. Таким образом, Pi может стать центральным узлом вашего индивидуального умного дома .

Вы даже можете автоматизировать полив своих растений с помощью Python и Raspberry Pi!

Конечно, если вы новичок в технологиях и программировании (но все еще хотите начать расширять возможности), попробуйте Home Assistant, который можно запустить на Raspberry Pi и расширить по мере необходимости. Это также может стать отличной отправной точкой.

Станьте по-настоящему удаленным (и автоматизированным) арендодателем Airbnb

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

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

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

Как выучить Python (не перебарщивая)

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

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

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

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

  1. Обязательно изучите Python v3 . Первоначально Python v3 был выпущен более десяти лет назад, но по разным причинам Python 2 все еще использовался довольно часто, и поэтому вы все еще можете увидеть некоторые учебные пособия (написанные более 3-4 лет назад), в которых рассказывается о Python 2. Просто убедитесь, что учебник, которому вы следуете, актуален, и все будет в порядке .
  2. Не сдавайся. Изучение языка программирования не сложно , но временами так кажется. Держите на этом . Продолжайте практиковаться, следуя как выбранному вами курсу, так и небольшим сценариям вне его (когда вы достигнете определенного уровня знаний).

«А как насчет Node.js»?

Я знаю, что эта статья в основном посвящена Python (хотя в ней упоминается, что Node.js также может быть полезен для умных домов, тем более что многие учебные пособия по работе с Alexa основаны на Node).

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

В конце концов, отвертки бывают разных марок, но 99% из них идеально подходят для своей цели: ввинтить шуруп во что-нибудь. Node.js и Python — это просто разные «бренды» (языки), которые достигают одной и той же цели: автоматизировать все в вашем доме (в данном случае они могут делать гораздо больше!).

Python, Node.js, Java, C#… и еще около дюжины языков отлично подходят для автоматизации умного дома.

Будущие языки программирования для умных домов

Прямо сейчас мой прогноз по изучению Python (или Node.js, Java и т. д.!) для программирования вашего умного дома остается верным.

Однако я с интересом слежу за проектом «Подключенный дом через IP».

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *