Оглавление:
- Шаг 1: Шаг 1: Сборка
- Шаг 2: Шаг 2: Определение IP-адреса ваших устройств
- Шаг 3: Шаг 3: Настройте свои сокеты
- Шаг 4: Шаг 4: Напишите свой код
Видео: Автоматизация умного дома с розетками Energenie - бесконтактные розетки: 4 шага
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:51
Вступление
Существует множество примеров автоматизации умного дома, но этот простой и очень эффективно работает в течение года в моем доме, так что я надеюсь, вам он понравится. Когда вы закончите, у вас будет устройство, которое может сканировать сеть, чтобы узнать, находитесь ли вы в доме, в зависимости от того, какое устройство с поддержкой Wi-Fi вы держите при себе, и может управлять набором розеток с помощью радиочастотной антенны. Итак, теперь, когда вы войдете в свой дом, свет включится, а когда вы уйдете, он выключится исключительно из-за вашего присутствия (также вы можете сэкономить много энергии на приборах, которые не должны быть включены, когда вы не там, как у беспроводных колонок).
Он работает на Raspberry Pi 2 модели B и использует пи-мотот Energenie, хотя я уверен, что любой RF-управляемый разъем можно взломать для работы с правильным комплектом. Он написан на Python, в основном с использованием библиотеки nmap-python для сканирования портов в вашей локальной сети.
Требования:
1. Raspberry Pi - я использовал 2 модели B, но любой из них будет работать (хотя не уверен в надежности нуля в беспроводной сети) - подключен к вашему маршрутизатору (если возможно, через Ethernet).
2. Плата и розетки для пи-мота Energenie
3. Длина провода и паяльника по возможности
4. Дополнительная кнопка и переопределение светодиода
Шаг 1: Шаг 1: Сборка
Мне не нужно повторять здесь основные инструкции по настройке, у Pi-mote есть свои собственные инструкции, которые довольно полны. Вы можете запустить практический код, чтобы проверить правильность работы переключателей.
energenie4u.co.uk/res/pdfs/ENER314%20UM.pd…
Хотя на плате есть антенна, для большего диапазона (> 5 м) рекомендуется добавить проволочную антенну, как показано на изображении (вертикальный черный провод). Сигналы передаются на частоте 433 МГц, поэтому длина антенны должна составлять примерно 1/4 * v / f ~ = 15 см.
Я также добавил к себе лего, я позволю вам судить о качестве этой работы:)
Шаг 2: Шаг 2: Определение IP-адреса ваших устройств
Как уже упоминалось, основным программным инструментом является библиотека под названием nmap, которая была адаптирована для python и может быть загружена отсюда: https://pypi.python.org/pypi/python-nmap/0.6.1. Она может делать множество вещей:
Сначала мы проведем широкое сканирование сети, чтобы найти нужные устройства, и в основной программе запустим сканирование сети.
Откройте терминал Python и введите:
импортировать nmap
nm = nmap. PortScanner ()
nm.scan (hosts = 'диапазон IP-адресов сети', arguments = '- sP')
Диапазон IP-адресов будет примерно таким: 192.168.0.1/24.
Это даст вам длинный список устройств в вашей сети, вам нужно будет использовать метод проб и ошибок, чтобы определить, какие устройства вас интересуют.
Этот шаг легче выполнить с помощью команд arp-scan или ping вне интерпретатора python, которые дают вам некоторую информацию об устройствах, но, поскольку мы все равно использовали библиотеку python-nmap, я подумал, что вставлю ее.
Как только вы определили, какие устройства хотите использовать в качестве контроллеров присутствия, например мобильные телефоны, планшеты и т. д. Запишите их IP-адреса. Это работает как в динамически, так и в статически контролируемых сетях IP-адресов.
Чтобы убедиться, что у вас правильное устройство, вы можете отключить его от сети и повторно запустить сканирование, тогда оно не должно отображаться на вашем сканировании.
Шаг 3: Шаг 3: Настройте свои сокеты
Теперь, когда у вас есть IP-адреса, вам нужно настроить сокеты. Для этого нужно удерживать зеленую кнопку на розетках до тех пор, пока не замигает красный свет, а затем посылать выбранный сигнал. Различные сигналы достигаются набором из 4 двоичных переключателей, соответствующих цифровым выходам на Pi.
В руководстве Energenie есть пример кода для переключения, я бы предложил скопировать его и адаптировать короткий скрипт, который позволяет вам настраивать сокеты, отправляя сигнал при запуске скрипта.
Шаг 4: Шаг 4: Напишите свой код
И перейдем к финальной программе.
Я приложил код, который использовал, который работал для двух устройств для каждого из жильцов нашего дома, в то время как была кнопка отмены для всех остальных.
Код работает путем поиска IP-адресов 192.168.0.10 и 192.168.0.28. Затем он смотрит только на порты 80 и 62078, чтобы сэкономить время, эти порты часто открыты для связи на мобильных устройствах. Измените IP-адреса на адреса, которые вы нашли на последнем шаге. Он также проверяет ввод кнопки, в этом случае кнопка подключена к контакту 40 в GPIO.setup с заземлением. Если какое-либо из устройств присутствует или кнопка включена, он посылает сигнал на розетки для включения.
Чтобы избежать возможного отключения: хотя устройство будет быстро включаться в вашем присутствии, так как нет ложных срабатываний, оно отключится через более длительный период времени. Это связано с тем, что иногда возникают ложноотрицательные результаты, т. Е. Устройство не определяется правильно при каждом сканировании. Как я уже упоминал, у нас не было ни одного выпадающего за год, когда мы использовали эту технику.
Я также оставил отладочный код, так как он полезен для определения правильности работы вашего кода. Не стесняйтесь создавать и модифицировать эту основу, чтобы иметь множество сокетов и множество устройств, которые взаимодействуют друг с другом. Кроме того, вы, вероятно, захотите постоянно запускать этот код на своем Pi в фоновом режиме, пока он выполняет другие действия, предпочтительно при запуске. Для получения информации о том, как это сделать, см. Эту ветку:
Рекомендуемые:
Система умного дома Alexa с использованием релейного модуля NodeMCU: 10 шагов
Система умного дома Alexa с использованием модуля реле NodeMCU: в этом проекте IoT я создал систему автоматизации умного дома Alexa с использованием NodeMCU ESP8266 & Релейный модуль. Вы можете легко управлять светом, вентилятором и другой бытовой техникой с помощью голосовой команды. Чтобы подключить интеллектуальную колонку Echo Dot к
SmartBox - система умного дома для вашей комнаты: 6 шагов
SmartBox - система умного дома для вашей комнаты: Всем привет! В этой инструкции я объясню вам, как сделать систему умной комнаты. Эта система содержит два устройства: обычное устройство с датчиком влажности и датчиком температуры, которое измеряет текущее качество жизни в вашей комнате. Вы
ForgetMeNot - Платформа уведомлений для умного дома: 14 шагов (с изображениями)
ForgetMeNot - платформа уведомлений для умного дома: как занятые студенты колледжа, бегающие между уроками, работой и семейными обязанностями, мы склонны забывать о мелочах. День рождения приходит и проходит незаметно для нас, важный дедлайн пропускается из-за явной забывчивости, а иногда просто
Полное дополнение для умного дома: 8 шагов
Дополнение для полного умного дома: мой предыдущий проект "Полный умный дом" успешно работает почти 5 лет без каких-либо проблем. Теперь, когда я решил добавить отзыв к тому же самому без каких-либо изменений существующей схемы и схемы. Так что это дополнение к профи
Термостат умного дома: 4 шага
Термостат для умного дома: наш термостат для умного дома - это программа, которая может автоматически экономить деньги семьи на счетах за коммунальные услуги в зависимости от предпочтений человека