Indholdsfortegnelse:

Amazon Echo -kontrolleret IR -fjernbetjening: 11 trin (med billeder)
Amazon Echo -kontrolleret IR -fjernbetjening: 11 trin (med billeder)

Video: Amazon Echo -kontrolleret IR -fjernbetjening: 11 trin (med billeder)

Video: Amazon Echo -kontrolleret IR -fjernbetjening: 11 trin (med billeder)
Video: Zigbee lys-, temperatur- og fugtighedssensor med Moes e-ink-skærm 2024, Juli
Anonim
Amazon Echo -kontrolleret IR -fjernbetjening
Amazon Echo -kontrolleret IR -fjernbetjening

Amazon Echo -systemet kan styre mange aspekter af et smart hjem, men et smart stikkontakt kan kun slukke og tænde. Mange enheder tændes ikke øjeblikkeligt ved simpel at være tilsluttet og kræver yderligere trin, f.eks. At trykke på knapper på en fjernbetjening eller den fysiske enhed for at tænde eller få de ønskede indstillinger.

I denne vejledning vil en Raspberry Pi Zero W blive konfigureret til at fungere som en smart hjem -enhed, der kan styres af Amazon Echo og sende eventuelle ønskede IR -kommandoer til en enhed, når den bliver bedt om at tænde eller slukke.

I dette specifikke tilfælde vil Pi blive konfigureret til at lære IR -kommandoerne på en fjernbetjening, der er forsynet med en "ClassicFlame 23II310GRA 23" Infrarød kvarts pejsindsats. En IR -LED vil derefter blive brugt til at sende IR -kommandoer efter behov, og endelig Pi'en er konfigureret til at efterligne en Philips Hue -enhed, der kan styres af Echo.

Trin 1: Materialer

Materialer
Materialer

Påkrævet:

  • Raspberry Pi Zero W
  • 4 GB eller større Micro SDHC Class 10 hukommelseskort (16 GB eksempel)
  • MicroUSB
  • 1 IR LED
  • MicroUSB -strømadapter (2,1 ampere eller højere anbefales)
  • IR LED
  • IR -modtager VS/1838B
  • 100 ohm modstand
  • Diverse tråd

Anbefalede:

  • Hovedtelefonstik
  • 1/8 tommer hovedtelefon/lydledning
  • 2N2222 NPN Transistor
  • 1k ohm modstand
  • Rapsberry Pi Zero -etui

For at fuldføre den indledende konfiguration af en Raspberry Pi Zero W, kræves et par ekstra perifere enheder, men vil ikke være i brug på fuld tid af det afsluttede projekt

  • Mini HDMI til HDMI -adapter: Bruges til at slutte Pi Zero W til et tv eller en skærm med et HDMI -kabel i fuld størrelse
  • USB OTG-kabel: Bruges til at konvertere fra mikro-USB til USB-port i fuld størrelse til tilslutning af et tastatur og/eller mus
  • HDMI -kabel: Bruges til at forbinde til tv eller skærm sammen med en adapter til mini HDMI

De to første ting samt en kuffert indeholder forskellige Pi Zero -startsæt, såsom: MakerSpot Mega Kit

Trin 2: Konfigurer Raspberry Pi

Raspberry Pi -webstedet har en glimrende vejledning til opsætning af Raspbian Stretch OS på en Raspberry Pi. Jeg anbefaler Lite -versionen til et mindre fodaftryk, hvis dette kun er et projekt, der kører på Pi. Hvis du ønsker at have flere operativsystemmuligheder i fremtiden eller en mere enkel opsætning, vil du følge instruktionerne for NOOBS hurtigt og hurtigt. Denne vejledning er baseret på Raspbian, som er inkluderet i NOOBS

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

Når Raspbian kører, skal du aktivere SSH for at tillade fjernforbindelser til enheden uden at en skærm/tastatur/mus skal tilsluttes direkte til Pi. Hvis du gerne vil have fjernadgang til GUI'en, kan du også aktivere VNC -adgang

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

Det anbefales også stærkt, at du indstiller en statisk IP på den trådløse netværkskonfiguration, så den ikke ændres over tid. Det er muligt, at IP'en muligvis ikke ændres, hvis nye enheder ikke regelmæssigt er forbundet til det trådløse netværk, men at konfigurere den som statisk vil sikre, at den ikke gør det.

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

Trin 3: Konfiguration af LIRC

Konfiguration af LIRC
Konfiguration af LIRC
Konfiguration af LIRC
Konfiguration af LIRC
Konfiguration af LIRC
Konfiguration af LIRC
Konfiguration af LIRC
Konfiguration af LIRC

Følgende trin er stærkt baseret på de fremragende guider, der findes 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-hindbær-pi-zero-w

Denne vejledning er baseret på Rasbian Stretch og lirc 0.9.4c-9 Andre guider kan være baseret på tidligere versioner af og nævne en hardware.conf-fil, der ikke længere er nødvendig med denne version og højere. Jeg har også fundet ud af, at det ikke længere er nødvendigt på mine systemer at ændre filen /etc /modules På nuværende tidspunkt er der behov for yderligere ændringer for kerneversion 4.19, der ikke er dokumenteret her i øjeblikket. Sørg for, at du er på 4.14 for dette sæt instruktioner

Linux Infrared Remote Control (LIRC) biblioteket bruges til at håndtere modtagelse af IR -kommandoer via modtagermodulet, gemme dem i en fil og derefter sende kommandoerne, når det ønskes via IR -LED'en.

Det første trin er at registrere IR -signalerne fra vores eksisterende fjernbetjening ved hjælp af IR -modtageren og gemme dem i en fil. IR -modtageren er kun nødvendig i første omgang for at lære IR -signalerne og kan derefter fjernes, så en midlertidig forbindelse kan bruges.

Tilslut IR -modtageren til Raspberry Pi. Brug det vedhæftede billede til at identificere VCC-, GND- og signalstifterne. Ved hjælp af et brødbræt, tilslutningstråde eller kreativ bøjning af stifterne til følgende forbindelser

VCC tilsluttes 5 volt pinGND til en jordstift Pin til Pin 23

Tænd for og opret forbindelse til Raspberry Pi enten ved at åbne terminalen på den lokale enhed eller oprette en SSH -forbindelse ved hjælp af et program som Putty til Windows.

Følgende linjer kan kopieres og indsættes i SSH -sessionen. De tilføjer/ændrer linjer til forskellige konfigurationsfiler, der er nødvendige for, at lirc kan fungere.

sudo apt opdatering

sudo apt installere -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 nu

Vent på, at enheden genstarter, og log ind igen.

Valgfrit: Test IR -modtager

Monter LIRC -enheden for at bekræfte, at alle input kan modtages. Du skal muligvis genstarte Pi efter denne test er gennemført for at gøre den tilgængelig til senere trin.

sudo systemctl stop lircd

mode2 -d /dev /lirc0Ret en IR -fjernbetjening mod modtageren, og tryk på en knap, og sørg for, at data vises på skærmenCTRL+C for at sto

På dette tidspunkt er LIRC -programmet installeret, og vi kan se IR -oplysninger.

Trin 4: Optagelse af IR -koder

En fjernprofil kan downloades fra LIRC -webstedet

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

og placeres i /etc/lirc/lircd.confg.d, eller en brugerdefineret profil kan oprettes med din egen fjernbetjening.

Under denne proces indtaster du navnet på den tast/knap, du optager. Kun gyldige navne er tilladt, så kør følgende kommando for at se alle tilgængelige navne

irrecord --list-navneområde Eksempel: Jeg brugte navnet KEY_POWER, da jeg optog tænd / sluk -knappen på min fjernbetjening og KEY_TIME, når jeg optog timerknappen

Hvis der registreres mere end et par taster, anbefaler jeg at dokumentere de anvendte nøglenavne, og hvilken knap de knytter dem til, da der muligvis ikke er et perfekt navn til den knap, der optages. Dette vil gøre det lettere at referere i fremtiden.

Opret en fjernkonfigurationsfil

Opret en ny fjernbetjeningskonfigurationsfil (ved hjælp af /dev /lirc0)

sudo systemctl stop lircd

cd ~ irrecord -d /dev /lirc0 Hvis du støder på en fejlmeddelelse om, at data ikke er i stand til at afkode, eller noget gik galt, skal du trykke på CTRL+C for at annullere og køre den sidste kommando, da asirrecord -f -d /dev /lirc0dette tvinger posten til at køre i rå tilstand og skal tillade processen at fortsætte

Følg anvisningerne på skærmen. Når systemet er initialiseret, skal du indtaste navnet på den fjernbetjening, du optager (den resulterende fil vil være baseret på dette navn), derefter indtaste det nøglenavn, du vil optage, og derefter trykke på knappen på fjernbetjeningen, mens du peger på modtageren, indtil du bliver bedt om det næste knapnavn. Gentag dette trin for hver knap på den fjernbetjening, du vil optage.

Kopiér dine nye konfigurationsfil (er) til biblioteket lircd.conf.d, og start lirc igen

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

sudo systemctl start lircd

På dette tidspunkt er fjernkoder blevet registreret i en fil.

Trin 5: Hovedtelefonstik (valgfrit)

Hovedtelefonstik (valgfrit)
Hovedtelefonstik (valgfrit)
Hovedtelefonstik (valgfrit)
Hovedtelefonstik (valgfrit)

For at gøre kørende ledninger og ændre Raspberry Pi mere modulær, limede jeg et 1/8 tommer hovedtelefonlydstik til sagen og tilsluttede ledninger til stikket. Hovedtelefonledninger med matchende stik blev brugt til at tilslutte IR -LED'en, så denne ledning kunne føres til et iøjnefaldende sted for at pege på IR -modtageren på den enhed, jeg ønskede at tilslutte, men kunne let kobles fra Pi'en uden at skulle fjerne alle ledninger.

Dette er rent valgfrit, men er kommet til nytte.

Trin 6: Tilslutning af IR -LED (hurtig)

Tilslutning af IR -LED (hurtig)
Tilslutning af IR -LED (hurtig)
Tilslutning af IR -LED (hurtig)
Tilslutning af IR -LED (hurtig)
Tilslutning af IR -LED (hurtig)
Tilslutning af IR -LED (hurtig)

Tilslutning af IR -emitterende LED til Raspberry Pi kan gøres på flere måder. Dette trin viser den hurtige måde, jeg tilsluttede det, men som jeg fandt ud af senere, kan overstige den nuværende grænse for Pi's pins. Indtil videre er jeg ikke stødt på problemer, men en mere ideel måde at oprette forbindelse på er beskrevet i det næste trin

Beregn den modstand, der er nødvendig for din IR LED. https://ledcalculator.net/ kan hjælpe med at bestemme den korrekte modstandsværdi, hvis du har alle specifikationer for din LED. I dette tilfælde er spændingen på pin 22 3,3 volt, LED -spændingsfaldet er 1,2 volt, strømværdien er 20 ma, og 1 LED blev brugt, hvilket resulterede i en værdi på 110 ohm modstand, der er nødvendig. Jeg brugte en enkelt 100 ohm modstand.

Bemærk: Det blev senere gjort opmærksom på mig, at den maksimale strøm for alle stifter til enhver tid er 16 ma, så denne konfiguration kan overstige det. En bedre konfiguration med en transistor og 5 volt forsyning er beskrevet i det næste trin, men efter flere ugers kørsel i denne konfiguration har jeg ikke stødt på nogen problemer endnu.

Pin 22 på Raspberry Pi vil blive forbundet til anoden på IR LED, som som standard er det længere ben.

LED'ens kortere pin forbinder til modstanden og derefter til jordstiftet. Jeg skar det meste af ledningen af modstanden af og lodde den direkte til en jordstift og til jordledningen, der gik til LED'en.

Trin 7: Tilslutning af IR LED (korrekt metode)

Tilslutning af IR -LED (korrekt metode)
Tilslutning af IR -LED (korrekt metode)
Tilslutning af IR -LED (korrekt metode)
Tilslutning af IR -LED (korrekt metode)

For korrekt tilslutning af LED'en uden at overskride Raspberry Pi's trækgrænse skal lysdioderne tilsluttes 5 volt forsyningen med den passende modstand, tilslutte katodestiften til kollektorstiften på en 2N2222 modstand, tilslut transistorens emitterstift til jord, og tilslut pin 22 på Pi til en 1K ohm modstand til basistappen på transistoren. Dette tillader en meget lille strøm fra pin 22 at forbinde LED'en til jorden, hvilket fuldender kredsløbet uden at tegne Pi for meget.

I mit eksempel tilsluttede jeg 2 IR -lysdioder, så jeg kunne styre omgivelsesbelysning samt den elektriske pejs.

Trin 8: Test af afsendelse af IR -kommandoer

Test af afsendelse af IR -kommandoer
Test af afsendelse af IR -kommandoer

For at sende en IR -kommando bruges programmet irsend.

Syntaks: irsend

Eksempel: irsend SEND_ONCE Spectrafire KEY_POWER Dette sender kommandoen tænd / sluk -knap fra Spectrafire -fjernbetjeningen én gang. Udskift Spectrafire med det, du har navngivet din fjernbetjening. Gentag med andre nøglenavne, der bruges, når du optager filen.

På dette tidspunkt kan du sende alle kommandoer, der tidligere er optaget ved hjælp af IR -LED'en, der er tilsluttet Raspberry Pi.

Trin 9: Installation af Ha-bridge

For at give ekkoet mulighed for at styre vores enhed vil vi efterligne en Philips Hue-pære ved hjælp af ha-bridge. Når den er konfigureret, vil Echo være i stand til at registrere denne enhed og sende tænd/sluk -kommandoer til den.

Hjemmesiden til ha-bridge beskriver tydeligt processen for den nuværende version og kan varmt anbefales at gennemgå.

github.com/bwssytems/ha-bridge

Kopier og indsæt følgende linjer i en SSH -session for at installere og konfigurere HA Bridge. (Det kan være nødvendigt at køre selve den første linje og derefter indsætte de resterende linjer

sudo apt installere -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 /seneste | 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, indstilling til at aktivere ved opstart sudo systemctl daemon -reload sudo systemctl start habridge.service sudo systemctl aktivere habridge.service

Trin 10: Emulering af en Philips Hue -pære

Efterligner en Philips Hue -pære
Efterligner en Philips Hue -pære
Efterligner en Philips Hue -pære
Efterligner en Philips Hue -pære

Når ha-bridge kører, skal du åbne en webbrowser og indtaste IP-adressen på Raspberry Pi, og grænsefladen til ha-bridge skal vises.

Klik på linket Tilføj/rediger øverst på siden

Navn: Indtast det navn, du vil bruge, når du taler kommandoer

I sektionen mærket "On Items" skal du angive typen "Udfør kommando/script/program, og indtast kommandoen i boksen Målelement. Hvis der ønskes flere kommandoer, skal du klikke på knappen Tilføj for at gemme den aktuelle linje og indtaste en anden kommando. Det er også muligt at indstille en forsinkelse og gentage en kommando et bestemt antal gange. I dette tilfælde skulle der først trykkes på tænd / sluk-knappen, derefter blev der trykket på knappen Timer 3 gange for at indstille timeren til automatisk slukning i 3 timer.

Gentag den samme idé for området "Off Items", og klik på Tilføj, når du er færdig.

Øverst på siden skal du klikke på "Tilføj broenhed" for at gemme den som et nyt element eller Opdater Bridge -enhed, hvis du ændrer en eksisterende.

Ret IR -LED'en mod enheden. På siden Bridge Devices skal du klikke på knappen Test ON eller Test OFF for at kontrollere, at den fungerer som ønsket.

Trin 11: Tilslutning til Amazon Echo

Opretter forbindelse til Amazon Echo
Opretter forbindelse til Amazon Echo

Det sidste trin er at give Amazon Echo mulighed for at kommunikere med denne enhed. Bemærk: Begge enheder skal være det samme netværk.

Mulighed 1) sig "Alexa, opdag smart home -enheder"

Mulighed 2) Åbn Alexa -appen, tryk på Menu> Smart Home, og klik på linket "Discover Devices"

Efter et øjeblik skal enheden genkendes.

Tal: "Alexa, tænd for pejsen i soveværelset", og kontroller, at enheden tændes som forventet. Udskift soveværelse pejs med hvad du end navngiver din enhed i ha-bridge. Gentag processen for at slukke for enheden.

Hvis du ikke har monteret IR -LED'en endnu, skal du finde et iøjnefaldende sted at montere den, mens den kan pege i den generelle retning af IR -modtageren i enheden. Du skal muligvis flytte den rundt for at pege på forskellige områder for at finde den bedste placering.

Anbefalede: