Inhoudsopgave:

AndyMOTE-server: 12 stappen
AndyMOTE-server: 12 stappen

Video: AndyMOTE-server: 12 stappen

Video: AndyMOTE-server: 12 stappen
Video: Skeleton hits the Griddy ☠️ 2024, November
Anonim
AndyMOTE-server
AndyMOTE-server

Ik wilde een universele afstandsbediening voor mijn mancave en bedacht dat ik dit moest kunnen doen met een app op mijn mobiele telefoon (voor de gebruikersinterface) en een Raspberry PI om de Infra Red 'Blaster' te leveren. Na wat onderzoek ontdekte ik het LIRC-project dat er ideaal uitzag voor de 'Blaster'. Ik heb mijn eigen Android-app (AndyMOTE) en een klein 'Server'-programma geschreven om een interface tussen de twee te bieden.

Dit instructable laat je zien hoe je de server bouwt

De instructies die hier worden gegeven, zouden moeten werken met Raspian Jessie, ze werken niet met Raspian Buster en op dit moment begrijp ik dat Raspian nu is vervangen door het Raspberry Pi OS, ik heb een bijgewerkte set instructies op mijn website (zie link hieronder) die werken met Raspian Stretch-Lite of Raspian Buster-Lite

Stap 1: Lijst met items

  • RaspberryPi Zero WH
  • Energenie ENER314-IR Infrarood Controller
  • Micro SD-kaart (klasse 10) (16 GB)
  • Raspberry Pi-voeding
  • (Optioneel) Behuizing (bijv. Pibow Zero W)
  • (Optioneel) Infrarood afstandsbedieningsverlenger* (1 ontvanger; 4 zenders)

Je hebt ook een monitor, een toetsenbord en kabels nodig om deze items op je Raspberry Pi aan te sluiten

Stap 2: Bereid je Raspberry Pi voor

Download Raspian Lite vanaf hier en installeer het vervolgens op uw SD-kaart (Instructies hier).

Zodra Raspian Lite op uw SD-kaart is geïnstalleerd en voordat u de kaart naar uw Raspberry Pi verplaatst; monteer de kaart op uw pc. Maak een leeg bestand /boot/ssh (hierdoor wordt SHH op de server ingeschakeld) en breng de volgende wijzigingen aan in het bestand /boot/config.txt

# Stel HDMI in op Normaal outputhdmi_drive=2# Stel HDMI in op DMT-modus (geschikt voor monitoren)hdmi_group=2# Stel resolutie in op 800x600 @ 60hzhdmi_mode=9dtoverlay=lirc-rpi, gpio_in_pin=18, gpio_out_pin=17

(Zie hier voor hulp bij video-instellingen)

Stap 3: Monteer de server

Monteer de server
Monteer de server

Plaats eerst uw vooraf voorbereide SD-kaart in de Raspberry Pi. Stop de Raspberry Pi in zijn hoesje. Ik had een probleem dat de ENER314-IR Infra Red Controller de Pibow-behuizing stoorde, dus ik gebruikte geen twee van de onderdelen.

Steek vervolgens de Energenie ENER314-IR Infra Red Controller in de Raspberry Pi (zie afbeelding).

Sluit vervolgens de Raspberry Pi aan op het toetsenbord (via USB-connector) en monitor (via HDMI-connector… Adapters kunnen nodig zijn).

Schakel ten slotte in en wacht tot het apparaat is opgestart.

Stap 4: Netwerk instellen

Open eerst het wpa-supplicant-configuratiebestand met uw favoriete editor (bijv. nano).

$ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Ga naar het einde van het bestand en voeg uw netwerk toe (bijv.).

netwerk={ ssid="YOUR_SSID" psk="YOUR_KEY" priority="1" id_str="YOUR_SSID_NAME"}

Vervang YOUR_SSID, YOUR_KEY en YOUR_SSID_NAME voor uw netwerk.

Sla het bestand op, start de WPA-aanvrager opnieuw en start opnieuw op.

$ wpa_cli -i wlan0 opnieuw configureren $ sudo reboot

Stap 5: Statisch IP-adres instellen

Het wordt aanbevolen dat uw server een vast IP-adres heeft. U kunt dit mogelijk bereiken door uw DHCP-server op de juiste manier te configureren of, om de wlan0-interface in te stellen op een statisch adres op de Raspberry Pi, het bestand /etc/dhcpcd.conf te bewerken en de regels op te nemen.

# Voorbeeld statische IP-configuratie: interface wlan0static ip_address=192.168.1.116/24static routers=192.168.1.1static domain_name_servers=192.168.1.1 8.8.8.8

Wijzig 192.168.1.1 in het werkelijke adres van uw router en 192.168.1.116 in het werkelijke statische adres dat u voor uw toepassing nodig heeft.

* Mogelijk wilt u het hulpprogramma raspi-config uitvoeren en op dit punt eventuele configuratiewijzigingen aanbrengen.

Start opnieuw op als u klaar bent.

Stap 6: Installeer LIRC

Installeer LIRC met behulp van de opdracht.

$ sudo apt-get install lirc

Bewerk het bestand /etc/modules; bv:

$ sudo nano /etc/modules

en voeg de regels toe:

lirc_devlirc_rpi gpio_in_pin=18 gpio_out_pin=17

Sla het bestand op en start opnieuw op.

$ sudo opnieuw opstarten

Stap 7: LIRC. configureren

Bewerk het bestand /etc/lirc/hardware.conf, bijvoorbeeld:

$ sudo nano /etc/lirc/hardware.conf

en laat het er zo uitzien:

################################################## ####### /etc/lirc/hardware.conf## Argumenten die zullen worden gebruikt bij het starten van lircdLIRCD_ARGS="--uinput --listen"## Start lircmd niet, zelfs als er een goede configuratie lijkt te zijn file# START_LIRCMD=false## Start irexec niet, zelfs niet als er een goed configuratiebestand lijkt te bestaan.# START_IREXEC=false## Probeer de juiste kernelmodules te ladenLOAD_MODULES=true## Voer "lircd --driver=help" uit voor een lijst met ondersteunde stuurprogramma's. DRIVER="default"## meestal is /dev/lirc0 de juiste instelling voor systemen die udevDEVICE="/dev/lirc0"MODULES="lirc_rpi"## Standaard configuratiebestanden voor uw hardware indien LIRCMD_CONF=""Bewerk het bestand /etc/lirc/lirc_options.conf en wijzig de regels zoals hieronder: driver = defaultdevice = /dev/lirc0

Sla het bestand op en herstart lircd.

$ sudo systemctl herstart lircd

Stap 8: De ontvanger testen

Voer de volgende reeks opdrachten in om de LIRC Daemon te stoppen en de ontvanger te testen.

$ sudo systemctl stop lircd$ sudo mode2

Het mode2-programma voert de mark-space-verhouding van een IR-signaal uit naar de console. Richt een afstandsbediening op uw IR-ontvanger en druk op enkele knoppen. Je zou zoiets als dit moeten zien:

spatie 16300pulse 95spatie 28794pulse 80spatie 19395pulse 83spatie 402351

als je klaar bent, druk je op ctl-c en start je de LIRC Daemon opnieuw met het volgende commando.

$ sudo systemctl start lircd

Stap 9: afstandsbedieningen toevoegen - methode 1

LIRC gebruikt configuratiebestanden die gegevens bevatten met betrekking tot elke afstandsbediening die door LIRC kan worden geëmuleerd. U moet deze configuratiebestanden genereren of anderszins verstrekken om het LIRC-subsysteem naar wens te laten werken.

Belangrijk

U moet een individueel configuratiebestand opgeven voor elke afstandsbediening die moet worden geëmuleerd. De configuratiebestanden moeten worden opgeslagen in de directory /etc/lirc/lircd.conf.d. De keuze van de sleutelnaam is belangrijk voor de beste AndyMOTE-ervaring. Volg bij het selecteren van namen voor uw sleutels de richtlijnen hier. Config-bestanden kunnen hier ook worden gedownload, maar pas op dat, als u ze gebruikt, ze slechts één externe configuratie mogen bevatten. (Config-bestanden zijn eenvoudige tekstbestanden en kunnen indien nodig eenvoudig worden bewerkt.

Methode 1 vereist de originele afstandsbediening met behulp van de volgende opdrachten:

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

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

Vervang FILENAME door een beschrijvende naam voor de afstandsbediening die u aan het configureren bent. De laatste opdracht maakt een 'raw'-bestand aan en dit is soms nodig, afhankelijk van de kenmerken van de afstandsbediening die u gebruikt. Met de schakeloptie -n kunt u elke gewenste sleutelnaam gebruiken (in plaats van beperkt te zijn tot de LIRC-naamruimtelijst).

Vergeet niet om lircd opnieuw op te starten en opnieuw op te starten als je klaar bent.

$ sudo systemctl start lircd$ sudo reboot

Stap 10: afstandsbedieningen toevoegen - methode 2

Methode 2 vereist niet dat de originele remoteGlobal-cache een cloudgebaseerde database van meer dan 200.000 IR-codes onderhoudt. Iedereen kan tot 5 codesets per dag registreren en downloaden. Deze codesets kunnen worden geconverteerd naar LIRC-conf-bestanden, op een AndyMOTE-vriendelijke manier, met behulp van de gcConvert-toepassing die hier wordt beschreven.

Stap 11: Installeer het AndyMOTE-serverprogramma

Installeer bibliotheken liblirc en libboost zoals hieronder beschreven:

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

Installeer vervolgens git, ga naar je homedirectory en kloon de andymoteserver-repository

$ sudo apt install git$ cd ~$ git clone

compileer dan de bron

$ cd andymoteserver$ make

Verplaats het resulterende bestand naar een geschikte locatie; bv:

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

Opruimen

$ cd ~$ rm -Rf andymoteserver

Om AndyMOTE Server als een service uit te voeren, maakt u ten slotte het bestand /lib/systemd/system/andymote.service met de inhoud zoals hieronder weergegeven:

[Unit]Description=AndyMOTE Server as a service uitvoeren[Service]Type=simpleRemainAfterExit=falseRestart=alwaysRestartSec=30ExecStop=/bin/trueExecStart=/opt/andymoteserver/andymote[Install]WantedBy=multi-user.target

De service inschakelen en starten

$ sudo systemctl andymote$ inschakelen sudo systemctl start andymote

Stap 12: En tot slot…

En tenslotte…
En tenslotte…

De bovenstaande afbeelding toont mijn server in zijn definitieve positie (links). Het apparaat rechts op de foto is de Infrared Remote Control Extender, deze ontvangt de IR-signalen van de server en zendt deze opnieuw uit via 4 IR-zenders (niet afgebeeld); deze zijn gemonteerd op mijn media-apparaten (tv, versterker enz.).

Ik hoop dat je ervan geniet!

Aanbevolen: