Innholdsfortegnelse:

AndyMOTE Server: 12 trinn
AndyMOTE Server: 12 trinn

Video: AndyMOTE Server: 12 trinn

Video: AndyMOTE Server: 12 trinn
Video: Skeleton hits the Griddy ☠️ 2024, November
Anonim
AndyMOTE Server
AndyMOTE Server

Jeg ville ha en universell fjernkontroll til min mankehule og tenkte at jeg skulle klare dette med en app på mobiltelefonen min (for å gi brukergrensesnittet) og en Raspberry PI for å levere Infra Red 'Blaster'. Etter en liten undersøkelse oppdaget jeg LIRC -prosjektet som så ideelt ut for 'Blaster'. Jeg skrev min egen Android -app (AndyMOTE) og et lite 'Server' -program for å gi et grensesnitt mellom de to.

Denne instruksjonen viser deg hvordan du bygger serveren

Instruksjonene gitt her bør fungere med Raspian Jessie, de fungerer ikke med Raspian Buster, og på dette tidspunktet forstår jeg at Raspian nå er erstattet med Raspberry Pi OS, jeg har et oppdatert sett med instruksjoner på nettstedet mitt (se lenke nedenfor) som fungerer med Raspian Stretch-Lite eller Raspian Buster-Lite

Trinn 1: Vareliste

  • RaspberryPi Zero WH
  • Energenie ENER314-IR infrarød kontroller
  • Micro SD -kort (klasse 10) (16 GB)
  • Raspberry Pi strømforsyning
  • (Valgfritt) Veske (f.eks.: Pibow Zero W)
  • (Valgfritt) Infrarød fjernkontrollforlenger* (1 mottaker; 4 sendere)

Du trenger også en skjerm, et tastatur og kabler som kan koble disse elementene til din Raspberry Pi

Trinn 2: Forbered din Raspberry Pi

Last ned Raspian Lite herfra, og installer det deretter på SD -kortet ditt (instruksjoner her).

Når Raspian Lite er installert på SD -kortet og før du flytter kortet til Raspberry Pi; monter kortet på din PC. Lag en tom fil /boot /ssh (dette muliggjør SHH på serveren) og foreta følgende redigeringer av filen /boot/config.txt

# Sett HDMI til Normal utgang hdmi_drive = 2# Sett HDMI til DMT-modus (kan brukes for skjermer) hdmi_group = 2# Sett oppløsning til 800x600 @ 60hzhdmi_mode = 9dtoverlay = lirc-rpi, gpio_in_pin = 18, gpio_out_pin = 17

(Se her for veiledning om videoinnstillinger)

Trinn 3: Sett sammen serveren

Sett sammen serveren
Sett sammen serveren

Sett først inn det forhåndsforberedte SD-kortet i Raspberry Pi. Sett Raspberry Pi i esken. Jeg hadde et problem med at ENER314-IR Infra Red Controller forstyrret Pibow-saken, så jeg brukte ikke to av brikkene.

Deretter kobler du Energenie ENER314-IR Infra Red-kontrolleren til Raspberry Pi (se bilde).

Koble deretter Raspberry Pi til tastaturet (ved hjelp av USB -kontakt) og skjermen (ved hjelp av HDMI -kontakt … Adaptere kan være nødvendige).

Til slutt slår du på og venter på at enheten skal starte opp.

Trinn 4: Konfigurer nettverk

Først åpner du konfigurasjonsfilen wpa-supplikant ved hjelp av favorittredigereren din (f.eks. Nano).

$ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Gå til slutten av filen og legg til nettverket ditt (f.eks.).

nettverk = {ssid = "YOUR_SSID" psk = "YOUR_KEY" prioritet = "1" id_str = "YOUR_SSID_NAME"}

Erstatt YOUR_SSID, YOUR_KEY og YOUR_SSID_NAME som passer for nettverket ditt.

Lagre filen, start WPA -forespørselen på nytt og start på nytt.

$ wpa_cli -i wlan0 omkonfigurer $ sudo omstart

Trinn 5: Konfigurer statisk IP -adresse

Det anbefales at serveren din har en fast IP -adresse. Du kan kanskje oppnå dette ved å konfigurere DHCP -serveren på riktig måte eller, for å sette wlan0 -grensesnittet til en statisk adresse på Raspberry Pi, redigere filen /etc/dhcpcd.conf og inkludere linjene.

# Eksempel på statisk IP -konfigurasjon: grensesnitt wlan0static ip_address = 192.168.1.116/24static routers = 192.168.1.1static domain_name_servers = 192.168.1.1 8.8.8.8

Endre 192.168.1.1 til den faktiske adressen til ruteren din og 192.168.1.116 til den faktiske statiske adressen du trenger for programmet ditt.

* Det kan være lurt å kjøre raspi-config-verktøyet og gjøre eventuelle konfigurasjonsendringer på dette tidspunktet.

Start på nytt når du er ferdig.

Trinn 6: Installer LIRC

Installer LIRC ved hjelp av kommandoen.

$ sudo apt-get install lirc

Rediger filen /etc /modules; f.eks:

$ sudo nano /etc /modules

og legg til linjene:

lirc_devlirc_rpi gpio_in_pin = 18 gpio_out_pin = 17

Lagre filen og start på nytt.

$ sudo omstart

Trinn 7: Konfigurer LIRC

Rediger filen /etc/lirc/hardware.conf, f.eks.:

$ sudo nano /etc/lirc/hardware.conf

og få det til å se slik ut:

#################################################### ####### /etc/lirc/hardware.conf## Argumenter som vil bli brukt når du starter lircdLIRCD_ARGS = "-uinput --listen" ## Ikke start lircmd selv om det ser ut til å være en god konfigurasjon fil# START_LIRCMD = false ## Ikke start irexec, selv om det ser ut til at det finnes en god konfigurasjonsfil.# START_IREXEC = false ## Prøv å laste inn passende kjernemodulerLOAD_MODULES = true ## Run "lircd --driver = help" for en liste over støttede drivere. DRIVER = "standard" ## vanligvis/dev/lirc0 er den riktige innstillingen for systemer som bruker udevDEVICE = "/dev/lirc0" MODULES = "lirc_rpi" ## Standardkonfigurasjonsfiler for maskinvaren din hvis noenLIRCD_CONF = "" LIRCMD_CONF = "" Rediger /etc/lirc/lirc_options.conf -filen og endre linjer som nedenfor: driver = defaultdevice =/dev/lirc0

Lagre filen og start lircd på nytt.

$ sudo systemctl restart lircd

Trinn 8: Test av mottakeren

Skriv inn følgende rekkefølge av kommandoer for å stoppe LIRC Daemon og teste mottakeren.

$ sudo systemctl stop lircd $ sudo mode2

Mode2-programmet sender ut merke-mellomrom-forholdet til et IR-signal til konsollen. Rett en fjernkontroll mot IR -mottakeren og trykk på noen knapper. Du bør se noe slikt:

plass 16300pulse 95space 28794pulse 80space 19395pulse 83space 402351

Når du er ferdig, trykker du på ctl-c og starter LIRC Daemon på nytt ved å bruke følgende kommando.

$ sudo systemctl start lircd

Trinn 9: Legg til fjernkontroller - metode 1

LIRC bruker konfigurasjonsfiler som inneholder data knyttet til hver fjernkontroll som kan etterlignes av LIRC. Du må generere eller på annen måte gi disse konfigurasjonsfilene for at LIRC -delsystemet skal fungere som ønsket.

Viktig

Du må oppgi en individuell konfigurasjonsfil for hver fjernkontroll som skal emuleres. Konfigurasjonsfilene må lagres i katalogen /etc/lirc/lircd.conf.d. Valg av nøkkelnavn er viktig for den beste AndyMOTE -opplevelsen. Følg retningslinjene her når du velger navn til nøklene dine. Konfigurasjonsfiler kan også lastes ned herfra, men vær oppmerksom på at hvis du bruker dem, må de bare inneholde én ekstern konfigurasjon. (Konfig -filer er enkle tekstfiler og kan enkelt redigeres om nødvendig.

Metode 1 krever den originale fjernkontrollen med følgende kommandoer:

$ sudo systemctl stop lircd $ sudo irrecord -n ~/FILENAME.conf

-ELLER-

$ sudo irrecord -f -n ~/FILENAME.conf

Erstatt FILENAME med et beskrivende navn for fjernkontrollen du konfigurerer. Den sistnevnte kommandoen oppretter en "rå" fil, og dette er noen ganger nødvendig avhengig av egenskapene til fjernkontrollen du bruker. Med -n -bryteren kan du bruke et hvilket som helst nøkkelnavn du liker (i stedet for å være begrenset til LIRC -navneområdet).

Husk å starte lircd på nytt og starte på nytt når du er ferdig.

$ sudo systemctl start lircd $ sudo omstart

Trinn 10: Legg til fjernkontroller - metode 2

Metode 2 krever ikke at den opprinnelige remoteGlobal-cachen vedlikeholder en skybasert database med over 200 000 IR-koder. Alle kan registrere og laste ned opptil 5 kodesett per dag. Disse kodesettene kan konverteres til LIRC conf -filer på en AndyMOTE -vennlig måte ved å bruke gcConvert -applikasjonen beskrevet her.

Trinn 11: Installer AndyMOTE -serverprogrammet

Installer Libraries liblirc og libboost som beskrevet nedenfor:

$ sudo apt-get oppdatering $ sudo apt-get install liblirc-dev libboost-all-dev

Deretter installerer du git, går til hjemmekatalogen og kloner andymoteserver -depotet

$ sudo apt installer git $ cd ~ $ git klon

kompiler deretter kilden

$ cd andymoteserver $ make

Flytt den resulterende filen til et passende sted; f.eks:

$ sudo mkdir -p/opt/andymoteserver $ sudo mv dist/Debug/GNU -Linux/andymote/opt/andymoteserver/

Rydd opp

$ cd ~ $ rm -Rf andymoteserver

Til slutt, for å kjøre AndyMOTE Server som en tjeneste, oppretter du filen /lib/systemd/system/andymote.service med innhold som vist nedenfor:

[Enhet] Beskrivelse = kjør AndyMOTE Server som en tjeneste [Tjeneste] Type = simpleRemainAfterExit = falseRestart = alwaysRestartSec = 30ExecStop =/bin/trueExecStart =/opt/andymoteserver/andymote [Installer] WantedBy = multi-user.target

Aktiver og start tjenesten

$ sudo systemctl aktiver andymote $ sudo systemctl start andymote

Trinn 12: Og til slutt …

Og endelig…
Og endelig…

Bildet ovenfor viser serveren min i sin endelige posisjon (venstre). Enheten til høyre på bildet er Infrared Remote Control Extender, denne mottar IR-signalene fra serveren og sender dem på nytt via 4 IR-sendere (ikke vist); disse er montert på mine medieenheter, (TV, forsterker osv.).

Jeg håper du nyter!

Anbefalt: