Spisu treści:

Tania i efektywna automatyka domowa z Raspberry Pi: 11 kroków (ze zdjęciami)
Tania i efektywna automatyka domowa z Raspberry Pi: 11 kroków (ze zdjęciami)

Wideo: Tania i efektywna automatyka domowa z Raspberry Pi: 11 kroków (ze zdjęciami)

Wideo: Tania i efektywna automatyka domowa z Raspberry Pi: 11 kroków (ze zdjęciami)
Wideo: Arduino w edukacji – Zbyszek „HardeN” Brożbar 2024, Listopad
Anonim
Tania i efektywna automatyka domowa z Raspberry Pi
Tania i efektywna automatyka domowa z Raspberry Pi
Tania i efektywna automatyka domowa z Raspberry Pi
Tania i efektywna automatyka domowa z Raspberry Pi
Tania i efektywna automatyka domowa z Raspberry Pi
Tania i efektywna automatyka domowa z Raspberry Pi

Zawsze chciałem móc sterować światłami bezprzewodowo, ale opcje komercyjne są zazwyczaj drogie. Światła Philips Hue kosztują około 70 USD, a światła podłączone do Wi-Fi są również drogie. W tym samouczku dowiesz się, jak kontrolować do pięciu świateł / lamp / pasm światła Bożego Narodzenia za około 50 USD i można go rozszerzyć o więcej świateł.

Krok 1: Czego będziesz potrzebować

Czego będziesz potrzebować
Czego będziesz potrzebować

Materiały:

Raspberry Pi Zero W (wersja bezprzewodowa)

Karta Micro SD (co najmniej 4 GB)

Kabel/konwerter mini HDMI na HDMI (istnieje różnica między mini a micro, upewnij się, że kupiłeś właściwy!)

Kabel/konwerter micro USB na USB

Klawiatura USB

Uwaga: Mam zestaw startowy Raspberry Pi Zero W od Amazon, który był dostarczany z Raspberry Pi Zero W, kartą SD, obudową, kablem zasilającym, konwerterem HDMI i konwerterem USB. Za jedyne 30 USD jest to całkiem dobra opcja (link)

Możesz użyć innego modelu Raspberry Pi, ale Raspberry Pi musi mieć jakąś formę połączenia internetowego, a Pi Zero W jest najtańszą opcją.

Zdalne gniazdka - korzystałem z nich

Nadajnik i odbiornik RF (Uwaga: częstotliwość nadajnika/odbiornika musi odpowiadać częstotliwości zdalnych gniazd) - używałem tych

Przewód do anteny (użyłem drutu miedzianego o średnicy 22 mm, inny przewód może działać)

Płytka do krojenia chleba, przewody połączeniowe, 40-stykowe złącze męskie-męskie

Oprogramowanie:

Raspberry Pi OS (pobierz Raspbian Desktop)

Imager dysku Etcher (do zapisywania Pi OS na karcie SD)

Narzędzia:

Lutownica

Komputer do pobierania Pi OS i Etcher

Krok 2: Skonfiguruj gniazdka

Skonfiguruj punkty sprzedaży
Skonfiguruj punkty sprzedaży
Skonfiguruj punkty sprzedaży
Skonfiguruj punkty sprzedaży

Zacznij od podłączenia gniazdek do gniazdka. Postępuj zgodnie z dołączonymi instrukcjami, aby je skonfigurować i podłącz światła/urządzenia. Upewnij się, że pilot jest prawidłowo sparowany i steruje gniazdami.

Krok 3: Skonfiguruj konto PubNub

PubNub to darmowy serwer internetowy, który umożliwia komunikację między urządzeniami w dowolnym miejscu na świecie. Skrypt Pythona odbiera wiadomości ze strony internetowej i wykorzystuje informacje zawarte w wiadomości do włączania lub wyłączania świateł. Możesz założyć darmowe konto tutaj. Po zarejestrowaniu się zaloguj się na swoje konto. Spowoduje to przejście do strony zarządzania aplikacjami. Kliknij „Utwórz nową aplikację”. Nadaj nazwę aplikacji, a następnie wybierz ją z listy aplikacji (jeśli jest to Twoja pierwsza aplikacja, będzie jedyna). Spowoduje to przejście do strony klawiszy aplikacji. Kliknij „Demo Keyset” i powinieneś zobaczyć trzy różne klucze. Trzymaj tę stronę dalej, będziesz potrzebować tych kluczy później. Teraz, gdy masz już konto PubNub, możesz skonfigurować swoje raspberry pi.

Krok 4: Przygotuj Raspberry Pi

Pobierz Etcher i Raspberry Pi OS na swój komputer (linki na liście części)

Zainstaluj Etcher na swoim komputerze i rozpakuj (jeśli to konieczne) system operacyjny Raspberry Pi. Włóż kartę Micro SD do komputera i otwórz Etcher. Kliknij „Wybierz obraz” i przejdź do rozpakowanego pliku Raspberry Pi OS. Wybierz go, a następnie kliknij „Wybierz dysk” i wybierz kartę micro SD z listy. Kliknij „Flash” i poczekaj, aż Etcher zakończy. Po zakończeniu Etcher wyjmij kartę SD z komputera (Etcher automatycznie ją wysuwa) i włóż ją do Raspberry Pi. W tym momencie musisz podłączyć Raspberry Pi do monitora z konwerterem HDMI. Podłącz klawiaturę (i mysz, jeśli masz koncentrator multi-USB) i podłącz kabel zasilający. Istnieją dwa porty micro USB. Jeden służy do zasilania, drugi to rzeczywisty port USB. Ten najbliżej końca Pi to zasilanie, a bliżej środka to USB. Twoja raspberry pi zacznie się teraz uruchamiać. Może kilka razy uruchomić się ponownie podczas pierwszego rozruchu, ale to normalne. Po uruchomieniu Raspberry Pi podłącz go do Wi-Fi. Po podłączeniu go do Wi-Fi możesz użyć serwera SSH, ale na razie łatwiej mi korzystać z GUI. Otwórz okno terminala i wprowadź te polecenia:

sudo pip3 zainstaluj 'pubnub==3.9.0'

cd klon git git://git.drogon.net/wiringPi klon git

klon sudo git https://github.com/timleland/rfoutlet.git /var/www/rfoutlet

sudo chown root.root /var/www/rfoutlet/codesend sudo chmod 4755 /var/www/rfoutlet/codesend

okablowanie cdPi

./budować

Teraz otwórz przeglądarkę plików Raspberry Pi i powinieneś zobaczyć folder pi-home-automation. Kliknij go dwukrotnie i powinieneś zobaczyć plik o nazwie RFControl.py. Skopiuj go (naprzeciwko kliknij i wybierz „Kopiuj”), a następnie wróć do folderu pi i wklej go tam.

Wyłącz raspberry pi (z menu lub uruchamiając sudo poweroff z wiersza poleceń) i odłącz go, gdy zielone światło przestanie migać.

Krok 5: Tworzenie obwodu

Tworzenie obwodu
Tworzenie obwodu
Tworzenie obwodu
Tworzenie obwodu
Tworzenie obwodu
Tworzenie obwodu

Teraz nadszedł czas na stworzenie obwodu. Użyłem płytki do krojenia chleba, ale możesz to zrobić, jak chcesz.

Najpierw musimy stworzyć antenę do nadajnika RF. Ten samouczek instruktażowy pokazuje, jak zrobić antenę do nadajnika RF. Postępuj zgodnie z instrukcją, a następnie przylutuj go do pinu anteny nadajnika (na tym, którego użyłem był oznaczony ANT) krótszym bokiem najbliżej nadajnika

Podłącz nadajnik

Nadajnik wykorzystuje te piny:

DANE: GPIO 17, fizyczny pin 11

VCC: Raspberry Pi 5v, fizyczny pin 2

GND: Raspberry Pi GND, pin fizyczny 6

Podłącz odbiornik

Odbiornik wykorzystuje te piny:

GND: Raspberry Pi GND, pin fizyczny 9

VCC: Raspberry Pi 5v, fizyczny pin 4

DANE: GPIO 27, fizyczny pin 13 (w odbiorniku, którego użyłem, są dwa piny danych, a użyłem jednego najbliżej VCC)

Krok 6: Uzyskaj swoje kody RF

Uzyskaj swoje kody RF
Uzyskaj swoje kody RF

Po podłączeniu obwodu do Raspberry Pi sprawdź go dwukrotnie, aby upewnić się, że wszystko jest na swoim miejscu, a następnie włącz go ponownie. Po włączeniu otwórz terminal i wpisz

sudo /var/www/rfoutlet/RFSniffer

Następnie otwórz program RFControl. W następnym kroku pomocne może być umieszczenie obok siebie okna terminala i okna programu.

Teraz będziesz potrzebować pilota, który był dołączony do zestawu gniazdek. Przytrzymaj go blisko odbiornika i naciśnij każdy przycisk z osobna. Po naciśnięciu przycisku na ekranie zostaną wydrukowane dwie liczby. Jeden z nich będzie kodem sześcio- lub siedmiocyfrowym, a drugi 3-cyfrowym. Będziesz musiał edytować słownik kodów w programie. Wprowadź 7-cyfrowy kod w odpowiednie miejsce przełącznika w programie, a dla każdego przycisku włącz/wyłącz wstaw 3-cyfrowy kod (jest to długość) w odpowiednim miejscu przełącznika w programie.

Na przykład, jeśli przełącznik 1 ma kod 1234567, kod wyłączenia 7654321 i długość 890, kod będzie wyglądał tak:

kody = {

'switch1': { 'on': 1234567, #to jest switch 1 on 'off': 7654321, #to jest switch 1 off 'len': 890, #to jest długość kodu switcha 1 }, 'switch2': {… }, … }

Powtórz to dla każdego przycisku. Podczas edytowania tego pliku zmień ciągi „TWÓJ-SUB-KEY” na swój klucz subskrypcji PubNub i „TWÓJ-KLUCZ-PUB” na swój klucz publikowania.

Po nagraniu każdego przycisku możesz przejść do następnej sekcji.

Krok 7: Uruchamianie programu

Uruchamianie programu
Uruchamianie programu

Teraz, gdy masz już wszystkie swoje kody, przejdź do tej strony GitHub (na swoim komputerze, nie raspberry pi) i kliknij zielony przycisk z napisem „Klonuj lub pobierz”, a następnie kliknij „Pobierz ZIP”. Po pobraniu tego pliku rozpakuj go i otwórz folder. Otwórz plik o nazwie main.js. Musisz wprowadzić klucze subskrypcji i publikowania w programie, zastępując „TWÓJ-KLUCZ-PUB” swoim kluczem publikowania i „TWÓJ-SUB-KLUCZ” swoim kluczem subskrypcji.

Następnie wróć do swojego Raspberry Pi i wejdź

python3 RFControl.py

Po wydrukowaniu „Gotowe” wróć do komputera i otwórz plik index.html w przeglądarce internetowej, klikając przeciwne kliknięcie, wybierz „Otwórz za pomocą” i wybierz preferowaną przeglądarkę. Powinieneś zobaczyć 2 kolumny po 5 przycisków, z nazwami przełączników między nimi. Naciśnij dowolny przycisk. Jeśli prawidłowo steruje gniazdem, świetnie! Jeśli nie, oto kilka rzeczy do wypróbowania:

  1. Upewnij się, że Raspberry Pi odbiera wiadomości. Powinna być wyświetlana na ekranie za każdym razem, gdy otrzyma wiadomość ze strony internetowej. Jeśli nie, upewnij się, że klucze subskrypcji/publikowania są poprawne.
  2. Jeśli Raspberry Pi odbiera wiadomości, upewnij się, że kody RF są poprawne. Upewnij się, że gniazdka są sparowane z pilotem, pilot może nimi sterować, a kody wprowadzone do programu są poprawne.
  3. Jeśli kody RF są poprawne, upewnij się, że Raspberry Pi znajduje się w zasięgu gniazdek. Jeśli zaczną działać po zbliżeniu, może być konieczne ponowne wykonanie anteny.
  4. Jeśli nadal nie działają, podaj mi swój problem w komentarzach, a postaram się w tym pomóc.

Krok 8: Uruchamianie przy starcie

Aby uruchomić program Pythona podczas uruchamiania, wprowadź to do terminala raspberry pi:

crontab -e

Następnie przejdź na dół pliku i wprowadź to:

@reboot python3 /home/pi/RFControl.py &

Spowoduje to, że skrypt Pythona będzie uruchamiany za każdym razem podczas uruchamiania. Teraz zrestartuj Raspberry Pi.

Krok 9: Dodawanie większej liczby przełączników

Dodawanie kolejnych przełączników
Dodawanie kolejnych przełączników

Jeśli chcesz dodać więcej punktów sprzedaży, postępuj zgodnie z poniższymi instrukcjami:

Otwórz RFControl.py na swoim Raspberry Pi i dodaj nowy przełącznik do słownika przełączników.

Przykład:

przełączniki = {

…inne przełączniki… 'NAZWA-PRZEŁĄCZNIKA': { 'on': xxxxxxx, 'off': yyyyyyy, 'len': zzz, }, }

Następnie dodaj nowy przycisk w swojej aplikacji internetowej, edytując zmienną switchs w main.js na swoim komputerze.

Przykład:

var przełączniki = […stare przełączniki… ['NAZWA-DO-WYŚWIETLACZA', 'NAZWA-PRZEŁĄCZNIKA'],];

Zastąp NAZWA-DO-WYŚWIETLACZA nazwą, którą chcesz, aby była wyświetlana na stronie internetowej, a NAZWA-PRZEŁĄCZNIK w obu plikach na cokolwiek chcesz. Musi być jednak wyjątkowy od innych!

Krok 10: Idź dalej

Idąc dalej
Idąc dalej

PubNub jest obsługiwany na wielu różnych platformach, co oznacza, że możesz wysyłać wiadomości z niemal każdego urządzenia! Użyłem zestawu Raspberry Pi AIY Voice i PubNub do wysyłania poleceń za pomocą głosu, ale może to być temat późniejszej instrukcji. Dziękuję za przeczytanie mojego Instructable, mam nadzieję, że był pomocny!

Krok 11: Kredyty

Podziękowania dla Tima Lelanda za samouczek dotyczący konfiguracji nadajnika RF: samouczek

Dzięki diy_bloke za samouczek tworzenia anteny: samouczek

Dziękuję również wszystkim innym, którzy opublikowali tutoriale online, które oglądałem, za pomoc!

Zalecana: