Innehållsförteckning:

AndyMOTE Server: 12 steg
AndyMOTE Server: 12 steg

Video: AndyMOTE Server: 12 steg

Video: AndyMOTE Server: 12 steg
Video: Skeleton hits the Griddy ☠️ 2024, Juni
Anonim
AndyMOTE Server
AndyMOTE Server

Jag ville ha en universell fjärrkontroll för min mancave och tänkte att jag skulle kunna göra detta med en app på min mobiltelefon (för att tillhandahålla användargränssnittet) och en Raspberry PI för att tillhandahålla Infra Red 'Blaster'. Efter en liten undersökning upptäckte jag LIRC -projektet som såg perfekt ut för "Blaster". Jag skrev min egen Android -app (AndyMOTE) och ett litet "Server" -program för att ge ett gränssnitt mellan de två.

Denna instruerbara visar dig hur du bygger servern

Instruktionerna som ges här bör fungera med Raspian Jessie, de fungerar inte med Raspian Buster och vid denna tidpunkt förstår jag att Raspian nu har ersatts med Raspberry Pi OS, jag har en uppdaterad uppsättning instruktioner på min webbplats (se länk nedan) som fungerar med Raspian Stretch-Lite eller Raspian Buster-Lite

Steg 1: Objektlista

  • RaspberryPi Zero WH
  • Energenie ENER314-IR Infra Red Controller
  • Micro SD -kort (klass 10) (16 GB)
  • Raspberry Pi strömförsörjning
  • (Valfritt) Fodral (t.ex.: Pibow Zero W)
  • (Valfritt) Infraröd fjärrkontrollförlängare* (1 mottagare; 4 sändare)

Du behöver också en bildskärm, ett tangentbord och kablar som kan ansluta dessa objekt till din Raspberry Pi

Steg 2: Förbered din Raspberry Pi

Ladda ner Raspian Lite härifrån och installera det sedan på ditt SD -kort (instruktioner här).

När Raspian Lite är installerat på ditt SD -kort och innan du flyttar kortet till din Raspberry Pi; montera kortet på din dator. Skapa en tom fil /boot /ssh (detta aktiverar SHH på servern) och gör följande ändringar av filen /boot/config.txt

# Ställ in HDMI på Normal utgång hdmi_drive = 2# Ställ in HDMI på DMT-läge (kan användas för bildskärmar) hdmi_group = 2# Ställ in upplösningen till 800x600 @ 60hzhdmi_mode = 9dtoverlay = lirc-rpi, gpio_in_pin = 18, gpio_out_pin = 17

(Se här för vägledning om videoinställningar)

Steg 3: Montera servern

Montera servern
Montera servern

För in först ditt förberedda SD-kort i Raspberry Pi. Sätt i Raspberry Pi i fodralet. Jag hade ett problem att ENER314-IR Infra Red Controller störde Pibow-fodralet så jag använde inte två av bitarna.

Anslut sedan Energenie ENER314-IR Infra Red Controller till Raspberry Pi (se bild).

Anslut sedan Raspberry Pi till tangentbordet (med USB -kontakt) och bildskärmen (med hjälp av HDMI -kontakt … Adapter kan behövas).

Slutligen starta och vänta tills enheten startar.

Steg 4: Konfigurera nätverk

Öppna först konfigurationsfilen för wpa-supplikant med din favoritredigerare (t.ex. nano).

$ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Gå till slutet av filen och lägg till ditt nätverk (t.ex.).

nätverk = {ssid = "YOUR_SSID" psk = "YOUR_KEY" prioritet = "1" id_str = "YOUR_SSID_NAME"}

Ersätt YOUR_SSID, YOUR_KEY och YOUR_SSID_NAME efter behov för ditt nätverk.

Spara filen, starta om WPA -supplikanten och starta om.

$ wpa_cli -i wlan0 omkonfigurera $ sudo omstart

Steg 5: Konfigurera statisk IP -adress

Det rekommenderas att din server har en fast IP -adress. Du kanske kan uppnå detta genom att konfigurera din DHCP -server på lämpligt sätt eller, för att ställa in wlan0 -gränssnittet till en statisk adress på Raspberry Pi, redigera filen /etc/dhcpcd.conf och inkludera raderna.

# Exempel på statisk IP -konfiguration: gränssnitt wlan0static ip_address = 192.168.1.116/24static routers = 192.168.1.1static domain_name_servers = 192.168.1.1 8.8.8.8

Ändra 192.168.1.1 till den aktuella adressen till din router och 192.168.1.116 till den faktiska statiska adressen du behöver för din applikation.

* Du kanske vill köra verktyget raspi-config och göra eventuella konfigurationsändringar vid denna tidpunkt.

Starta om när du är klar.

Steg 6: Installera LIRC

Installera LIRC med kommandot.

$ sudo apt-get install lirc

Redigera filen /etc /modules; t.ex:

$ sudo nano /etc /modules

och lägg till raderna:

lirc_devlirc_rpi gpio_in_pin = 18 gpio_out_pin = 17

Spara filen och starta om.

$ sudo starta om

Steg 7: Konfigurera LIRC

Redigera filen /etc/lirc/hardware.conf, t.ex.

$ sudo nano /etc/lirc/hardware.conf

och få det att se ut så här:

#################################################### ####### /etc/lirc/hardware.conf## Argument som kommer att användas vid lansering av lircdLIRCD_ARGS = "-uinput --listen" ## Starta inte lircmd även om det verkar finnas en bra konfiguration fil# START_LIRCMD = false ## Starta inte irexec, även om det verkar finnas en bra konfigurationsfil.# START_IREXEC = false ## Försök ladda lämpliga kärnmodulerLOAD_MODULES = true ## Run "lircd --driver = help" för en lista över drivrutiner som stöds. DRIVER = "standard" ## vanligtvis/dev/lirc0 är rätt inställning för system som använder udevDEVICE = "/dev/lirc0" MODULES = "lirc_rpi" ## Standardkonfigurationsfiler för din maskinvara om någonLIRCD_CONF = "" LIRCMD_CONF = "" Redigera filen /etc/lirc/lirc_options.conf och ändra rader enligt nedan: driver = defaultdevice =/dev/lirc0

Spara filen och starta om lircd.

$ sudo systemctl starta om lircd

Steg 8: Testa mottagaren

Ange följande kommandosekvens för att stoppa LIRC Daemon och testa mottagaren.

$ sudo systemctl stop lircd $ sudo mode2

Mode2-programmet kommer att mata ut mark-space-förhållandet för en IR-signal till konsolen. Rikta en fjärrkontroll mot IR -mottagaren och tryck på några knappar. Du borde se något så här:

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

när du är klar trycker du på ctl-c och startar om LIRC Daemon med följande kommando.

$ sudo systemctl start lircd

Steg 9: Lägg till fjärrkontroller - metod 1

LIRC använder konfigurationsfiler som innehåller data som rör varje fjärrkontroll som kan emuleras av LIRC. Du måste generera eller på annat sätt tillhandahålla dessa konfigurationsfiler för att LIRC -delsystemet ska fungera som du vill.

Viktig

Du måste ange en individuell konfigurationsfil för varje fjärrkontroll som ska emuleras. Konfigurationsfilerna måste lagras i katalogen /etc/lirc/lircd.conf.d. Val av nyckelnamn är viktigt för den bästa AndyMOTE -upplevelsen. När du väljer namn för dina nycklar, följ riktlinjerna här. Konfig -filer kan också laddas ner härifrån, men se till att om du använder dem måste de bara innehålla en fjärrkonfiguration. (Config -filer är enkla textfiler och kan enkelt redigeras om det behövs.

Metod 1 kräver den ursprungliga fjärrkontrollen med följande kommandon:

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

-ELLER-

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

Ersätt FILENAME med något beskrivande namn för fjärrkontrollen du konfigurerar. Det senare kommandot skapar en "rå" fil och detta behövs ibland beroende på egenskaperna hos fjärrkontrollen du använder. Med -n -omkopplaren kan du använda valfritt nyckelnamn (snarare än att vara begränsad till LIRC -namnrymdlistan).

Kom ihåg att starta om lircd och starta om när du är klar.

$ sudo systemctl start lircd $ sudo starta om

Steg 10: Lägg till fjärrkontroller - metod 2

Metod 2 kräver inte att den ursprungliga remoteGlobal-cachen underhåller en molnbaserad databas med över 200 000 IR-koder. Vem som helst kan registrera och ladda ner upp till 5 koder per dag. Dessa koduppsättningar kan konverteras till LIRC conf -filer på ett AndyMOTE -vänligt sätt med hjälp av gcConvert -applikationen som beskrivs här.

Steg 11: Installera AndyMOTE -serverprogrammet

Installera Libraries liblirc och libboost enligt beskrivningen nedan:

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

Installera sedan git, gå till din hemkatalog och klona andymoteserver -förvaret

$ sudo apt installera git $ cd ~ $ git klon

kompilera sedan källan

$ cd andymoteserver $ make

Flytta den resulterande filen till en lämplig plats; t.ex:

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

Städa upp

$ cd ~ $ rm -Rf andymoteserver

Slutligen, för att köra AndyMOTE Server som en tjänst, skapa filen /lib/systemd/system/andymote.service med innehåll enligt nedan:

[Enhet] Beskrivning = kör AndyMOTE Server som en tjänst [Tjänst] Typ = simpleRemainAfterExit = falseRestart = alwaysRestartSec = 30ExecStop =/bin/trueExecStart =/opt/andymoteserver/andymote [Installera] WantedBy = multi-user.target

Aktivera och starta tjänsten

$ sudo systemctl aktivera andymote $ sudo systemctl start andymote

Steg 12: Och slutligen …

Och slutligen…
Och slutligen…

Bilden ovan visar min server i dess slutliga position (vänster). Enheten till höger på fotot är den infraröda fjärrkontrollförlängaren, den tar emot IR-signalerna från servern och sänder dem igen via 4 IR-sändare (visas inte); dessa är monterade på mina mediaenheter, (TV, förstärkare etc).

Jag hoppas att du tycker om!

Rekommenderad: