Самый дешевый способ управления несколькими розетками (светом) через Wi-Fi

41

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

Что я представляю, чтобы контролировать это

Я строю интерфейс на своем смартфоне, с помощью которого я могу отправлять команды на мой Raspberry Pi. Затем Raspberry Pi отправит посылку (или что-то еще) на вещь, которую я могу положить в мою розетку (чтобы я ее не видел). Обратите внимание, что эта штука должна быть подключена через Wi-Fi (как еще она будет получать сообщение от моего Raspberry Pi?).

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

Рик Ховинг
источник
Есть розетка с Wi-Fi-управлением, которую кто-то сделал примерно за 20 долларов (не считая Raspberry
Тай Джонс,

Ответы:

22

Я использую эти предметы:

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

В моем случае я создал такую ​​ситуацию:

  • Создал сайт HTML на моем Raspberry Pi ( /switch.html)
  • Я называю эту страницу на моем смартфоне
  • На странице четыре кнопки (я контролирую четыре устройства / свет)
  • Когда я нажимаю кнопку, она асинхронно запускает вызов /switch.php(.php на Raspberry Pi)
  • switch.phpВызывает switch.pyпрограмму , которая контролирует отправитель 433 МГц (см ниже)
  • Отправитель 433 МГц делает то же самое, что и стандартный пульт дистанционного управления.

Это отправитель, то есть замена стандартного пульта дистанционного управления: модуль беспроводной передачи 433 МГц Superregeneration для Arduino

Я также создал сценарий для использования вне дома.

Я не хотел подключать Raspberry Pi через мой homerouter напрямую к Интернету, поэтому я создал себе другую веб-страницу (на своем собственном домене), которая не контролирует Raspberry Pi напрямую, но отправляет электронное письмо на адрес (известный только я) адрес электронной почты ( Gmail ).

Raspberry Pi проверяет эту учетную запись электронной почты каждые 10 минут, чтобы узнать, есть ли какая-либо электронная почта. В этом письме я, например, говорю А вкл. Или В выкл.

Поэтому, когда мы опаздываем домой и свет уже выключен, мы переходим на сайт на моем мобильном телефоне (планируется сделать его приложением для Android), нажимаем кнопку, страница публикуется, а на сервер отправляется электронное письмо, и в следующие 0-10 минут Raspberry Pi проверяет электронную почту, видит четыре новых электронных письма (A включено, B включено, C включено и D включено) и включает свет.

С чего начать

Итак, для начала, вот что я сделал, чтобы все заработало. В моем случае я запрограммировал управление отправителем 433 МГц в Python (это простой язык, если вы уже знаете, как программировать).

Сначала вы устанавливаете rpi.gpioбиблиотеку.

Эта библиотека используется для управления маленькими булавками на Raspberry Pi из скрипта Python. См. Установка библиотеки RPi.GPIO Python .

Затем вы можете при желании прочитать статью « Учебное пособие: как использовать Raspberry Pi в качестве Arduino» , о том, что вы можете делать с rpi.gpioбиблиотекой, например мигающие светодиоды .

Однако для переключения света Elro это не обязательно.

Затем вы получите потрясающий код для Elro, командующий HeikoHeiko, по адресу http://pastebin.com/aRipYrZ6 . Вы вставляете этот код в файл с именем ' switchelro.py'.

Затем вы изменяете строку в строке 94 на свои собственные настройки перемычек (как вы установили в своем пульте дистанционного управления и устройстве настенной розетки. Проверьте, работает ли комбинированное устройство удаленной настенной розетки, прежде чем пытаться использовать его с Raspberry Pi. Если это не работает со стандартными компонентами, это, вероятно, не получится с Raspberry Pi тоже).

Затем вы меняете номер пин-кода, к которому прикреплен ваш отправитель, в строке 97.

Номер контакта можно получить из периферийных устройств низкого уровня RPi и в файле: RPi P1 header.png .

Вы должны использовать счет 1..26 (черное изображение), а не GPIO34, GPIO24 и т. Д. (Зеленое изображение).

Затем вы вводите это в командной строке:

sudo python switchelro.py 2 1

что означает «включить B» (следуя этой схеме: A = 1, B = 2, C = 4, D = 8, E = 16для первого числа и 1 = вкл, 0 = выкл для второго).

Я изменил repeat = 10на , line 30чтобы repeat = 20в начале (я не помню , почему) и это работает. Я никогда не повторял это с настройкой «10».

Мишель
источник
1
о, и цена .. здесь, в Нидерландах, набор из 3 приемников настенных розеток (которые вы нажимаете в настенной розетке, и свет идет в приемник) с дистанционным управлением стоит 15 евро. Отправитель 433 МГц стоит около 5 долларов
Мишель
Это звучит именно то, что я ищу! Не могли бы вы прислать мне файлы проекта? (Switch.html, switch.php и switch.py) Моя электронная почта в ответе выше. Кроме того, где я могу купить приемник on-off2 в Нидерландах? Сайт, который вы указали, не предоставляет никаких цен.
Рик Ховинг
Отличный пост - Можете ли вы добавить, где вы нашли источник команд, которые вы посылаете через последовательный порт? Вы назначаете библиотеку? Как вы ориентируетесь на устройства? +1
Петр Кула
1
@Nitin В моей системе вы можете установить двухпозиционный переключатель на приемнике (5 переключателей вкл / выкл) и 5 ​​букв (A .. E). Таким образом, с помощью кода default_key = [1,0,0,0,1]из кода pastebin.com/aRipYrZ6 вы управляете DIP-переключателями, а с помощью pinсвойства в def __init__(self, device, key=[1,1,1,1,1], pin=4):коде вы управляете A .. E (a = 1 .. e = 16)
Мишель
1
@ Nitin Не знаю, как управлять этим с помощью C #. С нетерпением жду этого, потому что последний PI будет запускать Win10 и, надеюсь, он также будет работать на C #. Тем не менее, хотя я программист на C #, Python легко освоить
Мишель
6

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

Чтобы иметь возможность управлять всем с компьютера, вы можете прочитать о компьютерных интерфейсах X10 с веб-сайта OpenRemote. Вероятнее всего, вам нужна модель CM15A с интерфейсом USB, поддерживающая Linux.

Кроме того, было бы неплохо проверить на ebay настенные розетки с поддержкой X10 и вкрутить модули ламп, их можно купить довольно дешево, в диапазоне от 10 до 20 долларов.

Lenik
источник
6

То, что вы ищете, это твердотельное реле или механическое реле . Идея состоит в том, что небольшое количество тока при низком напряжении (например, от вашего RPi) может использоваться для запуска потока большего количества тока при более высоком напряжении (например, лампы).

Я бы порекомендовал 8-канальный релейный модуль SainSmart 8 В постоянного тока для Arduino Raspberry Pi , так как он уже изготовлен в виде платы с готовыми к использованию винтовыми клеммами. Он имеет встроенные полевые транзисторы для подачи дополнительного тока, необходимого для запуска механических реле. Существуют разные платы от одной и той же компании, в широком ассортименте / количестве реле. Тот, который я отправил, имеет 8 каналов, поэтому его может быть недостаточно для ваших нужд, хотя доступно 16 версий каналов . Как правило, они дешевле, чем покупать несколько реле по отдельности, и облегчить их подключение.

Требуется 4 подключения:

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

Высоковольтные входы / выходы - это соединения, которые сделаны или разорваны реле в соответствии с их входными линиями.

У меня уже есть программа AWESOME C для удаленного переключения выводов GPIO по SSH. Если хотите, я могу дать вам исходный код или даже объяснить, как он работает.

Александр - Восстановить Монику
источник
Как я могу сказать «нет» потрясающей программе? Хотя C не входит в мой репертуар языков, я могу хотя бы взглянуть на код с течением времени.
Рик Ховинг
Вы можете отправить это rickhoving7@hotmail.com? Заранее спасибо!
Рик Ховинг
Если на ваш вопрос ответили, нажмите на галочку под стрелками для голосования.
Александр - Восстановить Монику
@XAleXOwnZX я тоже могу увидеть этот удивительный код? Возможно, вам следует открыть вопрос «Есть ли у кого-нибудь программа AWESOME C для удаленного переключения выводов GPIO через SSH» и ответить на него.
puk
Мне нужен твой адрес электронной почты, я пришлю его и завтра
опубликую
2

моя система дешевая: 43 евро (получатель + передатчик), см. ниже.

для домашней автоматизации я просто подключаю 3.3V совместимый 868,35 МГц передатчик FS20 к RPI:

http://www.elv.de/elv-fs20-uart-sender-fs20-us-komplettbausatz.html

этот передатчик подключается напрямую (только через 4 провода) к портам GPIO RPI (3,3 В, GND, TXD, RXD) и управляется через интерфейс последовательной линии.

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

Обзор системы FS20:

http://www.elv.de/fs20-funkschaltsystem.html

(к сожалению, сайт доступен только на немецком языке)

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

http://fhem.de/fhem.html

к счастью на английском :-)

Хотя система FS20 очень гибкая, она очень дешевая. Пример стоимости для простого включения / выключения:

Сам переключатель: http://www.elv.de/elv-funk-schaltsteckdose-fs20-st.html 22,95 евро

Передатчик UART: http://www.elv.de/elv-fs20-uart-sender-fs20-us-komplettbausatz.html 19,95 евро

Я рекомендую управлять самим RPI с помощью беспроводной клавиатуры. Для этого вы по желанию можете купить эту гениальную мелочь:

RT-MWK03 [Беспроводная 2,4 ГГц] ( http://www.riitek.com/en/product-detail-428.html )

Sparkie
источник
0

Хотя не совсем дешево, вот мое решение:

http://www.everyhue.com/?page_id=38#/discussion/707/raspberry-touchpad-some-success

По сути, вы используете Philips Hue (управляемые Wi-Fi, программируемые многоцветные светодиодные лампы) вместе с RPi и сенсорной панелью. Поверхность сенсорной панели USB влияет на размеры цвета и яркости, а кнопки мыши включают и выключают свет. Стоимость - RPi + ключ Wi-Fi (11 долларов) + дешевая USB-тачпад (15 долларов) + набор Philips Hue (200 долларов за мост и 3 лампы, затем 60 долларов за свет).

Илья Хайкинсон
источник
0

У меня другой подход: я использую USB-ключ Busware CUL (поддерживает FS20 + HMS + FHT + другие протоколы и устройства) и реализовал свой собственный Java API для абстрагирования устройств и простой автоматизации с помощью Java-приложения.

На случай, если кто-нибудь заинтересуется моим маленьким проектом: http://www.paulo-lima.org/hans

Пауло Лима
источник