Spisu treści:

Pilot na podczerwień sterowany Amazon Echo: 11 kroków (ze zdjęciami)
Pilot na podczerwień sterowany Amazon Echo: 11 kroków (ze zdjęciami)

Wideo: Pilot na podczerwień sterowany Amazon Echo: 11 kroków (ze zdjęciami)

Wideo: Pilot na podczerwień sterowany Amazon Echo: 11 kroków (ze zdjęciami)
Wideo: TWÓJ PRZYJACIEL ROBOT 🤖♥️ Anki Vector 2024, Lipiec
Anonim
Pilot na podczerwień kontrolowany przez Amazon Echo
Pilot na podczerwień kontrolowany przez Amazon Echo

System Amazon Echo może kontrolować wiele aspektów inteligentnego domu, ale inteligentne gniazdko może tylko wyłączać i włączać. Wiele urządzeń nie włącza się natychmiast po podłączeniu i wymaga dodatkowych czynności, takich jak naciśnięcie przycisków na pilocie lub urządzeniu fizycznym w celu włączenia lub uzyskania żądanych ustawień.

W tym przewodniku Raspberry Pi Zero W zostanie skonfigurowane do działania jako inteligentne urządzenie domowe, które może być sterowane przez Amazon Echo i wysyła dowolne żądane polecenia IR do urządzenia, gdy zostanie ono poproszone o włączenie lub wyłączenie.

W tym konkretnym przypadku, Pi zostanie skonfigurowane tak, aby uczyć się poleceń IR pilota wyposażonego w kwarcowy wkład kominkowy „ClassicFlame 23II310GRA 23” na podczerwień”. Pi skonfigurowane do emulacji urządzenia Philips Hue, które może być sterowane przez Echo.

Krok 1: Materiały

Materiały
Materiały

Wymagany:

  • Raspberry Pi Zero W
  • Karta pamięci 4 GB lub większa Micro SDHC Class 10 (przykład 16 GB)
  • Micro USB
  • 1 dioda podczerwieni
  • Zasilacz MicroUSB (zalecane 2,1 A lub wyższe)
  • Dioda podczerwieni
  • Odbiornik podczerwieni VS/1838B
  • Rezystor 100 omów
  • Różne drut

Zalecana:

  • Gniazdo słuchawkowe
  • 1/8 cala przewód słuchawkowy/audio
  • Tranzystor 2N2222 NPN
  • Rezystor 1 kΩ
  • Etui Rapsberry Pi Zero

Aby ukończyć początkową konfigurację Raspberry Pi Zero W, wymagane będzie kilka dodatkowych urządzeń peryferyjnych, ale nie będą one używane w pełnym wymiarze czasu przez ukończony projekt

  • Przejściówka Mini HDMI na HDMI: Służy do podłączenia Pi Zero W do telewizora lub monitora za pomocą pełnowymiarowego kabla HDMI
  • Kabel USB OTG: Służy do konwersji z micro-USB na pełnowymiarowe porty USB do podłączenia klawiatury i/lub myszy
  • Kabel HDMI: Służy do podłączenia do telewizora lub monitora wraz z adapterem do mini HDMI

Pierwsze dwa elementy oraz etui zawierają różne zestawy startowe Pi Zero, takie jak: MakerSpot Mega Kit

Krok 2: Skonfiguruj Raspberry Pi

Witryna Raspberry Pi zawiera doskonały przewodnik dotyczący konfiguracji Raspbian Stretch OS na Raspberry Pi. Polecam wersję Lite na mniejszą powierzchnię, jeśli jest to tylko projekt działający na Pi. Jeśli chcesz mieć więcej opcji systemu operacyjnego w przyszłości lub prostszą konfigurację, postępuj zgodnie z instrukcjami dla NOOBS, aby szybko rozpocząć pracę. Ten przewodnik jest oparty na Raspbian, który jest dołączony do NOOBS

www.raspberrypi.org/learning/software-guide/

Po uruchomieniu Raspbian włącz SSH, aby umożliwić zdalne połączenia z urządzeniem bez konieczności bezpośredniego podłączenia monitora/klawiatury/myszy do Pi. Jeśli chcesz opcjonalnie mieć zdalny dostęp do GUI, możesz również włączyć dostęp VNC

www.raspberrypi.org/documentation/zdalny-dostęp/ssh/

Zdecydowanie zaleca się również ustawienie statycznego adresu IP w konfiguracji sieci bezprzewodowej, aby nie zmieniał się w czasie. Możliwe, że adres IP może się nie zmienić, jeśli nowe urządzenia nie są regularnie podłączane do sieci bezprzewodowej, ale skonfigurowanie go jako statycznego zapewni, że tak się nie stanie.

www.circuitbasics.com/how-to-set-up-a-static-ip-on-the-raspberry-pi/

Krok 3: Konfiguracja LIRC

Konfiguracja LIRC
Konfiguracja LIRC
Konfiguracja LIRC
Konfiguracja LIRC
Konfiguracja LIRC
Konfiguracja LIRC
Konfiguracja LIRC
Konfiguracja LIRC

Poniższe kroki są w dużej mierze oparte na doskonałych przewodnikach, które można znaleźć tutaj:

alexba.in/blog/2013/01/06/setting-up-lirc-on-the-raspberrypi/https://camp.isaax.io/en/isaax-examples/ir-control-via- lirk-na-malinowym-pi-zero-w

Ten przewodnik jest oparty na Rasbian Stretch i lirc 0.9.4c-9Inne przewodniki mogą być oparte na wcześniejszych wersjach i wspominać o pliku hardware.conf, który nie jest już potrzebny w tej wersji i nowszych. Odkryłem również, że na moich systemach nie jest już konieczne modyfikowanie pliku /etc/modules. W tej chwili potrzebne będą dodatkowe zmiany w jądrze w wersji 4.19, które obecnie nie są tutaj udokumentowane. Upewnij się, że korzystasz z 4.14 dla tego zestawu instrukcji

Biblioteka Linux Infrared Remote Control (LIRC) służy do obsługi odbierania poleceń podczerwieni przez moduł odbiornika, zapisywania ich do pliku, a następnie wysyłania poleceń w razie potrzeby za pomocą diody podczerwieni.

Pierwszym krokiem jest nagranie sygnałów IR z naszego istniejącego pilota za pomocą odbiornika IR i zapisanie ich do pliku. Odbiornik podczerwieni jest potrzebny tylko na początku do nauki sygnałów podczerwieni, a następnie można go usunąć, aby można było użyć tymczasowego połączenia.

Podłącz odbiornik podczerwieni do Raspberry Pi. Użyj załączonego obrazu, aby zidentyfikować piny VCC, GND i Signal. Korzystanie z płytki stykowej, przewodów przyłączeniowych lub kreatywne zginanie pinów do następujących połączeń

VCC łączy się z 5 woltowym pinGND do pinu uziemieniaSignal to Pin 23

Włącz i połącz się z Raspberry Pi, otwierając terminal na urządzeniu lokalnym lub tworząc połączenie SSH za pomocą programu takiego jak Putty dla Windows.

Następujące wiersze można skopiować i wkleić do sesji SSH. Będą dodawać/modyfikować wiersze do różnych plików konfiguracyjnych wymaganych do działania lirc.

aktualizacja sudo apt

sudo apt install -y lirc echo dtoverlay=lirc-rpi, gpio_in_pin=23, gpio_out_pin=22 | sudo tee -a /boot/config.txt sudo sed -i '/driver = */cdriver = default' /etc/lirc/lirc_options.conf sudo sed -i '/device = */cdevice = /dev/lirc0' / etc/lirc/lirc_options.conf sudo shutdown -r teraz

Poczekaj na ponowne uruchomienie urządzenia i zaloguj się ponownie.

Opcjonalnie: testowy odbiornik podczerwieni

Zamontuj urządzenie LIRC, aby potwierdzić, że każdy sygnał wejściowy może zostać odebrany. Może być konieczne ponowne uruchomienie Pi po zakończeniu tego testu, aby udostępnić je do dalszych kroków.

sudo systemctl stop lircd

mode2 -d /dev/lirc0Skieruj pilota na podczerwień w odbiornik, naciśnij przycisk i upewnij się, że na ekranie pojawiają się dane CTRL+C, aby zapisać

W tym momencie zainstalowany jest program LIRC i jesteśmy w stanie przeglądać informacje IR.

Krok 4: Przechwytywanie kodów IR

Profil zdalny można pobrać ze strony LIRC

lirc-remotes.sourceforge.net/remotes-table.html

i umieścić w /etc/lirc/lircd.confg.d lub utworzyć własny profil za pomocą własnego pilota.

Podczas tego procesu wpiszesz nazwę nagrywanego klawisza/przycisku. Dozwolone są tylko poprawne nazwy, więc uruchom następujące polecenie, aby wyświetlić wszystkie dostępne nazwy

irrecord --list-namespace Przykład: użyłem nazwy KEY_POWER podczas nagrywania przycisku zasilania na pilocie i KEY_TIME podczas nagrywania przycisku timera

Jeśli rejestrowanych jest więcej niż kilka klawiszy, zalecam udokumentowanie używanych nazw klawiszy i przycisków, do których są one przypisane, ponieważ może nie istnieć idealna nazwa dla nagrywanego przycisku. Ułatwi to odwoływanie się w przyszłości.

Wygeneruj plik zdalnej konfiguracji

Utwórz nowy plik konfiguracyjny zdalnego sterowania (używając /dev/lirc0)

sudo systemctl stop lircd

cd ~ nienagrywanie -d /dev/lirc0 Jeśli napotkasz błąd mówiący, że nie można zdekodować danych lub coś poszło nie tak, naciśnij CTRL+C, aby anulować i uruchomić ostatnie polecenie asirrecord -f -d /dev/lirc0, spowoduje to wymuszenie uruchomienia rekordu w trybie surowym i powinno umożliwić procesowi ciąg dalszy

Postępuj zgodnie ze wskazówkami na ekranie. Po zainicjowaniu systemu wpisz nazwę nagrywanego pilota (wynikowy plik będzie bazował na tej nazwie), następnie wpisz nazwę klawisza, który zamierzasz nagrywać, a następnie naciśnij przycisk na pilocie, wskazując go na odbiornik do momentu wyświetlenia monitu o nazwę następnego przycisku. Powtórz ten krok dla każdego przycisku na pilocie, który chcesz nagrać.

Skopiuj nowe pliki konfiguracyjne do katalogu lircd.conf.d i ponownie uruchom lirc

sudo cp ~/*.lircd.conf /etc/lirc/lircd.conf.d

sudo systemctl start lircd

W tym momencie kody zdalne zostały zapisane do pliku.

Krok 5: Gniazdo słuchawkowe (opcjonalnie)

Gniazdo słuchawkowe (opcjonalnie)
Gniazdo słuchawkowe (opcjonalnie)
Gniazdo słuchawkowe (opcjonalnie)
Gniazdo słuchawkowe (opcjonalnie)

Aby przewody i modyfikacja Raspberry Pi były bardziej modułowe, przykleiłem na gorąco gniazdo słuchawkowe 1/8 cala do obudowy i podłączyłem przewody do gniazda. Przewody słuchawkowe z pasującą wtyczką zostały użyte do podłączenia diody LED IR, więc ten przewód można było poprowadzić do niepozornego miejsca, aby wskazać odbiornik podczerwieni urządzenia, które chciałem podłączyć, ale można go łatwo odłączyć od Pi bez konieczności wyjmowania wszystkie przewody.

Jest to czysto opcjonalne, ale przydaje się.

Krok 6: Podłączanie diody podczerwieni (szybko)

Podłączanie diody podczerwieni (szybkie)
Podłączanie diody podczerwieni (szybkie)
Podłączanie diody podczerwieni (szybkie)
Podłączanie diody podczerwieni (szybkie)
Podłączanie diody podczerwieni (szybkie)
Podłączanie diody podczerwieni (szybkie)

Podłączanie diody LED emitującej IR do Raspberry Pi można wykonać na wiele sposobów. Ten krok pokazuje szybki sposób, w jaki go podłączyłem, ale który, jak się później dowiedziałem, może przekroczyć aktualny limit na pinach Pi. Do tej pory nie napotkałem żadnych problemów, ale bardziej idealny sposób podłączenia jest opisany w następnym kroku

Oblicz rezystor potrzebny do diody podczerwieni. https://ledcalculator.net/ może pomóc w określeniu właściwej wartości rezystora, jeśli masz wszystkie specyfikacje swojej diody LED. W tym przypadku napięcie na wtyku 22 wynosi 3,3 V, spadek napięcia diody LED wynosi 1,2 V, prąd znamionowy 20 mA i zastosowano 1 diodę LED, co skutkuje potrzebną wartością rezystora 110 omów. Użyłem pojedynczego rezystora 100 omów.

Uwaga: Później zwrócono mi uwagę, że maksymalny prąd wszystkich pinów w danym momencie wynosi 16 ma, więc ta konfiguracja może go przekroczyć. Lepsza konfiguracja z tranzystorem i zasilaniem 5 V jest opisana w kolejnym kroku, ale po kilku tygodniach pracy w tej konfiguracji nie napotkałem jeszcze żadnych problemów.

Pin 22 na Raspberry Pi zostanie podłączony do anody diody podczerwieni, która domyślnie jest dłuższą nogą.

Krótszy pin diody LED łączy się z rezystorem, a następnie z pinem uziemienia. Odciąłem większość przewodu na rezystorze i przylutowałem go bezpośrednio do bolca uziemiającego i do przewodu uziemiającego prowadzącego do diody LED.

Krok 7: Podłączanie diody podczerwieni (prawidłowa metoda)

Podłączanie diody podczerwieni (prawidłowa metoda)
Podłączanie diody podczerwieni (prawidłowa metoda)
Podłączanie diody podczerwieni (prawidłowa metoda)
Podłączanie diody podczerwieni (prawidłowa metoda)

Aby prawidłowo podłączyć diodę LED bez przekraczania limitu ściągania Raspberry Pi, należy podłączyć diody do zasilania 5 V z odpowiednim rezystorem, połączyć pin katody z pinem kolektora rezystora 2N2222, połączyć pin emitera tranzystora z masą, i podłącz pin 22 Pi do rezystora 1 kΩ do pinu bazy tranzystora. Pozwala to na bardzo mały prąd z pinu 22 do podłączenia diody LED do uziemienia, uzupełniając obwód bez przeciągania Pi.

W moim przykładzie podłączyłem 2 diody podczerwieni, dzięki czemu mogłem sterować oświetleniem otoczenia, a także kominkiem elektrycznym.

Krok 8: Testowanie wysyłania poleceń IR

Testowanie wysyłania poleceń IR
Testowanie wysyłania poleceń IR

Do wysłania polecenia IR używany jest program irsend.

Składnia: irsend

Przykład: irsend SEND_ONCE Spectrafire KEY_POWER Wysyła jednorazowo polecenie przycisku zasilania z pilota Spectrafire. Zastąp Spectrafire tym, co nazwałeś swoim pilotem. Powtórz z innymi nazwami klawiszy używanymi podczas nagrywania pliku.

Na tym etapie masz możliwość wysyłania dowolnych poleceń nagranych wcześniej za pomocą diody IR podłączonej do Raspberry Pi.

Krok 9: Instalacja mostka Ha

Aby umożliwić Echo sterowanie naszym urządzeniem, emulujemy żarówkę Philips Hue za pomocą mostka typu ha. Po skonfigurowaniu Echo będzie w stanie wykryć to urządzenie i wysłać do niego polecenia włączenia/wyłączenia zasilania.

Strona internetowa firmy ha-bridge wyraźnie przedstawia proces dla aktualnej wersji i jest wysoce zalecana do przejrzenia.

github.com/bwssytems/ha-bridge

Skopiuj i wklej następujące wiersze do sesji SSH, aby zainstalować i skonfigurować HA Bridge. (Może być konieczne uruchomienie pierwszej linii, a następnie wklejenie pozostałych linii

sudo apt install -y oracle-java8-jdk

mkdir /home/pi/habridge cd /home/pi/habridge/ rm ha-bridge-*.jar -f wget $(curl -s https://api.github.com/repos/bwssytems/ha-bridge/releases /latest | grep 'browser_' | cut -d\" -f4) mv ha-bridge-*.jar ha-bridge.jar echo [jednostka] | sudo tee /etc/systemd/system/habridge.service echo Description=HA Bridge | trójnik sudo -a /etc/systemd/system/habridge.service echo Wants=network.target | trójnik sudo -a /etc/systemd/system/habridge.service echo After=network.target | trójnik sudo -a /etc /systemd/system/habridge.service echo | trójnik sudo -a /etc/systemd/system/habridge.service echo [usługa] | trójnik sudo -a /etc/systemd/system/habridge.service echo Type=simple | trójnik sudo -a /etc/systemd/system/habridge.service echo WorkingDirectory=/home/pi/habridge |sudo tee -a /etc/systemd/system/habridge.service echo ExecStart=/usr/bin/java -jar -Dconfig. file=/home/pi/habridge/data/habridge.config /home/pi/habridge/ha-bridge.jar | trójnik sudo -a /etc/systemd/system/habridge.service echo | trójnik sudo -a /etc/ systemd/system/hab ridge.service echo [Zainstaluj] | sudo tee -a /etc/systemd/system/habridge.service echo WantedBy=multi-user.target | sudo tee -a /etc/systemd/system/habridge.service #Reload System Control i uruchom usługę, ustawienie włączania przy starcie sudo systemctl daemon-reload sudo systemctl start habridge.service sudo systemctl enable habridge.service

Krok 10: Emulacja żarówki Philips Hue

Emulacja żarówki Philips Hue
Emulacja żarówki Philips Hue
Emulacja żarówki Philips Hue
Emulacja żarówki Philips Hue

Przy uruchomionym ha-bridge otwórz przeglądarkę internetową i wpisz adres IP Raspberry Pi, a interfejs dla ha-bridge powinien się pojawić.

Kliknij link Dodaj/Edytuj u góry strony

Nazwa: Wprowadź nazwę, której chcesz używać podczas wypowiadania poleceń

W sekcji oznaczonej „Na elementach” ustaw typ „Wykonaj polecenie/skrypt/program” i wprowadź polecenie w polu Element docelowy. Jeśli wymaganych jest wiele poleceń, kliknij przycisk Dodaj, aby zapisać bieżący wiersz i wprowadzić inne polecenie. możliwe jest również ustawienie opóźnienia i powtórzenie polecenia określoną liczbę razy. W tym przypadku najpierw należy nacisnąć przycisk zasilania, a następnie przycisk Timer nacisnąć 3 razy, aby ustawić zegar automatycznego wyłączania na 3 godziny.

Powtórz ten sam pomysł dla obszaru "Wyłączone przedmioty", klikając Dodaj po zakończeniu.

U góry strony kliknij "Dodaj urządzenie mostkowe", aby zapisać je jako nowy element, lub Aktualizuj urządzenie mostkowe, jeśli modyfikujesz istniejące.

Skieruj diodę podczerwieni na urządzenie. Na stronie Bridge Devices kliknij przycisk Test ON lub Test OFF, aby sprawdzić, czy działa zgodnie z potrzebami.

Krok 11: Łączenie się z Amazon Echo

Łączenie z Amazon Echo
Łączenie z Amazon Echo

Ostatnim krokiem jest umożliwienie Amazon Echo komunikacji z tym urządzeniem. Uwaga: Oba urządzenia muszą być w tej samej sieci.

Opcja 1) powiedz „Alexa, odkryj inteligentne urządzenia domowe”

Opcja 2) Otwórz aplikację Alexa, dotknij Menu> Inteligentny dom i kliknij łącze „Odkryj urządzenia”

Po kilku chwilach urządzenie powinno zostać rozpoznane.

Powiedz „Alexa, włącz kominek w sypialni” i sprawdź, czy urządzenie włącza się zgodnie z oczekiwaniami. Zastąp kominek w sypialni dowolną nazwą urządzenia w ha-bridge. Powtórz proces, aby wyłączyć urządzenie.

Jeśli nie zamontowałeś jeszcze diody podczerwieni, znajdź niepozorne miejsce do jej zamontowania, jednocześnie kierując ją w ogólnym kierunku odbiornika podczerwieni w urządzeniu. Być może trzeba będzie go przesunąć, aby wskazać różne obszary, aby znaleźć najlepszą lokalizację.

Zalecana: