Innholdsfortegnelse:

Amazon Echo -kontrollert IR -fjernkontroll: 11 trinn (med bilder)
Amazon Echo -kontrollert IR -fjernkontroll: 11 trinn (med bilder)

Video: Amazon Echo -kontrollert IR -fjernkontroll: 11 trinn (med bilder)

Video: Amazon Echo -kontrollert IR -fjernkontroll: 11 trinn (med bilder)
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, Juli
Anonim
Amazon Echo -kontrollert IR -fjernkontroll
Amazon Echo -kontrollert IR -fjernkontroll

Amazon Echo -systemet kan kontrollere mange aspekter ved et smart hjem, men et smart uttak kan bare slås av og på. Mange enheter slås ikke på umiddelbart ved ganske enkelt å være plugget inn og krever ytterligere trinn, for eksempel å trykke på knappene på en fjernkontroll eller den fysiske enheten for å slå på eller få de ønskede innstillingene.

I denne veiledningen vil en Raspberry Pi Zero W bli konfigurert til å fungere som en smart hjemmeenhet som kan kontrolleres av Amazon Echo, og sende eventuelle ønskede IR -kommandoer til en enhet når du blir bedt om å slå den på eller av.

I dette spesifikke tilfellet vil Pi bli konfigurert til å lære IR -kommandoene til en fjernkontroll utstyrt med en "ClassicFlame 23II310GRA 23" Infrarød kvarts peisinnsats. En IR -LED vil deretter bli brukt til å sende ut IR -kommandoene på forespørsel, og til slutt Pi konfigurert til å etterligne en Philips Hue -enhet som kan kontrolleres av Echo.

Trinn 1: Materialer

Materialer
Materialer

Obligatorisk:

  • Raspberry Pi Zero W
  • 4 GB eller større Micro SDHC Class 10 minnekort (16 GB eksempel)
  • MicroUSB
  • 1 IR LED
  • MicroUSB strømadapter (2,1 ampere eller høyere anbefalt)
  • IR LED
  • IR -mottaker VS/1838B
  • 100 ohm motstand
  • Diverse metalltråd

Anbefalt:

  • Hodetelefonkontakt
  • 1/8 tommers hodetelefon/lydledning
  • 2N2222 NPN Transistor
  • 1k ohm motstand
  • Rapsberry Pi Zero -deksel

For å fullføre den første konfigurasjonen av en Raspberry Pi Zero W, vil det være nødvendig med noen ekstra eksterne enheter, men vil ikke være i bruk på heltid av det ferdige prosjektet

  • Mini HDMI til HDMI -adapter: Brukes til å koble Pi Zero W til en TV eller skjerm med en HDMI -kabel i full størrelse
  • USB OTG-kabel: Brukes til å konvertere fra mikro-USB til USB-port i full størrelse for tilkobling av tastatur og/eller mus
  • HDMI -kabel: Brukes til å koble til TV eller skjerm sammen med en adapter til mini HDMI

De to første elementene, samt etui er inkludert forskjellige Pi Zero -startpakker, for eksempel: MakerSpot Mega Kit

Trinn 2: Sett opp Raspberry Pi

Raspberry Pi -nettstedet har en utmerket gjennomgang for å sette opp Raspbian Stretch OS på en Raspberry Pi. Jeg anbefaler Lite -versjonen for et mindre fotavtrykk hvis dette bare er prosjekt som kjører på Pi. Hvis du ønsker å ha flere operativsystemalternativer i fremtiden, eller et enklere oppsett, vil du følge instruksjonene for NOOBS på kort tid. Denne guiden er basert på Raspbian, som er inkludert i NOOBS

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

Når Raspbian kjører, aktiver SSH for å tillate eksterne tilkoblinger til enheten uten at en skjerm/tastatur/mus må kobles direkte til Pi. Hvis du ønsker å ha ekstern tilgang til GUI, kan du også aktivere VNC -tilgang

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

Det anbefales også på det sterkeste at du angir en statisk IP på konfigurasjonen for det trådløse nettverket, slik at den ikke endres over tid. Det er mulig IP -en ikke kan endres hvis nye enheter ikke er regelmessig koblet til det trådløse nettverket, men hvis du konfigurerer den som statisk, vil den sikre at den ikke gjør det.

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

Trinn 3: Konfigurering av LIRC

Konfigurering av LIRC
Konfigurering av LIRC
Konfigurering av LIRC
Konfigurering av LIRC
Konfigurering av LIRC
Konfigurering av LIRC
Konfigurering av LIRC
Konfigurering av LIRC

Følgende trinn er sterkt basert på de utmerkede guidene som finnes her:

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

Denne guiden er basert på Rasbian Stretch og lirc 0.9.4c-9 Andre guider kan være basert på tidligere versjoner av og nevne en hardware.conf-fil som ikke lenger er nødvendig med denne versjonen og nyere. Jeg har også funnet ut at det ikke lenger er nødvendig på systemene mine å endre /etc /modules -filen På dette tidspunktet vil det være behov for ytterligere endringer for kjerneversjon 4.19 som ikke er dokumentert her for øyeblikket. Sørg for at du er på 4.14 for dette settet med instruksjoner

Linux Infrared Remote Control (LIRC) -biblioteket brukes til å håndtere mottak av IR -kommandoer gjennom mottakermodulen, lagre dem i en fil og deretter sende kommandoene når det er ønskelig via IR -LED.

Det første trinnet er å registrere IR -signalene fra vår eksisterende fjernkontroll ved hjelp av IR -mottakeren og lagre dem i en fil. IR -mottakeren er først nødvendig for å lære IR -signalene og kan deretter fjernes, så en midlertidig tilkobling kan brukes.

Koble IR -mottakeren til Raspberry Pi. Bruk det vedlagte bildet til å identifisere VCC-, GND- og signalpinnene. Ved hjelp av et brødbrett, tilkoblingskabler eller kreativ bøying av pinnene til følgende tilkoblinger

VCC kobles til 5 volt pinGND til en jordet pin Signal til Pin 23

Slå på og koble til Raspberry Pi gjennom enten ved å åpne terminalen på den lokale enheten, eller opprette en SSH -tilkobling ved hjelp av et program som Putty for Windows.

Følgende linjer kan kopieres og limes inn i SSH -økten. De vil legge til/endre linjer til forskjellige konfigurasjonsfiler som kreves for at lirc skal fungere.

sudo apt oppdatering

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 nå

Vent til enheten starter på nytt og logg på igjen.

Valgfritt: Test IR -mottaker

Monter LIRC -enheten for å bekrefte at alle innganger kan mottas. Du må kanskje starte Pi på nytt etter at denne testen er fullført for å gjøre den tilgjengelig for senere trinn.

sudo systemctl stopp lircd

modus2 -d /dev /lirc0Rett en IR -fjernkontroll mot mottakeren, og trykk på en knapp og sørg for at data vises på skjermen CTRL+C for å stå

På dette tidspunktet er LIRC -programmet installert, og vi kan se IR -informasjon.

Trinn 4: Fange IR -koder

En ekstern profil kan lastes ned fra LIRC -nettstedet

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

og plassert i /etc/lirc/lircd.confg.d, eller en tilpasset profil kan opprettes med din egen fjernkontroll.

Under denne prosessen vil du skrive inn navnet på tasten/knappen du spiller inn. Bare gyldige navn er tillatt, så kjør følgende kommando for å se alle tilgjengelige navn

irrecord --list-namespace Eksempel: Jeg brukte navnet KEY_POWER da jeg spilte inn strømknappen på fjernkontrollen og KEY_TIME da jeg spilte inn timer -knappen

Hvis det spilles inn mer enn noen få taster, anbefaler jeg å dokumentere nøkkelnavnene som brukes og hvilken knapp de kartlegger, ettersom det kanskje ikke er et perfekt navn på knappen som spilles inn. Dette vil gjøre det lettere å referere i fremtiden.

Generer en ekstern konfigurasjonsfil

Lag en ny fjernkontrollkonfigurasjonsfil (ved hjelp av /dev /lirc0)

sudo systemctl stopp lircd

cd ~ irrecord -d /dev /lirc0 Hvis du støter på en feil som sier at du ikke kan dekode data eller noe gikk galt, trykker du CTRL+C for å avbryte og kjøre den siste kommandoen asirrecord -f -d /dev /lirc0. Dette tvinger posten til å kjøre i råmodus og bør tillate at prosessen fortsette

Følg instruksjonene på skjermen. Når systemet er initialisert, skriver du inn navnet på fjernkontrollen du tar opp (den resulterende filen vil være basert på dette navnet), angir deretter tastenavnet du skal spille inn, og trykker deretter på knappen på fjernkontrollen mens du peker den på mottakeren til du blir bedt om det neste knappens navn. Gjenta dette trinnet for hver knapp på fjernkontrollen du vil ta opp.

Kopier over de nye konfigurasjonsfilene til mappen lircd.conf.d og start lirc igjen

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

sudo systemctl start lircd

På dette tidspunktet er eksterne koder registrert i en fil.

Trinn 5: Hodetelefonkontakt (valgfritt)

Hodetelefonkontakt (valgfritt)
Hodetelefonkontakt (valgfritt)
Hodetelefonkontakt (valgfritt)
Hodetelefonkontakt (valgfritt)

For å gjøre løpende ledninger og endre Raspberry Pi mer modulær, limte jeg en 1/8 tommers hodetelefon lydkontakt til saken og koblet ledninger til kontakten. Hodetelefonkabler med matchende plugg ble brukt til å koble til IR -LED, slik at denne ledningen kunne føres til et upåfallende sted for å peke på IR -mottakeren til enheten jeg ønsket å koble til, men kan lett kobles fra Pi uten å måtte fjerne alle ledningene.

Dette er rent valgfritt, men har kommet godt med.

Trinn 6: Koble til IR LED (Quick)

Koble til IR LED (Quick)
Koble til IR LED (Quick)
Koble til IR -LED (hurtig)
Koble til IR -LED (hurtig)
Koble til IR -LED (hurtig)
Koble til IR -LED (hurtig)

Koble IR -lysdioden til Raspberry Pi kan gjøres på flere måter. Dette trinnet viser den raske måten jeg koblet den på, men som jeg fant ut senere kan overskride gjeldende grense på Pi -pinnene. Så langt har jeg ikke støtt på noen problemer, men en mer ideell måte å koble til er beskrevet i neste trinn

Beregn motstanden som trengs for IR -LED -en. https://ledcalculator.net/ kan hjelpe deg med å bestemme riktig motstandsverdi hvis du har alle spesifikasjonene til din LED. I dette tilfellet er spenningen til pinne 22 3,3 volt, LED -spenningsfallet er 1,2 volt, strømstyrken er 20 ma, og 1 LED ble brukt, noe som resulterte i en verdi på 110 ohm motstand som trengs. Jeg brukte en enkelt 100 ohm motstand.

Merk: Det ble senere gjort meg oppmerksom på at maksimal strøm for alle pinner til enhver tid er 16 ma, så denne konfigurasjonen kan overstige det. En bedre konfigurasjon med en transistor og 5 volt forsyning er beskrevet i neste trinn, men etter flere ukers drift i denne konfigurasjonen har jeg ikke støtt på noen problemer ennå.

Pin 22 på Raspberry Pi vil være koblet til anoden til IR LED, som er det lengre benet som standard.

Den kortere pinnen på LED -en kobles til motstanden og deretter til bakkenålen. Jeg kuttet av det meste av ledningen på motstanden og loddet den direkte til en jordet pinne og til jordledningen som gikk til lysdioden.

Trinn 7: Koble til IR LED (riktig metode)

Koble til IR -LED (riktig metode)
Koble til IR -LED (riktig metode)
Koble til IR -LED (riktig metode)
Koble til IR -LED (riktig metode)

For å koble lysdioden på riktig måte uten å overskride trekkgrensen for Raspberry Pi, koble lysdiodene til 5 volt forsyningen med passende motstand, koble katodestiften til kollektorpinnen på en 2N2222 motstand, koble senderens pin til jord, og koble pinne 22 på Pi til en 1K ohm motstand til basistappen på transistoren. Dette tillater en veldig liten strøm fra pin 22 å koble LED -en til jord, og fullføre kretsen uten å tegne Pi over.

I mitt eksempel koblet jeg til 2 IR -lysdioder, slik at jeg kunne kontrollere omgivelsesbelysning så vel som den elektriske peisen.

Trinn 8: Testing av sending av IR -kommandoer

Testing av sending av IR -kommandoer
Testing av sending av IR -kommandoer

For å sende en IR -kommando, brukes programmet irsend.

Syntaks: irsend

Eksempel: irsend SEND_ONCE Spectrafire KEY_POWER Dette sender strømknappkommandoen fra Spectrafire -fjernkontrollen en gang. Erstatt Spectrafire med det du kalte fjernkontrollen. Gjenta med andre nøkkelnavn som brukes når du tar opp filen.

På dette stadiet kan du sende alle kommandoer som tidligere er registrert ved hjelp av IR -LED -en som er koblet til Raspberry Pi.

Trinn 9: Installere Ha-bridge

For at Echo skal kunne kontrollere enheten vår, vil vi etterligne en Philips Hue-pære ved hjelp av ha-bridge. Når den er konfigurert, vil Echo kunne oppdage denne enheten og sende strøm på/av -kommandoer til den.

Nettstedet for ha-bridge beskriver tydelig prosessen for den nåværende versjonen og anbefales sterkt å gå gjennom.

github.com/bwssytems/ha-bridge

Kopier og lim inn følgende linjer i en SSH -økt for å installere og konfigurere HA Bridge. (Det kan være nødvendig å kjøre selve den første linjen, og deretter lime inn de resterende linjene

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 /siste | grep 'browser_' | cut -d / "-f4) mv ha-bridge-*. jar ha-bridge.jar echo [Unit] | sudo tee /etc/systemd/system/habridge.service echo Beskrivelse = 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 [Installer] | sudo tee -a /etc/systemd/system/habridge.service echo WantedBy = multi-user.target | sudo tee -a /etc/systemd/system/habridge.service #Reload System Control og start service, innstilling for å aktivere ved oppstart sudo systemctl daemon -reload sudo systemctl start habridge.service sudo systemctl enable habridge.service

Trinn 10: Emulering av en Philips Hue -pære

Etterligner en Philips Hue -pære
Etterligner en Philips Hue -pære
Etterligner en Philips Hue -pære
Etterligner en Philips Hue -pære

Når ha-bridge kjører, åpner du en nettleser og angir IP-adressen til Raspberry Pi, og grensesnittet for ha-bridge skal vises.

Klikk på Legg til/rediger -koblingen øverst på siden

Navn: Skriv inn navnet du vil bruke når du snakker kommandoer

I delen merket "På elementer" angir du typen "Utfør kommando/skript/program og angir kommandoen i boksen Målelement. Hvis du ønsker flere kommandoer, klikker du på Legg til -knappen for å lagre gjeldende linje og angi en annen kommando. Det er Det er også mulig å angi en forsinkelse og gjenta en kommando et visst antall ganger. I dette tilfellet måtte strømknappen trykkes først, deretter trykkes timeren på knappen 3 ganger for å stille inn timer for automatisk avstengning i 3 timer.

Gjenta den samme ideen for "Off Items" -området, klikk på Legg til når du er ferdig.

Klikk på "Legg til Bridge -enhet" øverst på siden for å lagre den som et nytt element, eller Oppdater Bridge -enhet hvis du endrer en eksisterende.

Rett IR -LED -en mot enheten. På siden Bridge Devices klikker du Test ON eller Test OFF -knappen for å bekrefte at den fungerer som ønsket.

Trinn 11: Koble til Amazon Echo

Koble til Amazon Echo
Koble til Amazon Echo

Det siste trinnet er å la Amazon Echo kommunisere med denne enheten. Merk: Begge enhetene må være det samme nettverket.

Alternativ 1) si "Alexa, oppdag smarte hjemmeapparater"

Alternativ 2) Åpne Alexa -appen, trykk på Meny> Smarthjem og klikk på lenken "Oppdag enheter"

Etter et øyeblikk skal enheten gjenkjennes.

Snakk, "Alexa, slå på peisen på soverommet" og kontroller at enheten slås på som forventet. Erstatt Soverom Peis med det du heter enheten din i ha-bridge. Gjenta prosessen for å slå av enheten.

Hvis du ikke har montert IR -lysdioden ennå, finner du et lite iøynefallende sted å montere den mens du lar den peke i den generelle retningen til IR -mottakeren i enheten. Du må kanskje flytte den rundt for å peke på forskjellige områder for å finne den beste plasseringen.

Anbefalt: