Inhaltsverzeichnis:

AndyMOTE-Server - Gunook
AndyMOTE-Server - Gunook

Video: AndyMOTE-Server - Gunook

Video: AndyMOTE-Server - Gunook
Video: HOW TO FIND RECIPE BOOKS | TRIBALS.IO 2024, Juni
Anonim
AndyMOTE-Server
AndyMOTE-Server

Ich wollte eine universelle Fernbedienung für meine Mancave und dachte mir, dass ich dies mit einer App auf meinem Mobiltelefon (um die Benutzeroberfläche bereitzustellen) und einem Raspberry PI für den Infrarot-Blaster tun können sollte. Nach ein wenig Recherche entdeckte ich das LIRC-Projekt, das ideal für den 'Blaster' aussah. Ich habe meine eigene Android-App (AndyMOTE) und ein kleines 'Server'-Programm geschrieben, um eine Schnittstelle zwischen den beiden bereitzustellen.

Dieses anweisbare zeigt Ihnen, wie Sie den Server bauen

Die hier gegebenen Anweisungen sollten mit Raspian Jessie funktionieren, sie funktionieren nicht mit Raspian Buster und an dieser Stelle verstehe ich, dass Raspian jetzt durch das Raspberry Pi OS ersetzt wurde, ich habe eine aktualisierte Anleitung auf meiner Website (siehe Link unten), die mit Raspian Stretch-Lite oder Raspian Buster-Lite funktionieren

Schritt 1: Artikelliste

  • RaspberryPi Zero WH
  • Energy ENER314-IR Infrarot-Controller
  • Micro-SD-Karte (Klasse 10) (16 GB)
  • Raspberry Pi Netzteil
  • (Optional) Koffer (zB: Pibow Zero W)
  • (Optional) Infrarot-Fernbedienungs-Extender* (1 Empfänger; 4 Sender)

Sie benötigen außerdem einen Monitor, eine Tastatur und Kabel, mit denen Sie diese Elemente an Ihren Raspberry Pi anschließen können

Schritt 2: Bereiten Sie Ihren Raspberry Pi vor

Laden Sie Raspian Lite von hier herunter und installieren Sie es auf Ihrer SD-Karte (Anleitung hier).

Sobald Raspian Lite auf Ihrer SD-Karte installiert ist und bevor Sie die Karte auf Ihren Raspberry Pi verschieben; Montieren Sie die Karte auf Ihrem PC. Erstellen Sie eine leere Datei /boot/ssh (dies aktiviert SHH auf dem Server) und nehmen Sie die folgenden Änderungen an der Datei /boot/config.txt vor

# HDMI auf Normale Ausgabe einstellenhdmi_drive=2# HDMI auf DMT-Modus setzen (für Monitore geeignet)hdmi_group=2# Auflösung auf 800x600 @ 60hzhdmi_mode=9dtoverlay=lirc-rpi, gpio_in_pin=18, gpio_out_pin=17. einstellen

(Hier finden Sie eine Anleitung zu den Videoeinstellungen)

Schritt 3: Server zusammenbauen

Server zusammenbauen
Server zusammenbauen

Legen Sie zuerst Ihre vorbereitete SD-Karte in den Raspberry Pi ein. Legen Sie den Raspberry Pi in sein Gehäuse. Ich hatte ein Problem, dass der ENER314-IR Infrarot-Controller das Pibow-Gehäuse störte und daher zwei der Teile nicht verwendet habe.

Als nächstes stecken Sie den Energenie ENER314-IR Infra Red Controller in den Raspberry Pi (siehe Bild).

Verbinden Sie dann den Raspberry Pi mit der Tastatur (mit dem USB-Anschluss) und dem Monitor (mit dem HDMI-Anschluss … Möglicherweise sind Adapter erforderlich).

Schalten Sie schließlich das Gerät ein und warten Sie, bis das Gerät hochgefahren ist.

Schritt 4: Netzwerk einrichten

Öffnen Sie zunächst die wpa-supplicant-Konfigurationsdatei mit Ihrem bevorzugten Editor (zB nano).

$ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Gehen Sie zum Ende der Datei und fügen Sie Ihr Netzwerk hinzu (zB).

network={ ssid="YOUR_SSID" psk="YOUR_KEY" Priority="1" id_str="YOUR_SSID_NAME"}

Ersetzen Sie YOUR_SSID, YOUR_KEY und YOUR_SSID_NAME entsprechend Ihrem Netzwerk.

Speichern Sie die Datei, starten Sie den WPA-Supplicant neu und starten Sie neu.

$ wpa_cli -i wlan0 reconfigure$ sudo reboot

Schritt 5: Statische IP-Adresse einrichten

Es wird empfohlen, dass Ihr Server eine feste IP-Adresse hat. Sie können dies möglicherweise erreichen, indem Sie Ihren DHCP-Server entsprechend konfigurieren oder die wlan0-Schnittstelle auf dem Raspberry Pi auf eine statische Adresse setzen, indem Sie die Datei /etc/dhcpcd.conf bearbeiten und die Zeilen einfügen.

# Beispiel einer statischen IP-Konfiguration: Schnittstelle wlan0static ip_address=192.168.1.116/24static routers=192.168.1.1static domain_name_servers=192.168.1.1 8.8.8.8

Ändern Sie 192.168.1.1 in die aktuelle Adresse Ihres Routers und 192.168.1.116 in die aktuelle statische Adresse, die Sie für Ihre Anwendung benötigen.

* Möglicherweise möchten Sie das Dienstprogramm raspi-config ausführen und an dieser Stelle Konfigurationsänderungen vornehmen.

Starten Sie neu, wenn Sie fertig sind.

Schritt 6: Installieren Sie LIRC

Installieren Sie LIRC mit dem Befehl.

$ sudo apt-get install lirc

Bearbeiten Sie die Datei /etc/modules; z. B:

$ sudo nano /etc/modules

und füge die Zeilen hinzu:

lirc_devlirc_rpi gpio_in_pin=18 gpio_out_pin=17

Speichern Sie die Datei und starten Sie neu.

$ sudo Neustart

Schritt 7: LIRC konfigurieren

Bearbeiten Sie die Datei /etc/lirc/hardware.conf, zB:

$ sudo nano /etc/lirc/hardware.conf

und lass es so aussehen:

################################################ ####### /etc/lirc/hardware.conf## Argumente, die beim Starten von lircd verwendet werdenLIRCD_ARGS="--uinput --listen"## Starte lircmd nicht, auch wenn es eine gute Konfiguration zu geben scheint file# START_LIRCMD=false## Starten Sie irexec nicht, selbst wenn eine gute Konfigurationsdatei zu existieren scheint.# START_IREXEC=false## Versuchen Sie, die entsprechenden Kernelmodule zu ladenLOAD_MODULES=true## Führen Sie "lircd --driver=help" für eine Liste der unterstützten Treiber. DRIVER="default"## Normalerweise ist /dev/lirc0 die richtige Einstellung für Systeme, die udevDEVICE="/dev/lirc0"MODULES="lirc_rpi"## verwenden Standardkonfigurationsdateien für Ihre Hardware, falls LIRCMD_CONF=""Bearbeiten Sie die Datei /etc/lirc/lirc_options.conf und ändern Sie die Zeilen wie folgt:driver = defaultdevice = /dev/lirc0

Speichern Sie die Datei und starten Sie lircd neu.

$ sudo systemctl Neustart lircd

Schritt 8: Testen des Empfängers

Geben Sie die folgende Befehlsfolge ein, um den LIRC-Daemon zu stoppen und den Empfänger zu testen.

$ sudo systemctl stop lircd$ sudo mode2

Das mode2-Programm gibt das Mark-Space-Verhältnis eines IR-Signals an die Konsole aus. Richten Sie eine Fernbedienung auf Ihren IR-Empfänger und drücken Sie einige Tasten. Sie sollten so etwas sehen:

Leerzeichen 16300Puls 95Leerzeichen 28794Puls 80Leerzeichen 19395Puls 83Leerzeichen 402351

Wenn Sie fertig sind, drücken Sie ctl-c und starten Sie den LIRC-Daemon mit dem folgenden Befehl neu.

$ sudo systemctl start lircd

Schritt 9: Fernbedienungen hinzufügen - Methode 1

LIRC verwendet Konfigurationsdateien, die Daten zu jeder Fernbedienung enthalten, die von LIRC emuliert werden kann. Sie müssen diese Konfigurationsdateien generieren oder anderweitig bereitstellen, damit das LIRC-Subsystem wie gewünscht funktioniert.

Wichtig

Sie müssen für jede zu emulierende Fernbedienung eine eigene Konfigurationsdatei bereitstellen. Die Konfigurationsdateien müssen im Verzeichnis /etc/lirc/lircd.conf.d gespeichert werden. Die Wahl des Schlüsselnamens ist wichtig für das beste AndyMOTE-Erlebnis. Befolgen Sie bei der Auswahl der Namen für Ihre Schlüssel bitte die hier aufgeführten Richtlinien. Konfigurationsdateien können auch von hier heruntergeladen werden. Beachten Sie jedoch, dass sie bei Verwendung nur eine Remote-Konfiguration enthalten dürfen. (Konfigurationsdateien sind einfache Textdateien und können bei Bedarf leicht bearbeitet werden.

Methode 1 erfordert die Original-Fernbedienung mit den folgenden Befehlen:

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

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

Ersetzen Sie FILENAME durch einen beschreibenden Namen für die Fernbedienung, die Sie konfigurieren. Der letztere Befehl erstellt eine 'rohe' Datei, die je nach den Eigenschaften der von Ihnen verwendeten Fernbedienung manchmal benötigt wird. Mit dem Schalter -n können Sie einen beliebigen Schlüsselnamen verwenden (anstatt auf die LIRC-Namespace-Liste beschränkt zu sein).

Denken Sie daran, lircd neu zu starten und neu zu starten, wenn Sie fertig sind.

$ sudo systemctl start lircd$ sudo reboot

Schritt 10: Fernbedienungen hinzufügen - Methode 2

Methode 2 erfordert nicht, dass der ursprüngliche remoteGlobal-Cache eine Cloud-basierte Datenbank mit über 200.000 IR-Codes verwaltet. Jeder kann sich registrieren und täglich bis zu 5 Codesets herunterladen. Diese Codesets können mit der hier beschriebenen Anwendung gcConvert auf AndyMOTE-freundliche Weise in LIRC-conf-Dateien konvertiert werden.

Schritt 11: Installieren Sie das AndyMOTE-Serverprogramm

Installieren Sie die Bibliotheken liblirc und libboost wie unten beschrieben:

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

Als nächstes installieren Sie git, gehen in Ihr Home-Verzeichnis und klonen das andymoteserver-Repository

$ sudo apt install git$ cd ~$ git clone

dann kompiliere die Quelle

$ cd andymoteserver$ machen

Verschieben Sie die resultierende Datei an einen geeigneten Ort. z. B:

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

Aufräumen

$ cd ~$ rm -Rf andymoteserver

Um AndyMOTE Server schließlich als Dienst auszuführen, erstellen Sie die Datei /lib/systemd/system/andymote.service mit dem Inhalt wie unten gezeigt:

[Unit]Description=AndyMOTE Server als Dienst ausführen[Service]Type=simpleRemainAfterExit=falseRestart=alwaysRestartSec=30ExecStop=/bin/trueExecStart=/opt/andymoteserver/andymote[Install]WantedBy=multi-user.target

Aktivieren und starten Sie den Dienst

$ sudo systemctl aktivieren andymote$ sudo systemctl starte andymote

Schritt 12: Und schließlich…

Und schlussendlich…
Und schlussendlich…

Das obige Bild zeigt meinen Server in seiner endgültigen Position (links). Das Gerät rechts auf dem Foto ist der Infrarot-Fernbedienungs-Extender, dieser empfängt die IR-Signale vom Server und sendet sie über 4 IR-Sender (nicht abgebildet) weiter; Diese sind auf meinen Mediengeräten (TV, Verstärker usw.) montiert.

Ich hoffe es gefällt dir!