Obsah:

Server AndyMOTE: 12 krokov
Server AndyMOTE: 12 krokov
Anonim
Server AndyMOTE
Server AndyMOTE

Chcel som univerzálne diaľkové ovládanie pre svoju mancave a zistil som, že by som to mal zvládnuť pomocou aplikácie na svojom mobilnom telefóne (na poskytnutie používateľského rozhrania) a Raspberry PI na poskytnutie infračerveného „Blasteru“. Po menšom skúmaní som objavil projekt LIRC, ktorý vyzeral ideálne pre „Blaster“. Napísal som vlastnú aplikáciu pre Android (AndyMOTE) a malý „serverový“program, aby som poskytol rozhranie medzi nimi.

Tento návod vám ukáže, ako vytvoriť server

Tu uvedené pokyny by mali fungovať s Raspian Jessie, nefungujú s Raspian Buster a v tomto bode chápem, že Raspian bol teraz nahradený operačným systémom Raspberry Pi, na svojom webe mám aktualizovaný súbor pokynov (pozri odkaz nižšie), ktoré fungujú s Raspian Stretch-Lite alebo Raspian Buster-Lite

Krok 1: Zoznam položiek

  • RaspberryPi Zero WH
  • Energenie ENER314-IR infračervený ovládač
  • Karta Micro SD (trieda 10) (16 GB)
  • Napájací zdroj Raspberry Pi
  • (Voliteľné) Puzdro (napr.: Pibow Zero W)
  • (Voliteľné) Predlžovač infračerveného diaľkového ovládania* (1 prijímač; 4 vysielače)

Budete tiež potrebovať monitor, klávesnicu a káble schopné pripojiť tieto položky k vášmu Raspberry Pi

Krok 2: Pripravte si Raspberry Pi

Odtiaľto si stiahnite Raspian Lite a potom ho nainštalujte na svoju SD kartu (pokyny nájdete tu).

Akonáhle je Raspian Lite nainštalovaný na vašej SD karte a predtým, ako ju presuniete na Raspberry Pi; pripojte kartu k počítaču. Vytvorte prázdny súbor /boot /ssh (to umožní SHH na serveri) a vykonajte nasledujúce úpravy súboru /boot/config.txt

# Nastavte HDMI na normálny outputhdmi_drive = 2# Nastavte HDMI na režim DMT (vhodné pre monitory) hdmi_group = 2# Nastavte rozlíšenie na 800x600 @ 60hzhdmi_mode = 9dtoverlay = lirc-rpi, gpio_in_pin = 18, gpio_out_pin = 17

(Pokyny k nastaveniam videa nájdete tu)

Krok 3: Zostavte server

Zostavte server
Zostavte server

Najprv vložte svoju vopred pripravenú kartu SD do Raspberry Pi. Vložte Raspberry Pi do puzdra. Mal som problém, že ovládač ENER314-IR Infra Red zasahoval do puzdra Pibow, takže nepoužil dva kusy.

Potom zapojte infračervený ovládač Energenie ENER314-IR do Raspberry Pi (pozri obrázok).

Potom pripojte Raspberry Pi k klávesnici (pomocou konektora USB) a monitoru (pomocou konektora HDMI … Môžu byť potrebné adaptéry).

Nakoniec zapnite napájanie a počkajte, kým sa jednotka naštartuje.

Krok 4: Nastavenie siete

Najprv otvorte konfiguračný súbor wpa-proscant pomocou svojho obľúbeného editora (napr. Nano).

$ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Choďte na koniec súboru a pridajte svoju sieť (napr.).

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

Nahraďte YOUR_SSID, YOUR_KEY a YOUR_SSID_NAME podľa potreby pre vašu sieť.

Uložte súbor, reštartujte žiadateľa WPA a reštartujte počítač.

$ wpa_cli -i wlan0 prekonfigurovať $ sudo reštart

Krok 5: Nastavte statickú adresu IP

Odporúčame, aby mal váš server pevnú adresu IP. Toho môžete dosiahnuť vhodnou konfiguráciou servera DHCP alebo ak chcete nastaviť rozhranie wlan0 na statickú adresu na Raspberry Pi, upravte súbor /etc/dhcpcd.conf a zahrňte riadky.

# Príklad konfigurácie statickej IP: rozhranie wlan0static ip_address = 192.168.1.116/24 statické smerovače = 192.168.1.1statická doména_názov_služieb = 192.168.1.1 8.8.8.8

Zmeňte 192.168.1.1 na skutočnú adresu smerovača a 192.168.1.116 na skutočnú statickú adresu, ktorú požadujete pre svoju aplikáciu.

* Možno budete chcieť spustiť obslužný program raspi-config a v tomto mieste vykonať akékoľvek konfiguračné zmeny.

Po dokončení reštartujte počítač.

Krok 6: Nainštalujte LIRC

Nainštalujte LIRC pomocou príkazu.

$ sudo apt-get install lirc

Upravte súbor /etc /modules; napr:

$ sudo nano /etc /modules

a pridajte riadky:

lirc_devlirc_rpi gpio_in_pin = 18 gpio_out_pin = 17

Uložte súbor a reštartujte počítač.

$ sudo reštart

Krok 7: Konfigurujte LIRC

Upravte súbor /etc/lirc/hardware.conf, napr.:

$ sudo nano /etc/lirc/hardware.conf

a aby to vyzeralo takto:

###################################################################### ####### ####### /etc/lirc/hardware.conf## Argumenty, ktoré budú použité pri spustení lircdLIRCD_ARGS = "-uinput --listen" ## Nezačínajte s lircmd, aj keď sa zdá, že existuje dobrá konfigurácia súbor# START_LIRCMD = false ## Nespúšťajte irexec, aj keď sa zdá, že existuje dobrý konfiguračný súbor.# START_IREXEC = false ## Skúste načítať vhodné moduly jadraLOAD_MODULES = true ## Spustiť „lircd --driver = help“pre zoznam podporovaných ovládačov. DRIVER = "predvolené" ## obvykle/dev/lirc0 je správne nastavenie pre systémy používajúce udevDEVICE = "/dev/lirc0" MODULES = "lirc_rpi" ## Predvolené konfiguračné súbory pre váš hardvér, ak existujeLIRCD_CONF = "" LIRCMD_CONF = "" Upravte súbor /etc/lirc/lirc_options.conf a upravte riadky nasledujúcim spôsobom: driver = defaultdevice =/dev/lirc0

Uložte súbor a reštartujte lircd.

$ sudo systemctl reštartujte lircd

Krok 8: Testovanie prijímača

Zadajte nasledujúci sled príkazov na zastavenie démona LIRC a testovanie prijímača.

$ sudo systemctl stop lircd $ sudo mode2

Program mode2 bude na konzolu prenášať pomer značkového priestoru IR signálu. Namierte diaľkový ovládač na IR prijímač a stlačte niektoré tlačidlá. Mali by ste vidieť niečo také:

priestor 16300 pulz 95 priestor 0,28794 pulz 80 priestor 19395 pulz 83 priestor 402351

keď ste skončili, stlačte ctl-c a reštartujte LIRC Daemon pomocou nasledujúceho príkazu.

$ sudo systemctl start lircd

Krok 9: Pridajte diaľkové ovládače - metóda 1

LIRC používa konfiguračné súbory, ktoré obsahujú údaje týkajúce sa každého diaľkového ovládača, ktoré môže emulovať LIRC. Tieto konfiguračné súbory musíte vygenerovať alebo inak poskytnúť, aby podsystém LIRC fungoval podľa potreby.

Dôležité

Pre každý emulátor, ktorý sa má emulovať, musíte poskytnúť individuálny konfiguračný súbor. Konfiguračné súbory musia byť uložené v adresári /etc/lirc/lircd.conf.d. Voľba názvu kľúča je dôležitá pre najlepší zážitok AndyMOTE. Pri výbere mien pre kľúče postupujte podľa týchto pokynov. Odtiaľto je možné stiahnuť aj konfiguračné súbory, ale dajte si pozor na to, že ak ich používate, musia obsahovať iba jednu vzdialenú konfiguráciu. (Súbory konfigurácie sú jednoduché textové súbory a v prípade potreby ich možno ľahko upravovať.

Metóda 1 vyžaduje pôvodný diaľkový ovládač s použitím nasledujúcich príkazov:

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

-ALEBO-

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

Nahraďte FILENAME nejakým popisným názvom pre diaľkový ovládač, ktorý konfigurujete. Posledný uvedený príkaz vytvorí „surový“súbor a ten je niekedy potrebný v závislosti od vlastností diaľkového ovládača, ktorý používate. Prepínač -n vám umožňuje použiť ľubovoľný názov kľúča, ktorý sa vám páči (nie však obmedzený iba na zoznam názvov LIRC).

Po dokončení nezabudnite reštartovať lircd a reštartovať počítač.

$ sudo systemctl start lircd $ sudo reboot

Krok 10: Pridajte diaľkové ovládače - metóda 2

Metóda 2 nevyžaduje, aby pôvodná RemoteGlobal-cache udržiavala cloudovú databázu s viac ako 200 000 IR kódmi. Ktokoľvek sa môže zaregistrovať a stiahnuť až 5 kódových súborov za deň. Tieto sady kódov je možné konvertovať na súbory LIRC conf, priateľským spôsobom k AndyMOTE, pomocou tu popísanej aplikácie gcConvert.

Krok 11: Nainštalujte serverový program AndyMOTE

Nainštalujte knižnice liblirc a libboost, ako je popísané nižšie:

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

Ďalej nainštalujte git, prejdite do svojho domovského adresára a naklonujte úložisko andymoteserver

$ sudo apt install git $ cd ~ $ git clone

potom skompilovať zdroj

$ cd andymoteserver $ make

Presuňte výsledný súbor na vhodné miesto; napr.:

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

Upratať

$ cd ~ $ rm -Rf andymoteserver

Nakoniec, ak chcete spustiť server AndyMOTE ako službu, vytvorte súbor /lib/systemd/system/andymote.service s obsahom, ako je uvedené nižšie:

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

Povoľte a spustite službu

$ sudo systemctl povoliť andymote $ sudo systemctl spustiť andymote

Krok 12: A nakoniec…

A nakoniec…
A nakoniec…

Vyššie uvedený obrázok ukazuje môj server v jeho konečnej polohe (vľavo). Zariadenie napravo od fotografie je infračervený diaľkový ovládač, ktorý prijíma infračervené signály zo servera a znova ich vysiela prostredníctvom 4 infračervených vysielačov (nezobrazené); tieto sú namontované na mojich mediálnych zariadeniach (televízor, zosilňovač atď.)

Dúfam, že si užívaš!

Odporúča: