Spisu treści:
- Krok 1: Czego będziesz potrzebować
- Krok 2: Skonfiguruj gniazdka
- Krok 3: Skonfiguruj konto PubNub
- Krok 4: Przygotuj Raspberry Pi
- Krok 5: Tworzenie obwodu
- Krok 6: Uzyskaj swoje kody RF
- Krok 7: Uruchamianie programu
- Krok 8: Uruchamianie przy starcie
- Krok 9: Dodawanie większej liczby przełączników
- Krok 10: Idź dalej
- Krok 11: Kredyty
Wideo: Tania i efektywna automatyka domowa z Raspberry Pi: 11 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:32
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ć
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
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
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
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
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:
- 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.
- 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.
- 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.
- 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
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
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:
Automatyka domowa kontrolowana przez rękawice Infinity Gauntlet: 8 kroków (ze zdjęciami)
Infinity Gauntlet Controlled Home Automation: W moim poprzednim projekcie stworzyłem rękawicę Infinity Gauntlet, która steruje włącznikiem światła. Chciałem użyć sześciu kamieni, a każdy z nich może sterować urządzeniem, zamkiem drzwi lub oświetleniem. Zrobiłem więc system automatyki domowej za pomocą rękawicy nieskończoności. W tym projekcie
Automatyka domowa na podczerwień za pomocą przekaźnika: 6 kroków (ze zdjęciami)
Automatyka domowa na podczerwień za pomocą przekaźnika: system zdalnej automatyki domowej na podczerwień (ostrzeżenie: replikuj projekt na własne ryzyko! Ten projekt obejmuje wysokie napięcie)
Automatyka domowa sterowana przez Internet/chmurę za pomocą Esp8266 (aREST, MQTT, IoT): 7 kroków (ze zdjęciami)
Automatyka domowa sterowana przez Internet/chmurę za pomocą Esp8266 (aREST, MQTT, IoT): WSZYSTKIE zasługi dla http://arest.io/ za usługę w chmurze!!IoT jest obecnie najbardziej dyskutowanym tematem na świecie! Serwery i usługi w chmurze, które to umożliwiają, są atrakcją dzisiejszego świata… WYKLUCZENIE BARIER ODLEGŁOŚCI było i jest
GPS Car Tracker z powiadomieniem SMS i przesyłaniem danych Thingspeak, oparty na Arduino, automatyka domowa: 5 kroków (ze zdjęciami)
GPS Car Tracker z powiadomieniem SMS i przesyłaniem danych Thingspeak, opartym na Arduino, automatyką domową: Zrobiłem ten tracker GPS w zeszłym roku, a ponieważ działa dobrze, publikuję go teraz na Instructable. Jest podłączony do wtyczki akcesoriów w moim bagażniku. Lokalizator GPS przesyła pozycję samochodu, prędkość, kierunek i zmierzoną temperaturę za pośrednictwem danych mobilnych
Prosta automatyka domowa za pomocą Raspberry Pi3 i Android Things: 5 kroków (ze zdjęciami)
Prosta automatyka domowa przy użyciu Raspberry Pi3 i Android Things: Pomysł polega na zaprojektowaniu „inteligentnego DOMU”; gdzie można sterować urządzeniami domowymi za pomocą Android Things i Raspberry Pi. Projekt obejmuje sterowanie urządzeniami domowymi, takimi jak oświetlenie, wentylator, silnik itp. Wymagane materiały: Raspberry Pi 3HDMI Ca