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


41

Що я хотів би бачити, це найдешевший спосіб керувати моїми вогнями за допомогою мого Raspberry Pi.

Що я уявляю, щоб це контролювати

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

Що це за річ і який найдешевший можливий спосіб, оскільки я планую підключити десяток літрів світла?


Є розетка під керуванням Wi-Fi, яку хтось зробив за 20 доларів частинами (не враховуючи малиновий пі) ProvoTronics.com
Тай Джонс

Відповіді:


22

Я використовую ці елементи:

У коробці у вас є пульт дистанційного керування, який надсилає сигнал приймальному пристрою та вмикає його та вимикає.

У моєму випадку я створив таку ситуацію:

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

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

Я також створив сценарій для внутрішнього використання.

Я не хотів підключати свій Raspberry Pi через домашню програму безпосередньо до Інтернету, тому створив собі іншу веб-сторінку (у своєму власному домені), яка безпосередньо не керує Raspberry Pi, але вона надсилає електронний лист (відомий лише мені) електронна адреса ( Gmail ).

Raspberry Pi перевіряє цей обліковий запис електронної пошти кожні 10 хвилин, щоб побачити, чи є електронна пошта. Наприклад, у цьому електронному листі я скажу "A" або "B".

Тож, коли ми пізно приїжджаємо додому, і світло вже вимкнено, ми переходимо на сайт на моєму мобільному телефоні (плануємо зробити це додатком для 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 приймачів мішечок (які ви клацаєте в Walloletlet, і світло виходить у приймач) з дистанційним управлінням коштує 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 ви керуєте датчиками, а також 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.


6

Що ви шукаєте - це твердотільне реле або механічне реле . Ідея полягає в тому, що невелика кількість струму при низькій напрузі (наприклад, від вашого RPi) може використовуватися для запуску потоку більшої кількості струму при більш високій напрузі (наприклад, лампи).

Я б рекомендував 12-метровий реле-5V модуль реле DC SavSmart для Arduino Raspberry Pi , оскільки він вже виготовлений на платі з готовими до використання гвинтовими клемами. Він має вбудовані БНТ для джерела додаткового струму, необхідного для спрацювання механічних реле. Існують різні дошки однієї компанії, у різноманітних схемах розташування / кількості реле. Я надіслав 8 каналів, тому це може бути недостатньо для ваших потреб, хоча є 16 версій каналів . Вони, як правило, дешевше, ніж купувати кілька реле окремо, а підключення до них просте.

Потрібні 4 з'єднання:

  • Загальне місце (яке ділиться всім реле), яке підключається до RPi
  • Окремі входи, що працюють від окремих GPI-ліній RPI (для запуску реле)
  • Вхід високої напруги
  • Високий вихід напруги

Входи / виходи високої напруги - це з'єднання, які здійснюються або розриваються релеми відповідно до їх вхідних ліній.

У мене вже є програма AWESOME C для дистанційного перемикання шпильок GPIO через SSH. Якщо ви хочете, я можу дати вам вихідний код або навіть пояснити, як він працює.


Як я можу сказати "ні" програмі AWESOME. Хоча C не в моєму репертуарі мов, я можу принаймні переглянути код з часом.
Рік Ховінг

Чи можете ви надіслати це rickhoving7@hotmail.com? Спасибі заздалегідь!
Рік Ховінг

Якщо на ваше запитання відповіли, натисніть прапорець під стрілками для голосування.
Олександр

@XAleXOwnZX Чи можу я бачити цей дивовижний код? Можливо, вам слід відкрити "У когось є програма AWESOME C для дистанційного перемикання шпильок GPIO через SSH", а потім відповісти на нього.
puk

Мені потрібна ваша електронна адреса, я надішлю її, а завтра викладу питання + відповідь
Олександр

2

моя система дешева: 43 EUR .- (приймач + передавач) дивіться нижче.

Для домашньої автоматизації я просто приєдную 3,3 В сумісний передавач 868,35 МГц FS20 до RPI:

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

цей передавач інтерфейсує безпосередньо (лише 4 проводами) до GPIO-портів RPI (3.3V, 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 EUR

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

Я рекомендую керувати самим RPI за допомогою бездротової клавіатури. Для цього ви необов’язково можете придбати цю геніальну дрібницю:

RT-MWK03 [Бездротовий 2,4 ГГц] ( http://www.riitek.com/uk/product-detail-428.html )



0

Хоча це не зовсім дешево, ось моє рішення:

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

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


0

У мене є диференційований підхід: я використовую CUL USB ключ до програмного забезпечення Busware (підтримує FS20 + HMS + FHT + інші протоколи та пристрої), і реалізував власний Java API, щоб абстрагувати пристрої та дозволяти легку автоматизацію через додаток Java.

Якщо хтось зацікавиться моїм маленьким проектом: http://www.paulo-lima.org/hans

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.