Cuprins:

Server AndyMOTE: 12 pași
Server AndyMOTE: 12 pași

Video: Server AndyMOTE: 12 pași

Video: Server AndyMOTE: 12 pași
Video: Skeleton hits the Griddy ☠️ 2024, Noiembrie
Anonim
Server AndyMOTE
Server AndyMOTE

Am vrut o telecomandă universală pentru lipsa mea și m-am gândit că ar trebui să pot face acest lucru cu o aplicație de pe telefonul meu mobil (pentru a furniza interfața utilizatorului) și un Raspberry PI pentru a furniza „Blaster” Infra Red. După o mică investigație am descoperit proiectul LIRC care părea ideal pentru „Blaster”. Am scris propria mea aplicație Android (AndyMOTE) și un mic program „Server” pentru a oferi o interfață între cei doi.

Acest instructable vă arată cum să construiți serverul

Instrucțiunile date aici ar trebui să funcționeze cu Raspian Jessie, acestea nu funcționează cu Raspian Buster și, în acest moment, înțeleg că Raspian a fost înlocuit cu Raspberry Pi OS, am un set actualizat de instrucțiuni pe site-ul meu (vezi linkul mai jos) care funcționează cu Raspian Stretch-Lite sau Raspian Buster-Lite

Pasul 1: Lista articolelor

  • RaspberryPi Zero WH
  • Energenie ENER314-IR Infra Red Controller
  • Card Micro SD (Clasa 10) (16 GB)
  • Sursa de alimentare Raspberry Pi
  • (Opțional) Carcasă (de exemplu: Pibow Zero W)
  • (Opțional) Extensor de telecomandă cu infraroșu * (1 receptor; 4 emițătoare)

De asemenea, veți avea nevoie de un monitor, o tastatură și cabluri capabile să conecteze aceste articole la Raspberry Pi

Pasul 2: Pregătiți-vă Raspberry Pi

Descărcați Raspian Lite de aici, apoi instalați-l pe cardul SD (Instrucțiuni aici).

Odată ce Raspian Lite este instalat pe cardul SD și înainte de a muta cardul pe Raspberry Pi; montați cardul pe computer. Creați un fișier / boot / ssh gol (acest lucru activează SHH pe server) și efectuați următoarele modificări la fișierul /boot/config.txt

# Setați HDMI la ieșire normală hdmi_drive = 2 # Setați HDMI la modul DMT (adaptabil pentru monitoare) hdmi_group = 2 # Setați rezoluția la 800x600 @ 60hzhdmi_mode = 9dtoverlay = lirc-rpi, gpio_in_pin = 18, gpio_out_pin = 17

(Vedeți aici pentru îndrumări despre setările video)

Pasul 3: Asamblați serverul

Asamblați serverul
Asamblați serverul

Mai întâi, introduceți cardul SD pre-pregătit în Raspberry Pi. Puneți Raspberry Pi în cazul său. Am avut o problemă cu faptul că ENER314-IR Infra Red Controller a interferat cu carcasa Pibow, deci nu a folosit două dintre piese.

Apoi, conectați controlerul infrarosu Energenie ENER314-IR la Raspberry Pi (a se vedea imaginea).

Apoi, conectați Raspberry Pi la tastatură (utilizând conector USB) și monitor (utilizând conector HDMI … Este posibil să fie necesare adaptoare).

În cele din urmă, porniți și așteptați ca unitatea să pornească.

Pasul 4: Configurați rețeaua

Mai întâi, deschideți fișierul de configurare wpa-supplicant folosind editorul dvs. preferat (de exemplu, nano).

$ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Mergeți la sfârșitul fișierului și adăugați rețeaua (de exemplu).

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

Înlocuiți YOUR_SSID, YOUR_KEY și YOUR_SSID_NAME după cum este potrivit pentru rețeaua dvs.

Salvați fișierul, reporniți solicitantul WPA și reporniți.

$ wpa_cli -i wlan0 reconfigurează $ sudo reboot

Pasul 5: Configurați adresa IP statică

Este recomandat ca serverul dvs. să aibă o adresă IP fixă. Puteți realiza acest lucru configurând serverul DHCP în mod corespunzător sau, pentru a seta interfața wlan0 la o adresă statică pe Raspberry Pi, editați fișierul /etc/dhcpcd.conf și includeți liniile.

# Exemplu de configurare IP statică: interfață wlan0static ip_address = 192.168.1.116 / 24static routers = 192.168.1.1static domain_name_servers = 192.168.1.1 8.8.8.8

Schimbați 192.168.1.1 la adresa reală a routerului dvs. și 192.168.1.116 la adresa statică reală de care aveți nevoie pentru aplicația dvs.

* Este posibil să doriți să rulați utilitarul raspi-config și să efectuați orice modificări de configurare în acest moment.

Reporniți când ați terminat.

Pasul 6: Instalați LIRC

Instalați LIRC folosind comanda.

$ sudo apt-get install lirc

Editați fișierul / etc / modules; de exemplu:

$ sudo nano / etc / modules

și adăugați liniile:

lirc_devlirc_rpi gpio_in_pin = 18 gpio_out_pin = 17

Salvați fișierul și reporniți.

$ sudo reporniți

Pasul 7: Configurați LIRC

Editați fișierul /etc/lirc/hardware.conf, de exemplu:

$ sudo nano /etc/lirc/hardware.conf

și face să arate astfel:

###################################################### ####### /etc/lirc/hardware.conf## Argumente care vor fi folosite la lansarea lircdLIRCD_ARGS = "- uinput --listen" ## Nu porniți lircmd chiar dacă pare să existe o configurare bună fișier # START_LIRCMD = fals ## Nu porniți irexec, chiar dacă pare să existe un fișier de configurare bun. # START_IREXEC = fals ## Încercați să încărcați modulele kernel corespunzătoare LOAD_MODULES = adevărat ## Rulați "lircd --driver = help" pentru un lista de drivere acceptate. DRIVER = "implicit" ## de obicei / dev / lirc0 este setarea corectă pentru sistemele care utilizează udevDEVICE = "/ dev / lirc0" MODULES = "lirc_rpi" ## Fișiere de configurare implicite pentru hardware-ul dvs. dacă există LIRCD_CONF = "" LIRCMD_CONF = "" Editați fișierul /etc/lirc/lirc_options.conf și modificați liniile după cum urmează: driver = defaultdevice = / dev / lirc0

Salvați fișierul și reporniți lircd.

$ sudo systemctl reporniți lircd

Pasul 8: Testarea receptorului

Introduceți următoarea secvență de comenzi pentru a opri demonul LIRC și testați receptorul.

$ sudo systemctl stop lircd $ sudo mode2

Programul mode2 va transmite raportul spațiu-marcaj al unui semnal IR către consolă. Îndreptați o telecomandă către receptorul IR și apăsați câteva butoane. Ar trebui să vedeți așa ceva:

spațiu 16300 impuls 95 spațiu 28794 impuls 80 spațiu 19395 impuls 83 spațiu 402351

când ați terminat apăsați ctl-c și reporniți LIRC Daemon folosind următoarea comandă.

$ sudo systemctl începe lircd

Pasul 9: Adăugați telecomenzi - Metoda 1

LIRC folosește fișiere de configurare care conțin date referitoare la fiecare telecomandă care pot fi emulate de LIRC. Trebuie să generați sau să furnizați altfel aceste fișiere de configurare pentru ca subsistemul LIRC să funcționeze după cum doriți.

Important

Trebuie să furnizați un fișier de configurare individual pentru fiecare telecomandă care trebuie emulată. Fișierele de configurare trebuie stocate în directorul /etc/lirc/lircd.conf.d. Alegerea numelui cheii este importantă pentru cea mai bună experiență AndyMOTE, atunci când selectați numele pentru cheile dvs., vă rugăm să urmați instrucțiunile de aici. Fișierele de configurare pot fi, de asemenea, descărcate de aici, dar aveți grijă că, dacă le utilizați, trebuie să conțină o singură configurație la distanță. (Fișierele de configurare sunt fișiere text simple și pot fi ușor editate dacă este necesar.

Metoda 1 necesită telecomanda originală folosind următoarele comenzi:

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

- SAU -

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

Înlocuiți FILENAME cu un nume descriptiv pentru telecomanda pe care o configurați. Această din urmă comandă creează un fișier „brut” și acest lucru este uneori necesar în funcție de caracteristicile telecomenzii pe care o utilizați. Comutatorul -n vă permite să utilizați orice nume de cheie doriți (mai degrabă decât să fiți limitat la lista LIRC namespace).

Nu uitați să reporniți lircd și să reporniți când ați terminat.

$ sudo systemctl start lircd $ sudo reboot

Pasul 10: Adăugați telecomenzi - Metoda 2

Metoda 2 nu necesită ca memoria originală Global-cache să mențină o bază de date bazată pe cloud de peste 200 000 de coduri IR. Oricine se poate înregistra și descărca până la 5 seturi de coduri pe zi. Aceste seturi de coduri pot fi convertite în fișiere LIRC conf, într-un mod prietenos AndyMOTE, utilizând aplicația gcConvert descrisă aici.

Pasul 11: Instalați programul AndyMOTE Server

Instalați Bibliotecile liblirc și libboost așa cum este descris mai jos:

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

Apoi, instalați git, mergeți la directorul de acasă și clonați depozitul andymoteserver

$ sudo apt install git $ cd ~ $ git clone

apoi compilați sursa

$ cd andymoteserver $ make

Mutați fișierul rezultat într-o locație convenabilă; de exemplu:

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

Aranjează

$ cd ~ $ rm -Rf andymoteserver

În cele din urmă, pentru a rula AndyMOTE Server ca serviciu, creați fișierul /lib/systemd/system/andymote.service cu conținut așa cum se arată mai jos:

[Unitate] Descriere = rulați AndyMOTE Server ca serviciu [Service] Type = simpleRemainAfterExit = falseRestart = alwaysRestartSec = 30ExecStop = / bin / trueExecStart = / opt / andymoteserver / andymote [Install] WantedBy = multi-user.target

Activați și porniți serviciul

$ sudo systemctl activa andymote $ sudo systemctl start andymote

Pasul 12: Și în cele din urmă …

Și, în sfârșit…
Și, în sfârșit…

Imaginea de mai sus arată serverul meu în poziția sa finală (stânga). Dispozitivul din dreapta fotografiei este Extenderul de control la distanță cu infraroșu, acesta primește semnalele IR de la server și le retransmite prin intermediul a 4 transmițătoare IR (nu sunt afișate); acestea sunt montate pe dispozitivele mele media (TV, amplificator etc.).

Sper că îți place!

Recomandat: