INHOUDSOPGAWE:

Amazon Echo -beheerde IR -afstandsbediening: 11 stappe (met foto's)
Amazon Echo -beheerde IR -afstandsbediening: 11 stappe (met foto's)

Video: Amazon Echo -beheerde IR -afstandsbediening: 11 stappe (met foto's)

Video: Amazon Echo -beheerde IR -afstandsbediening: 11 stappe (met foto's)
Video: Beginnersgids voor Amazon Echo 2024, Julie
Anonim
Amazon Echo -beheerde IR -afstandsbediening
Amazon Echo -beheerde IR -afstandsbediening

Die Amazon Echo -stelsel kan baie aspekte van 'n slim huis beheer, maar 'n slim uitlaat kan net aan en aan skakel. Baie toestelle word nie onmiddellik aangeskakel deur eenvoudig aan te sluit nie en benodig ekstra stappe, soos om op die knoppies op 'n afstandsbediening of op die fisiese toestel te druk om aan te skakel of die gewenste instellings te kry.

In hierdie gids word 'n Raspberry Pi Zero W gekonfigureer om op te tree as 'n slim huistoestel wat deur Amazon Echo beheer kan word en die gewenste IR -opdragte na 'n toestel kan stuur wanneer dit versoek word om aan of uit te skakel.

In hierdie spesifieke geval sal die Pi gekonfigureer word om die IR -opdragte van 'n afstandsbediening te leer wat voorsien is van 'n "ClassicFlame 23II310GRA 23" Infrarooi kwarts -kaggel -insetsel. 'N IR -LED sal dan gebruik word om die IR -opdragte op aanvraag uit te stuur, en uiteindelik die Pi is gekonfigureer om 'n Philips Hue -toestel na te boots wat deur Echo beheer kan word.

Stap 1: materiaal

Materiaal
Materiaal

Vereis:

  • Framboos Pi Zero W
  • 4 GB of meer Micro SDHC klas 10 geheue kaart (16 GB voorbeeld)
  • MicroUSB
  • 1 IR LED
  • MicroUSB -kragadapter (2,1 ampère of hoër aanbeveel)
  • IR LED
  • IR Ontvanger VS/1838B
  • 100 ohm weerstand
  • Diverse draad

Aanbeveel:

  • Koptelefoonaansluiting
  • 1/8 duim koptelefoon/klankdraad
  • 2N2222 NPN Transistor
  • 1k ohm weerstand
  • Rapsberry Pi Zero Case

Om die aanvanklike konfigurasie van 'n Raspberry Pi Zero W te voltooi, is 'n paar ekstra randapparatuur nodig, maar dit sal nie voltyds in gebruik wees vir die voltooide projek nie

  • Mini HDMI na HDMI -adapter: word gebruik om Pi Zero W aan 'n TV of monitor te koppel met 'n volledige HDMI -kabel
  • USB OTG-kabel: word gebruik om van mikro-USB na volgrootte USB-poort (e) om te skakel vir die koppeling van 'n sleutelbord en/of muis
  • HDMI -kabel: word gebruik om aan te sluit op 'n TV of monitor, sowel as 'n adapter vir mini -HDMI

Die eerste twee items, sowel as 'n omhulsel, bevat verskeie Pi Zero -aansitstelle, soos: MakerSpot Mega Kit

Stap 2: Stel Raspberry Pi op

Die Raspberry Pi -webwerf het 'n uitstekende deurloop vir die opstel van Raspbian Stretch OS op 'n Raspberry Pi. Ek beveel die Lite -weergawe aan vir 'n kleiner voetspoor as dit slegs 'n projek op die Pi is. As u in die toekoms meer bedryfstelselopsies wil hê, of 'n eenvoudiger opstelling, sal u binne 'n kort tydjie aan die gang kan bly met die instruksies vir NOOBS. Hierdie gids is gebaseer op Raspbian, wat by NOOBS ingesluit is

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

Sodra Raspbian aan die gang is, aktiveer SSH om eksterne verbindings met die toestel toe te laat sonder dat 'n monitor/sleutelbord/muis direk aan die Pi gekoppel moet word. As u opsioneel toegang tot die GUI wil hê, kan u ook VNC -toegang aktiveer

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

Dit word ook sterk aanbeveel dat u 'n statiese IP op die draadlose netwerkopstelling stel, sodat dit nie mettertyd verander nie. Dit is moontlik dat die IP moontlik nie verander as nuwe toestelle nie gereeld aan die draadlose netwerk gekoppel is nie, maar as u dit as staties opstel, verseker u dit nie.

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

Stap 3: LIRC instel

Stel LIRC op
Stel LIRC op
Stel LIRC op
Stel LIRC op
Stel LIRC op
Stel LIRC op
Stel LIRC op
Stel LIRC op

Die volgende stappe is sterk gebaseer op die uitstekende gidse wat hier gevind word:

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

Hierdie gids is gebaseer op Rasbian Stretch en lirc 0.9.4c-9 Ander gidse is moontlik gebaseer op vorige weergawes van en noem 'n hardware.conf-lêer wat nie meer nodig is met hierdie weergawe en hoër nie. Ek het ook gevind dat dit nie meer op my stelsels nodig is om die /etc /modules -lêer aan te pas nie. Op die oomblik is daar addisionele veranderinge nodig vir kernweergawe 4.19 wat tans nie hier gedokumenteer is nie. Maak seker dat u op 4.14 is vir hierdie stel instruksies

Die Linux Infrared Remote Control (LIRC) biblioteek word gebruik om die ontvangs van IR -opdragte deur die ontvangermodule te hanteer, dit in 'n lêer te stoor en dan die opdragte deur die IR -LED te stuur.

Die eerste stap is om die IR -seine van ons bestaande afstandsbediening op te neem met behulp van die IR -ontvanger en dit in 'n lêer te stoor. Die IR -ontvanger is slegs aanvanklik nodig om die IR -seine te leer en kan dan verwyder word, sodat 'n tydelike verbinding gebruik kan word.

Koppel die IR -ontvanger aan die Raspberry Pi. Gebruik die aangehegte prentjie om die VCC-, GND- en seinpenne te identifiseer. Gebruik 'n broodbord, aansluitdrade of kreatiewe buiging van die penne na die volgende verbindings

VCC sluit aan op 5 volt pinGND met 'n grondpen Signal aan Pin 23

Skakel aan en maak verbinding met die Raspberry Pi deur óf deur die terminale op die plaaslike toestel oop te maak, óf om 'n SSH -verbinding te maak met behulp van 'n program soos Putty for Windows.

Die volgende reëls kan in die SSH -sessie gekopieer en geplak word. Hulle sal lyne byvoeg/verander by verskillende konfigurasielêers wat nodig is vir lirc om te werk.

sudo apt -opdatering

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 nou

Wag totdat die toestel herlaai en weer aanmeld.

Opsioneel: toets IR -ontvanger

Monteer die LIRC -toestel om te bevestig dat enige insette ontvang kan word. Miskien moet u die Pi herlaai nadat hierdie toets voltooi is om dit beskikbaar te stel vir latere stappe.

sudo systemctl stop lircd

mode2 -d /dev /lirc0Rig 'n IR -afstandsbediening op die ontvanger en druk op 'n knoppie en maak seker dat data op die skerm verskyn CTRL+C om te stop

Op hierdie punt is die LIRC -program geïnstalleer en kan ons IR -inligting bekyk.

Stap 4: Vang IR -kodes op

'N Afgeleë profiel kan van die LIRC -webwerf afgelaai word

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

en in /etc/lirc/lircd.confg.d geplaas word, of 'n persoonlike profiel kan met u eie afstandsbediening geskep word.

Tydens hierdie proses sal u die naam van die sleutel/knoppie wat u opneem, invoer. Slegs geldige name word toegelaat, dus voer die volgende opdrag uit om alle beskikbare name te sien

irrecord-lys-naamruimte Voorbeeld: ek gebruik die naam KEY_POWER toe ek die aan / uit -knoppie op my afstandsbediening opneem en KEY_TIME by die opname van die tydknoppie

As daar meer as 'n paar sleutels aangeteken word, beveel ek aan dat u die sleutelname dokumenteer en na watter knoppie hulle verwys, aangesien daar moontlik nie 'n perfekte naam vir die knoppie is nie. Dit sal dit makliker maak om in die toekoms te verwys.

Genereer 'n afstandkonfigurasie -lêer

Skep 'n nuwe afstandbeheer -konfigurasielêer (met /dev /lirc0)

sudo systemctl stop lircd

cd ~ irrecord -d /dev /lirc0 As u 'n fout ondervind wat sê dat u nie in staat was om data te dekodeer nie, of as iets verkeerd gegaan het, druk dan op CTRL+C om die laaste opdrag te kanselleer en uit te voer asirrecord -f -d /dev /lirc0. vervolg

Volg die aanwysings op die skerm. Sodra die stelsel geïnitialiseer is, voer die naam van die afstandbeheer in wat u opneem (die gevolglike lêer is gebaseer op hierdie naam), voer dan die sleutelnaam in wat u gaan opneem, en druk dan op die knoppie op die afstandsbediening terwyl u dit wys die ontvanger totdat die volgende knoppie se naam gevra word. Herhaal hierdie stap vir elke knoppie op die afstandsbediening wat u wil opneem.

Kopieer u nuwe konfigurasielêer (s) na die lircd.conf.d -gids en begin weer met lirc

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

sudo systemctl begin lircd

Op hierdie stadium is afstandkodes in 'n lêer aangeteken.

Stap 5: Koptelefoonaansluiting (opsioneel)

Koptelefoonaansluiting (opsioneel)
Koptelefoonaansluiting (opsioneel)
Koptelefoonaansluiting (opsioneel)
Koptelefoonaansluiting (opsioneel)

Om die drade en die modifikasie van die Raspberry Pi meer modulêr te maak, het ek 'n 1/8 duim -koptelefoonaansluiting aan die boks vasgeplak en die drade aan die aansluiting gekoppel. Koptelefoondrade met die ooreenstemmende prop is gebruik om die IR -LED aan te sluit, sodat hierdie draad na 'n onopvallende plek gelei kan word om na die IR -ontvanger van die toestel wat ek wou aansluit, te wys, maar dit kan maklik van die Pi afgetrek word sonder om dit te verwyder al die drade.

Dit is suiwer opsioneel, maar het handig te pas gekom.

Stap 6: Koppel IR LED (vinnig)

Koppel IR -LED (vinnig)
Koppel IR -LED (vinnig)
Koppel IR -LED (vinnig)
Koppel IR -LED (vinnig)
Koppel IR -LED (vinnig)
Koppel IR -LED (vinnig)

Die IR -uitstralende LED kan op die Raspberry Pi gekoppel word. Hierdie stap toon die vinnige manier waarop ek dit verbind het, maar wat ek later agtergekom het, kan die huidige limiet op die pinne van die Pi oorskry. Tot dusver het ek geen probleme ondervind nie, maar 'n meer ideale manier om aan te sluit word in die volgende stap beskryf

Bereken die weerstand wat nodig is vir u IR LED. https://ledcalculator.net/ kan u help met die bepaling van die korrekte weerstandswaarde as u alle spesifikasies van u LED het. In hierdie geval is die spanning van pen 22 3,3 volt, die LED -spanningsval is 1,2 volt, die stroomwaarde is 20 ma en 1 LED is gebruik, wat 'n waarde van 110 ohm weerstand benodig. Ek het 'n enkele weerstand van 100 ohm gebruik.

Nota: Dit is later onder my aandag gebring dat die maksimum stroom van alle penne op 'n gegewe tydstip 16 ma is, sodat hierdie opset dit kan oorskry. 'N Beter konfigurasie met 'n transistor en 5 volt -toevoer word in die volgende stap beskryf, maar na 'n paar weke se werking in hierdie konfigurasie het ek nog geen probleme ondervind nie.

Pin 22 op die Raspberry Pi sal gekoppel wees aan die anode van die IR LED, wat standaard die langer been is.

Die korter pen van die LED sluit aan op die weerstand en dan op die grondpen. Ek het die meeste draad op die weerstand afgesny en dit direk aan 'n grondpen gesoldeer en aan die gronddraad na die LED.

Stap 7: Koppel IR LED (korrekte metode)

Koppel IR -LED (korrekte metode)
Koppel IR -LED (korrekte metode)
Koppel IR -LED (korrekte metode)
Koppel IR -LED (korrekte metode)

Om die LED behoorlik aan te sluit sonder om die trekklimiet van die Raspberry Pi te oorskry, koppel die LED's aan die 5 volt -toevoer met die toepaslike weerstand, koppel die katodepen aan die kollektorpen van 'n 2N2222 weerstand, verbind die Emitter -pen van die transistor met die aarde, en verbind pen 22 van die Pi met 'n 1K ohm weerstand aan die basispen van die transistor. Dit laat 'n baie klein stroom van pen 22 toe om die LED met die aarde te verbind, wat die kring voltooi sonder om die Pi te teken.

In my voorbeeld het ek 2 IR -LED's aangesluit, sodat ek die beligting sowel as die elektriese kaggel kon beheer.

Stap 8: Toets vir die stuur van IR -opdragte

Toets Stuur IR -opdragte
Toets Stuur IR -opdragte

Om 'n IR -opdrag te stuur, word die program irsend gebruik.

Sintaksis: irsend

Voorbeeld: herstuur SEND_ONCE Spectrafire KEY_POWER Dit stuur die aan / uit -knoppie -opdrag een keer vanaf die Spectrafire -afstandsbediening. Vervang Spectrafire met wat u ook al die afstandsbediening noem. Herhaal met ander sleutelname wat gebruik word tydens die opname van die lêer.

Op hierdie stadium kan u opdragte stuur wat voorheen opgeneem is met behulp van die IR -LED wat op die Raspberry Pi gekoppel is.

Stap 9: Installeer Ha-brug

Om die Echo in staat te stel om ons toestel te beheer, sal ons 'n Philips Hue-gloeilamp navolg met behulp van ha-bridge. Sodra dit gekonfigureer is, kan die Echo hierdie toestel opspoor en aan-/af -opdragte daarna stuur.

Die webwerf vir ha-bridge gee 'n duidelike uiteensetting van die proses vir die huidige weergawe en word sterk aanbeveel om dit te hersien.

github.com/bwssytems/ha-bridge

Kopieer en plak die volgende reëls in 'n SSH -sessie om HA Bridge te installeer en op te stel. (Dit kan nodig wees om die eerste reël self uit te voer en dan die oorblywende reëls te plak

sudo apt installeer -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 /nuutste | grep 'browser_' | cut -d / "-f4) mv ha-bridge-*. jar ha-bridge.jar echo [Eenheid] | sudo tee /etc/systemd/system/habridge.service echo Description = HA Brug | 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 [Installeer] | sudo tee -a /etc/systemd/system/habridge.service echo WantedBy = multi-user.target | sudo tee -a /etc/systemd/system/habridge.service #Herlaai stelselbeheer en begin diens, instelling om by opstart sudo systemctl daemon -herlaai sudo systemctl begin habridge.service sudo systemctl aktiveer habridge.service

Stap 10: Emuleer 'n Philips Hue -gloeilamp

Emuleer 'n Philips Hue -gloeilamp
Emuleer 'n Philips Hue -gloeilamp
Emuleer 'n Philips Hue -gloeilamp
Emuleer 'n Philips Hue -gloeilamp

As die ha-bridge loop, maak 'n webblaaier oop en voer die IP-adres van die Raspberry Pi in, en die koppelvlak vir ha-bridge moet verskyn.

Klik op die skakel Voeg/wysig bo -aan die bladsy

Naam: Voer die naam in wat u wil gebruik wanneer u opdragte spreek

Tik in die gedeelte "Op items" die tipe "Voer opdrag/script/program uit en voer die opdrag in die boks Doelitem in. As u meer opdragte wil hê, klik op die knoppie Voeg om die huidige reël te stoor en voer 'n ander opdrag in. dit is ook moontlik om 'n vertraging in te stel en 'n opdrag 'n sekere aantal kere te herhaal. In hierdie geval moet die aan / uit-knoppie eers ingedruk word, dan word die tydknoppie 3 keer ingedruk om die outomatiese uitschakeltimer vir 3 uur in te stel.

Herhaal dieselfde idee vir die gebied "Uit items", en klik op Voeg by wanneer u klaar is.

Klik aan die bokant van die bladsy op 'Voeg Bridge -toestel by' om dit as 'n nuwe item te stoor, of werk Bridge -toestel op as u 'n bestaande een verander.

Rig die IR -LED op die toestel. Klik op die Bridge Devices -bladsy op die toets AAN of toets UIT om te verifieer dat dit na wense werk.

Stap 11: Koppel aan Amazon Echo

Koppel aan Amazon Echo
Koppel aan Amazon Echo

Die laaste stap is om die Amazon Echo in staat te stel om met hierdie toestel te kommunikeer. Let wel: Beide toestelle moet dieselfde netwerk wees.

Opsie 1) sê "Alexa, ontdek slim huistoestelle"

Opsie 2) Maak die Alexa -app oop, tik op Menu> Smart Home en klik op die skakel "Ontdek toestelle"

Na 'n paar oomblikke moet die toestel herken word.

Praat, "Alexa, skakel die kaggel in die slaapkamer aan" en verifieer dat die toestel aanskakel soos verwag. Vervang Slaapkamer-kaggel met wat u ook al u toestel in die ha-bridge noem. Herhaal die proses om die toestel af te skakel.

As u nog nie die IR -LED gemonteer het nie, vind 'n onopvallende plek om dit te monteer terwyl dit in die algemene rigting van die IR -ontvanger in die toestel kan wys. Miskien moet u dit skuif om na verskillende gebiede te wys om die beste plek te vind.

Aanbeveel: