Innehållsförteckning:

Amazon Echo Controlled IR Remote: 11 steg (med bilder)
Amazon Echo Controlled IR Remote: 11 steg (med bilder)

Video: Amazon Echo Controlled IR Remote: 11 steg (med bilder)

Video: Amazon Echo Controlled IR Remote: 11 steg (med bilder)
Video: РАЗДАЕТ WIFI СЛЕДИТ ЗА ЧЕЛОВЕКОМ 4G камера видеонаблюдения 2024, Juli
Anonim
Amazon Echo -kontrollerad IR -fjärrkontroll
Amazon Echo -kontrollerad IR -fjärrkontroll

Amazon Echo -systemet kan styra många aspekter av ett smart hem, men ett smart uttag kan bara stängas av och på. Många enheter slås inte på direkt genom att enkelt anslutas och kräver ytterligare steg, till exempel att trycka på knapparna på en fjärrkontroll eller den fysiska enheten för att slå på eller få önskade inställningar.

I den här guiden kommer en Raspberry Pi Zero W att konfigureras för att fungera som en smart hem -enhet som kan styras av Amazon Echo och skicka önskade IR -kommandon till en enhet när den begärs att slå på eller stänga av.

I detta specifika fall kommer Pi att konfigureras för att lära sig IR -kommandon på en fjärrkontroll som är försedd med en "ClassicFlame 23II310GRA 23" Infraröd kvarts eldstadinsats. En IR -LED kommer sedan att användas för att skicka ut IR -kommandon på begäran, och slutligen Pi konfigurerad för att emulera en Philips Hue -enhet som kan styras av Echo.

Steg 1: Material

Material
Material

Nödvändig:

  • Raspberry Pi Zero W
  • 4 GB eller mer Micro SDHC Class 10 -minneskort (16 GB exempel)
  • MicroUSB
  • 1 IR -LED
  • MicroUSB -nätadapter (2,1 ampere eller högre rekommenderas)
  • IR -LED
  • IR -mottagare VS/1838B
  • 100 ohm motstånd
  • Övrigt tråd

Rekommenderad:

  • Hörlursuttag
  • 1/8 tums hörlurar/ljudkabel
  • 2N2222 NPN Transistor
  • 1k ohm motstånd
  • Rapsberry Pi Zero -fodral

För att slutföra den ursprungliga konfigurationen av en Raspberry Pi Zero W krävs några ytterligare kringutrustning, men kommer inte att användas på heltid av det färdiga projektet

  • Mini HDMI till HDMI -adapter: Används för att ansluta Pi Zero W till en TV eller bildskärm med en fullstor HDMI -kabel
  • USB OTG-kabel: Används för att konvertera från mikro-USB till USB-portar i full storlek för anslutning av tangentbord och/eller mus
  • HDMI -kabel: Används för att ansluta till TV eller bildskärm tillsammans med en adapter till mini HDMI

De två första artiklarna samt ett fodral innehåller olika Pi Zero -startpaket, till exempel: MakerSpot Mega Kit

Steg 2: Konfigurera Raspberry Pi

Raspberry Pi -webbplatsen har en utmärkt genomgång för att konfigurera Raspbian Stretch OS på en Raspberry Pi. Jag rekommenderar Lite -versionen för ett mindre fotavtryck om detta bara är ett projekt som körs på Pi. Om du vill ha fler operativsystemalternativ i framtiden eller en enklare installation, kommer du att komma igång på kort tid genom att följa instruktionerna för NOOBS. Den här guiden är baserad på Raspbian, som ingår i NOOBS

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

När Raspbian körs, aktivera SSH för att tillåta fjärranslutningar till enheten utan att en bildskärm/tangentbord/mus måste anslutas direkt till Pi. Om du vill ha fjärråtkomst till GUI kan du också aktivera VNC -åtkomst

www.raspberrypi.org/documentation/remote-access/ssh/

Det rekommenderas också starkt att du ställer in en statisk IP på konfigurationen för det trådlösa nätverket så att det inte ändras över tiden. Det är möjligt att IP -adressen kanske inte ändras om nya enheter inte regelbundet är anslutna till det trådlösa nätverket, men att konfigurera den som statisk säkerställer att den inte gör det.

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

Steg 3: Konfigurera LIRC

Konfigurera LIRC
Konfigurera LIRC
Konfigurera LIRC
Konfigurera LIRC
Konfigurera LIRC
Konfigurera LIRC
Konfigurera LIRC
Konfigurera LIRC

Följande steg är starkt baserade på de utmärkta guiderna som finns här:

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

Den här guiden är baserad på Rasbian Stretch och lirc 0.9.4c-9 Andra guider kan vara baserade på tidigare versioner av och nämna en hardware.conf-fil som inte längre behövs med den här versionen eller högre. Jag har också funnit att det inte längre är nödvändigt på mina system att ändra /etc /modules -filen För närvarande kommer ytterligare ändringar att behövas för kärnversion 4.19 som inte är dokumenterade här för närvarande. Se till att du är på 4.14 för denna uppsättning instruktioner

Linux Infrared Remote Control (LIRC) -biblioteket används för att hantera mottagning av IR -kommandon via mottagarmodulen, spara dem i en fil och sedan skicka kommandona när så önskas via IR -lysdioden.

Det första steget är att spela in IR -signalerna från vår befintliga fjärrkontroll med IR -mottagaren och spara dem i en fil. IR -mottagaren behövs bara inledningsvis för att lära sig IR -signalerna och kan sedan tas bort, så en tillfällig anslutning kan användas.

Anslut IR -mottagaren till Raspberry Pi. Använd den bifogade bilden för att identifiera VCC-, GND- och signalstiften. Med hjälp av en brödbräda, anslutningstrådar eller kreativ böjning av stiften till följande anslutningar

VCC ansluts till 5 volt pinGND till en jordad pin Signal till Pin 23

Slå på och anslut till Raspberry Pi genom antingen genom att öppna terminalen på den lokala enheten eller skapa en SSH -anslutning med ett program som Putty for Windows.

Följande rader kan kopieras och klistras in i SSH -sessionen. De kommer att lägga till/ändra rader till olika konfigurationsfiler som krävs för att lirc ska fungera.

sudo apt uppdatering

sudo apt installera -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 avstängning -r nu

Vänta tills enheten startas om och logga in igen.

Valfritt: Test IR -mottagare

Montera LIRC -enheten för att bekräfta att alla ingångar kan tas emot. Du kan behöva starta om Pi efter att detta test har slutförts för att göra det tillgängligt för senare steg.

sudo systemctl stop lircd

mode2 -d /dev /lirc0Rikta en IR -fjärrkontroll mot mottagaren och tryck på en knapp och se till att data visas på skärmen CTRL+C för att stanna

Vid denna tidpunkt är LIRC -programmet installerat och vi kan visa IR -information.

Steg 4: Fånga IR -koder

En fjärrprofil kan laddas ner från LIRC: s webbplats

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

och placeras i /etc/lirc/lircd.confg.d, eller så kan en anpassad profil skapas med din egen fjärrkontroll.

Under denna process kommer du att ange namnet på knappen/knappen du spelar in. Endast giltiga namn är tillåtna, så kör följande kommando för att se alla tillgängliga namn

irrecord --list-namespace Exempel: Jag använde namnet KEY_POWER när jag spelade in strömknappen på min fjärrkontroll och KEY_TIME när jag spelade in timerknappen

Om mer än några få tangenter spelas in rekommenderar jag att du dokumenterar de nyckelnamn som används och vilken knapp de mappar till, eftersom det kanske inte finns ett perfekt namn för knappen som spelas in. Detta kommer att göra det lättare att referera i framtiden.

Skapa en fjärrkonfigurationsfil

Skapa en ny fjärrkontrolls konfigurationsfil (med /dev /lirc0)

sudo systemctl stop lircd

cd ~ irrecord -d /dev /lirc0 Om du stöter på ett fel som säger att det inte går att avkoda data eller om något gick fel, tryck på CTRL+C för att avbryta och köra det sista kommandot asirrecord -f -d /dev /lirc0 Detta tvingar posten att köras i råläge och bör tillåta processen att fortsätta

Följ anvisningarna på skärmen. När systemet har initialiserats anger du namnet på fjärrkontrollen du spelar in (den resulterande filen kommer att baseras på detta namn), ange sedan nyckelnamnet du ska spela in och tryck sedan på knappen på fjärrkontrollen medan du pekar på mottagaren tills du uppmanas att ange nästa knappnamn. Upprepa detta steg för varje knapp på fjärrkontrollen som du vill spela in.

Kopiera över dina nya konfigurationsfil (er) till katalogen lircd.conf.d och börja lirc igen

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

sudo systemctl start lircd

Vid denna tidpunkt har fjärrkoder spelats in i en fil.

Steg 5: Hörlursuttag (tillval)

Hörlursuttag (tillval)
Hörlursuttag (tillval)
Hörlursuttag (tillval)
Hörlursuttag (tillval)

För att göra löpande trådar och modifiera Raspberry Pi mer modulär, limmade jag en 1/8 tums hörlursuttag i fodralet och kopplade ledningarna till uttaget. Hörlontrådar med matchande kontakt användes för att ansluta IR -lysdioden, så den här ledningen kunde dras till en oansenlig plats för att peka på IR -mottagaren på den enhet jag ville ansluta, men kunde enkelt kopplas bort från Pi utan att behöva ta bort alla trådar.

Detta är rent valfritt, men har kommit till nytta.

Steg 6: Anslutning av IR -LED (snabb)

Ansluter IR -LED (snabb)
Ansluter IR -LED (snabb)
Ansluter IR -LED (snabb)
Ansluter IR -LED (snabb)
Ansluter IR -LED (snabb)
Ansluter IR -LED (snabb)

Ansluta IR -sändande LED till Raspberry Pi kan göras på flera sätt. Det här steget visar det snabba sättet jag kopplade det på, men som jag fick reda på senare kan överskrida den nuvarande gränsen för Pi -stiften. Hittills har jag inte stött på några problem, men ett mer idealiskt sätt att ansluta beskrivs i nästa steg

Beräkna det motstånd som behövs för din IR -LED. https://ledcalculator.net/ kan hjälpa dig att bestämma rätt motståndsvärde om du har alla specifikationer för din LED. I detta fall är spänningen på stift 22 3,3 volt, LED -spänningsfallet är 1,2 volt, strömvärdet är 20 ma och 1 lysdiod användes, vilket resulterar i ett värde på 110 ohm motstånd som behövs. Jag använde ett enda 100 ohm motstånd.

Obs: Det uppmärksammades senare att maxströmmen för alla stift vid varje given tidpunkt är 16 ma, så denna konfiguration kan överstiga det. En bättre konfiguration med en transistor och 5 volts matning beskrivs i nästa steg, men efter flera veckors körning i denna konfiguration har jag inte stött på några problem än.

Pin 22 på Raspberry Pi kommer att anslutas till anoden på IR -LED, vilket är det längre benet som standard.

Lysdiodens kortare stift ansluts till motståndet och sedan till jordstiftet. Jag klippte av det mesta av tråden på motståndet och lödde det direkt till en jordnål och till jordledningen som gick till lysdioden.

Steg 7: Anslutning av IR -LED (korrekt metod)

Ansluter IR -LED (korrekt metod)
Ansluter IR -LED (korrekt metod)
Ansluter IR -LED (korrekt metod)
Ansluter IR -LED (korrekt metod)

För att korrekt ansluta lysdioden utan att överskrida gränsen för Raspberry Pi, anslut lysdioderna till 5 -voltsmatningen med lämpligt motstånd, anslut katodstiftet till kollektorstiftet på ett 2N2222 -motstånd, anslut transistorns emitterstift till jord, och anslut stift 22 på Pi till ett 1K ohm -motstånd till transistorns basstift. Detta gör att en mycket liten ström från stift 22 kan ansluta lysdioden till jord, vilket slutför kretsen utan att dra över Pi.

I mitt exempel kopplade jag upp 2 IR -lysdioder, så att jag kunde styra både omgivningsbelysning och den elektriska eldstaden.

Steg 8: Testa att skicka IR -kommandon

Testar att skicka IR -kommandon
Testar att skicka IR -kommandon

För att skicka ett IR -kommando används programmet irsend.

Syntax: irsend

Exempel: skicka SEND_ONCE Spectrafire KEY_POWER Detta skickar kommandot strömbrytare från Spectrafire -fjärrkontrollen en gång. Ersätt Spectrafire med vad du än namngav din fjärrkontroll. Upprepa med andra nyckelnamn som används när du spelar in filen.

I detta skede kan du skicka alla kommandon som tidigare spelats in med IR -lysdioden ansluten till Raspberry Pi.

Steg 9: Installera Ha-bridge

För att Echo ska kunna styra vår enhet kommer vi att emulera en Philips Hue-lampa med hjälp av ha-bridge. När det är konfigurerat kommer Echo att kunna upptäcka den här enheten och skicka ström på/av -kommandon till den.

Webbplatsen för ha-bridge beskriver tydligt processen för den nuvarande versionen och rekommenderas starkt att granska.

github.com/bwssytems/ha-bridge

Kopiera och klistra in följande rader i en SSH -session för att installera och konfigurera HA Bridge. (Det kan vara nödvändigt att köra själva den första raden och sedan klistra in de återstående raderna

sudo apt installera -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 /senaste | grep 'browser_' | cut -d / "-f4) mv ha-bridge-*. jar ha-bridge.jar echo [Unit] | sudo tee /etc/systemd/system/habridge.service echo Beskrivning = HA Bridge | sudo tee -a /etc/systemd/system/habridge.service echo Wants = network.target | sudo tee -a /etc/systemd/system/habridge.service echo After = network.target | sudo tee -a/etc /systemd/system/habridge.service echo | sudo tee -a /etc/systemd/system/habridge.service echo [Service] | sudo tee -a /etc/systemd/system/habridge.service echo Type = simple | sudo tee -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 | sudo tee -a /etc/systemd/system/habridge.service echo | sudo tee -a/etc/ systemd/system/hab ridge.service echo [Install] | sudo tee -a /etc/systemd/system/habridge.service echo WantedBy = multi-user.target | sudo tee -a /etc/systemd/system/habridge.service #Reload System Control och start service, inställning för att aktivera vid start sudo systemctl daemon -reload sudo systemctl start habridge.service sudo systemctl aktivera habridge.service

Steg 10: Emulera en Philips Hue -lampa

Efterliknar en Philips Hue -lampa
Efterliknar en Philips Hue -lampa
Efterliknar en Philips Hue -lampa
Efterliknar en Philips Hue -lampa

Med ha-bridge igång, öppna en webbläsare och ange IP-adressen för Raspberry Pi, och gränssnittet för ha-bridge ska visas.

Klicka på länken Lägg till/redigera högst upp på sidan

Namn: Ange det namn du vill använda när du talar kommandon

I avsnittet "På objekt" anger du "Utför kommando/skript/program och anger kommandot i rutan Målobjekt. Om flera kommandon önskas, klicka på knappen Lägg till för att spara den aktuella raden och ange ett annat kommando. Det är Det är också möjligt att ställa in en fördröjning och upprepa ett kommando ett visst antal gånger. I det här fallet behövde man först trycka på strömknappen och sedan trycka på timerknappen tre gånger för att ställa in timern för automatisk avstängning i 3 timmar.

Upprepa samma idé för området "Off Items", klicka på Lägg till när du är klar.

Högst upp på sidan, klicka på "Lägg till Bridge -enhet" för att spara den som ett nytt objekt, eller uppdatera Bridge -enhet om du ändrar en befintlig.

Rikta IR -lysdioden mot enheten. På sidan Bridge -enheter klickar du på knappen Test ON eller Test OFF för att verifiera att den fungerar som önskat.

Steg 11: Ansluter till Amazon Echo

Ansluter till Amazon Echo
Ansluter till Amazon Echo

Det sista steget är att låta Amazon Echo kommunicera med den här enheten. Obs! Båda enheterna måste vara samma nätverk.

Alternativ 1) säg "Alexa, upptäck smarta hemenheter"

Alternativ 2) Öppna Alexa -appen, tryck på Meny> Smart Home och klicka på länken "Upptäck enheter"

Efter några ögonblick bör enheten identifieras.

Tala, "Alexa, slå på eldstaden i sovrummet" och kontrollera att enheten slås på som förväntat. Byt sovrums eldstad mot vad du än heter din enhet i ha-bridge. Upprepa processen för att stänga av enheten.

Om du inte har monterat IR -lysdioden ännu, hitta en oansenlig plats att montera den samtidigt som den kan peka i IR -mottagarens allmänna riktning i enheten. Du kan behöva flytta runt för att peka på olika områden för att hitta den bästa platsen.

Rekommenderad: