Smart home automation with linux
Название: Smart Home Automation with Linux
Автор: Steven Goodwin
Издательство: Apress
Год: 2010
Формат: PDF
Страниц: 313
Размер: 17,75 МБ
Язык: English
Linux users can now control their homes remotely! Are you a Linux user who has ever wanted to turn on the lights in your house, or open and close the curtains, while away on holiday? Want to be able to play the same music in every room, controlled from your laptop or mobile phone? Do you want to do these things without an expensive off-the-shelf kit?
In Smart Home Automation with Linux, Steven Goodwin will show you how a house can be fully controlled by its occupants, all using open source software. From appliances to kettles to curtains, control your home remotely!
Smart home automation with linux
Название: Smart Home Automation with Linux and Raspberry Pi
Автор: Goodwin S
Издательство: Apress
Год: 2013
Страниц: 318
ISBN: 978-1-4302-5887-2
Формат: PDF, DJVU
Размер: 10.4 Мб
Язык: English
Smart Home Automation with Linux and Raspberry Pi shows you how to automate your lights, curtains, music, and more, and control everything via a laptop or mobile phone. You’ll learn how to use Linux, including Linux on Raspberry Pi, to control appliances and everything from kettles to curtains, including how to hack game consoles and even incorporate LEGO Mindstorms into your smart home schemes.
You’ll discover the practicalities on wiring a house in terms of both and power and networking, along with the selection and placement of servers. There are also explanations on handling communication to (and from) your computer with speech, SMS, email, and web. Finally, you’ll see how your automated appliances can collaborate to become a smart home.
Smart Home Automation with Linux was already an excellent resource for home automation, and in this second edition, Steven Goodwin will show you how a house can be fully controlled by its occupants, all using open source software and even open source hardware like Raspberry Pi and Arduino.
What you’ll learn:
Control appliances like kettles and curtains both locally and remotely.
Find and harness data sources to provide context-aware living.
Hack/change existing hardware/software to better fit your needs.
Integrate various technologies into a function greater than the whole.
Set up a home network, for both network and audio/video traffic.
Learn how to incorporate Raspberry Pi, Arduino, and even LEGO Mindstorms into your smart home.
Who this book is for:
This book is for amateur and professional Linux users and electronics enthusiasts who want to control their homes and their gadgets.
Table of Contents.
Appliance Control: Making Things Do Stuff.
Appliance Hacking: Converting Existing Technology.
Media Systems: Incorporating the TV and the HiFi.
Home is Home: The Physical Practicalities.
Communication: Humans Talk, Computers Talk.
Data Sources: Making Homes Smart.
Control Hubs: Bringing It All Together.
Working with Raspberry Pi
Просто о сложном. Начало создания беспроводного «умного дома». На основе технологии Linux, Z-Wave и ПО MajorDoMo
Часть первая: Небольшая пошаговая инструкция по установке и первоначальной настройке «Умного дома»
Так случилось, что жизнь заставила приступить к частичной автоматизации квартиры, особенно в части её безопасности, краны, газ, вход, электричество, ну а потом уже всё остальное.
Для себя определил следующие критерии:
- Место — квартира, где переделка (существенная переделка чего-либо не планируется).
- Возможность интеграции всех решений в единую систему УД с открытым кодом .
- Возможность постепенного расширения (масштабирования) функционала.
- По-возможности, минимальные затраты.
- По возможности покупка элементов системы в РБ или же в РФ, без всяких заказов с зарубежных сайтов. Пришел, посмотрел, купил.
- По возможности русскоязычный интерфейс, документация, поддержка.
Для себя определил открытый протокол Z-wave, сердце системы – однопалатный компьютер Raspberry PI (как раз у меня по работе такой и был) с контроллером Razberry, работающем на протоколе Z-Wave+. Программное обеспечение выбрал MajorDoMo. И протокол и ПО удовлетворяют мои требования.
В качестве помощника решил привлечь своего старшего сына (школьника, закончил 8-ой класс). И понял существующая документация довольно сложна для обычного пользователя, не сталкивающегося с настройкой, конфигурированием и программированием.
Вот и решил немного восполнить этот пробел.
Про видеонаблюдение ранее написал небольшую заметку:
Создание загрузочного диска:
Первым делом скачиваем образ системы для дальнейших действий:
Для создания загрузочной флешки я использовал официально рекомендованную программу производителем Raspberry.
На официальном сайте разработчика сайт программы загрузчика.
Сразу же на сайте определяется разрядность ОС, и предоставляется ссылка для скачивания.
Также наглядно показано 3 шага для прожига образа.
1) Выбор образа
2) Выбор диска
3) Прожиг
И создаем загрузочный диск на основе образа, который ранее скачали (предварительно распаковав его).
Подключаем Raspberry Pi через кабель HDMI и подключаем клавиатуру.
Включаем питание Raspberry.
Идет загрузка системы, после которой запрос логина и пароля.
Используем по умолчанию: логин PI, пароль raspberrymj.
Вводимые символы пароля не отображаются
Запускаем утилиту настройки Raspberry
Первым делом я поменял пароль по умолчанию, надоест вводить 11 символов
Далее, конфигурируем свою сеть, в моем случае Wi-Fi вводим ssid (имя сети) и пароль к ней.
С базовым образом подключение по SSH уже включено, так что этот шаг можно пропустить. Если не открыт, то открываем доступ для удаленного подключения через SSH >
Более подробная информация о настройках утилиты конфигурирования находится здесь:
немного информации о rasp-config.
Перегружаемся выполнив команду:
Вновь авторизовываемся, введя логин и пароль.
Узнаем IP адрес Raspberry, задав команду:
wlan0, в моем случае и есть беспроводной интерфейс.
Задав команду ping, можем проверить доступ к Internet
Если всё прошло нормально, то видим ответы
Выход из утилиты ping (да и из многих утилит)
ctrl+C
После этого можем работать под удобной и привычной для себя операционной системой.
Для windows 10 привожу пример:
Скачиваем программу PuTTY, выбирая свою разрядность ОС Windows.
Запускаем программу PuTTY.
Пошаговый запуск PuTTY
Появляется окно подключения:
Указываем IP адресс Raspberry:
Далее в настройках выставляем Terminal — Keyboard:
Выставляем кодировку utf8, в Window — Translation
Если подключаемся в первый раз, то появляется запрос безопасности системы нажимаем ДА
Запрос логина, а потом и пароля. Как и при первом подключении.
При вводе пароля как обычно, символы не отображаются.
Ещё раз проверяем, на всякий случай, свой IP адрес задав команду
На рабочем ПК, в браузере набираем адрес платы:
Первый шаг сделан. Вы попадаете в окно настроек программы MajorDoMo.
Но радоваться ещё рановато, впереди предстоит установить и настроить сам Z-Wave, разобраться с программой администрирования вашего «умного дома», его программированием и т.д.
Источники:
Ой, у вас баннер убежал!
Редакторский дайджест
Присылаем лучшие статьи раз в месяц
Скоро на этот адрес придет письмо. Подтвердите подписку, если всё в силе.
Похожие публикации
Автоматизация бассейна с модулем сбора данных NEVOTON DMC-5.1.1-Z
Сенсорный радио выключатель на батарейках. Livolo + Z-Uno
Управление домашними электроприборами («умный дом») через чат бот на Raspberry Pi
Вакансии
AdBlock похитил этот баннер, но баннеры не зубы — отрастут
Комментарии 55
Пробовал я этот Z-Wave. В целом, конечно, работает, но очень дорого. Простое включение света по датчику движения выходит в кругленькую сумму в районе 10 тысяч рублей. При этом всё довольно сырое, вылезают как глюки прошивок, так и аппаратные проблемы, так же из-за беспроводности системы и отсутствия датчиков с питанием от сети появляется куча ограничений, из-за чего невозможно реализовать некоторые алгоритмы. Контроллер на Raspberry Pi — это такой колхоз, если уж говорить о хоть какой-то серьёзной системе… За год использования она раз 10 зависала. Да, и если приходят гости, то они не могут нормально пользоваться даже простым беспроводным выключателем, ибо задержка стандартная около 0,5 сек, а иногда доходит и до десятков секунд.
В результате, на съёмной квартире поигрался, в своей ставить не буду, для света при ремонте развёл кучу выключателей через импульсные реле, для защиты от протечек взял готовую систему, ибо в цене капитального ремонта незаметно (да и, наверное, дешевле решений на Z-Wave), а хоть какая-то гарантия, что сработает и не зависнет. По крайней мере, за 9 месяцев работы не зависла ни разу.
Контроллер на Raspberry Pi — это такой колхоз, если уж говорить о хоть какой-то серьёзной системе…
Простое включение света по датчику движения выходит в кругленькую сумму в районе 10 тысяч рублей.
Т.е. вы считаете, что ежедневные перезагрузки по расписанию — это нормально?
ESP по WiFi не пробовал. Речь в статье и в моём комментарии о Z-Wave. Релюшка на один канал стоит 1500-2000 рублей, датчик движения больше 3000, Raspberry Pi — от 2000, плата расширения для работы с протоколом Z-Wave не помню сколько, но думаю не меньше 3000. Если брать готовый контроллер вместо Raspberry Pi, то не особо сэкономишь, т.к. он стоит тоже 4000-5000 рублей.
Т.е. вы считаете, что ежедневные перезагрузки по расписанию — это нормально?
Если брать готовый контроллер вместо Raspberry Pi, то не особо сэкономишь, т.к. он стоит тоже 4000-5000 рублей.
Это работает. Это не зависает. Это не особенно влияет на доступность и работоспособность системы. Следовательно это нормально.
поверю, когда с таким подходом будете эксплуатировать свой кардио-стимулятор.
а до тех пор — это КОЛХОЗ.
Странный аргумент.
Свет в сортире — одно. Кардиостимулятор — другое.
Зачем смешивать?
У периодической перезагрузки есть только одна проблема — надо как-то хранить персистентные настройки. (у меня, например, есть выключатель — стейт «каникулы». Покуда они не каждый день случаются, он рулится вручную. И после вынужденной перезагрузки его приходится щёлкать заново).
Речь в статье и моём комментарии о протоколе Z-Wave. У меня зависала малинка с этим Z-Wave’ом, не сказать что прям каждый день, но желание использовать такую связку отпало. Плюс довольно тормознутый интерфейс, плюс технические проблемы, типа того, что все настройки хранятся в одном файле в Json формате. В итоге пробовал максимально отвязаться от контроллера, но столкнулся с тем, что невозможно по расписанию изменять настройки у датчиков, т.к. они работают на батарейках и даже уменьшая время периодического опроса контроллера до 10 минут, они ни в какую не хотят брать эти настроки, надо физически на них нажать кнопку, причём кнопка эта внутри корпуса
А зачем вы связываете выключатель с лампочкой через raspberry?
Она же mesh, они отлично взаимодействуют напрямую!
Да, знаю, многие зачем-то пытаются делать софтовые ассоциации (чтоб с выключателя сигнал шёл в raspberry, а он уже давал команду реле), но это совершенно ненужное усложнение на ровном месте. Пойдёт только как сильно вынужденная мера в каких-то очень экзотических случаях (например, не хватает числа слотов ассоциаций. Или сценарий сильно мудрёный хочется сделать. ). Если не мудрить, то всё вполне функционально и нормально работает!
Ну там протокол то как раз сделан в расчёте на «кубики», которые тупые, как палка. Включил/выключил. Сработало/не сработало. А чего-то конфигурировать — только при распаковке и первом подключении (подозреваю, что сами устройства могут быть не очень готовы к постоянной переконфигурации из сценариев. Банально ресурс встроенной флэшки износится. )
Я бы тут попробовал сделать «ночной» сценарий напрямую (чтоб по датчику включалась лампочка), а параллельно хук на то же событие из контроллера, чтобы днём включалась ещё пара лампочек. Ну т.е. какой-то компромисс.
Это не ограничения протокола, это ограничения реализации конкретных устройств. Можно ж и плату для самостоятельной разработки взять, и намутить, чего хочется.
А готовые датчики движения разные, и настройки у них тоже. Обычно есть два таймаута — первый, когда выключить свет. Второй — сколько времени после срабатывания не воспринимать новые движения. И от протокола как такового это не зависит.
А вот само устройство «на той стороне» — уже да. Если брать готовый контроллер типа fibaro или прочих — работает классно, но дорог, + «чёрный ящик» сам по себе. Зато относительно стабилен. Отчасти как раз потому что закрыт и не пускает «очумелых ручек» придумать что-нибудь этакое. А разные решения-«модемы» (вроде razberry или usb-свистков, которые просто ловят/передают в uart то, что видят в эфире) уже целиком зависят от того, куда этот «свисток» вставлен. Можно же и cubie-truck завести, да ещё и батарейку к нему подцепить в качестве упса.
(к слову, до появления razberry и standalone-rasberry сервера у меня около года вполне успешно работал такой «свисток» воткнутый в роутер. Ну и плюс программка-коннектор, которая выпускала его в облако. И там сценарии были вполне отзывчивыми, несмотря на раунд-трип событий через интернет).
Кстати, реле далеко не всегда шлёт контроллеру своё состояние (включилось/не включилось). В США например, это отключено (запатентовал кто-то), поэтому придумывают разные периодические опросы или как-то по-другому выкручиваются. Т.е. это НЕ часть протокола, а просто хорошая плюшка. И так-то протоколу не противоречит — датчик шлёт сообщения своим подписчикам — свету и контроллеру. Контроллер в ответ шлёт ещё один пакет свету. Всё!
В родном софте razberry контроллер по умолчанию добавляется в ассоциации всех устройств (т.е. датчики, выключатели и т.д. шлют события по крайней мере ему).
А вот аппаратный протокол может и не идеален, но очень хорош. Хотя бы тем, что висит не в 2.4 и не в 430, где хватает помех, а в своём диапазоне. И требование скважности 1% тоже своего рода гарантия незагруженности канала.
Можно же и cubie-truck завести, да ещё и батарейку к нему подцепить в качестве упса…
Вы пробовали плату для самостоятельной разработки? Я пробовал. 🙂
Если я вас правильно понял, то вы говорите о Z-Uno. Так вот там своих глюков столько, что я неделю мучался со счётчиком импульсов. В результате кое как запустил на ней, так она всё равно иногда пропускает импульсы, из-за чего так и не получилось сделать автоматическую отправку показаний счётчиков воды.
Как мне помогут эти два таймера? У меня задача днём первый таймер чтоб был на 300 секунд, а ночью на 30. Плюс, хочу иметь возможность ночью по желанию отменить действие ночи на, например, один час.