Spisu treści:

Serwer AndyMOTE: 12 kroków
Serwer AndyMOTE: 12 kroków

Wideo: Serwer AndyMOTE: 12 kroków

Wideo: Serwer AndyMOTE: 12 kroków
Wideo: DRIVING THE CHEAPEST RC CAR AT TARGET OFF A BUILDING. 2024, Listopad
Anonim
Serwer AndyMOTE
Serwer AndyMOTE

Chciałem uniwersalnego pilota do mojej jaskini i pomyślałem, że powinienem to zrobić za pomocą aplikacji na moim telefonie komórkowym (aby zapewnić interfejs użytkownika) i Raspberry PI, aby zapewnić „Blaster” podczerwieni. Po krótkim dochodzeniu odkryłem projekt LIRC, który wyglądał idealnie dla „Blastera”. Napisałem własną aplikację na Androida (AndyMOTE) i mały program „serwerowy”, aby zapewnić interfejs między nimi.

Ta instrukcja pokazuje, jak zbudować serwer

Podane tutaj instrukcje powinny działać z Raspianem Jessie, nie działają z Raspianem Busterem i w tym momencie rozumiem, że Raspian został teraz zastąpiony przez Raspberry Pi OS. Mam zaktualizowany zestaw instrukcji na mojej stronie internetowej (patrz link poniżej), które współpracują z Raspian Stretch-Lite lub Raspian Buster-Lite

Krok 1: Lista przedmiotów

  • RaspberryPi Zero WH
  • Sterownik na podczerwień Energenie ENER314-IR
  • Karta microSD (klasa 10) (16 GB)
  • Zasilacz Raspberry Pi
  • (Opcjonalnie) Etui (np. Pibow Zero W)
  • (Opcjonalnie) Przedłużacz pilota na podczerwień* (1 odbiornik; 4 nadajniki)

Potrzebny będzie również monitor, klawiatura i kable umożliwiające podłączenie tych elementów do Raspberry Pi

Krok 2: Przygotuj swoje Raspberry Pi

Pobierz Raspian Lite stąd, a następnie zainstaluj go na karcie SD (instrukcje tutaj).

Po zainstalowaniu Raspian Lite na karcie SD i przed przeniesieniem karty do Raspberry Pi; zamontuj kartę na swoim komputerze. Utwórz pusty plik /boot/ssh (umożliwia to SHH na serwerze) i dokonaj następujących zmian w pliku /boot/config.txt

# Ustaw HDMI na normalne wyjściehdmi_drive=2# Ustaw HDMI na tryb DMT (odpowiedni dla monitorów)hdmi_group=2# Ustaw rozdzielczość na 800x600 @ 60hzhdmi_mode=9dtoverlay=lirc-rpi, gpio_in_pin=18, gpio_out_pin=17

(Zobacz tutaj, aby uzyskać wskazówki dotyczące ustawień wideo)

Krok 3: Złóż serwer

Złóż serwer
Złóż serwer

Najpierw włóż przygotowaną kartę SD do Raspberry Pi. Włóż Raspberry Pi do obudowy. Miałem problem, że kontroler podczerwieni ENER314-IR ingerował w obudowę Pibow, więc nie użyłem dwóch z nich.

Następnie podłącz kontroler podczerwieni Energenie ENER314-IR do Raspberry Pi (patrz rysunek).

Następnie podłącz Raspberry Pi do klawiatury (za pomocą złącza USB) i monitora (za pomocą złącza HDMI… Mogą być potrzebne adaptery).

Na koniec włącz zasilanie i poczekaj, aż urządzenie się uruchomi.

Krok 4: Skonfiguruj sieć

Najpierw otwórz plik konfiguracyjny wpa-supplicant używając swojego ulubionego edytora (np. nano).

$ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Przejdź na koniec pliku i dodaj swoją sieć (np.).

network={ ssid="TWÓJ_SSID" psk="TWÓJ_KLUCZ" priority="1" id_str="TWÓJ_SSID_NAME"}

Zastąp YOUR_SSID, YOUR_KEY i YOUR_SSID_NAME zgodnie z potrzebami Twojej sieci.

Zapisz plik, uruchom ponownie suplikanta WPA i uruchom ponownie.

$ wpa_cli -i wlan0 reconfigure$ sudo restart

Krok 5: Ustaw statyczny adres IP

Zaleca się, aby Twój serwer miał stały adres IP. Możesz to osiągnąć, odpowiednio konfigurując serwer DHCP lub, aby ustawić interfejs wlan0 na statyczny adres na Raspberry Pi, edytuj plik /etc/dhcpcd.conf i dołącz wiersze.

# Przykładowa konfiguracja statycznego adresu IP: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

Zmień 192.168.1.1 na rzeczywisty adres routera, a 192.168.1.116 na rzeczywisty adres statyczny, którego potrzebujesz dla swojej aplikacji.

* W tym momencie możesz uruchomić narzędzie raspi-config i wprowadzić zmiany w konfiguracji.

Po zakończeniu uruchom ponownie.

Krok 6: Zainstaluj LIRC

Zainstaluj LIRC za pomocą polecenia.

$ sudo apt-get install lirc

Edytuj plik /etc/modules; np:

$ sudo nano /etc/moduły

i dodaj wiersze:

lirc_devlirc_rpi gpio_in_pin=18 gpio_out_pin=17

Zapisz plik i uruchom ponownie.

$ restart sudo

Krok 7: Skonfiguruj LIRC

Edytuj plik /etc/lirc/hardware.conf, np.:

$ sudo nano /etc/lirc/hardware.conf

i spraw, żeby wyglądało to tak:

################################################## ####### /etc/lirc/hardware.conf## Argumenty, które zostaną użyte podczas uruchamiania lircdLIRCD_ARGS="--uinput --listen"## Nie uruchamiaj lircmd nawet jeśli wydaje się, że konfiguracja jest dobra file# START_LIRCMD=false## Nie uruchamiaj irexec, nawet jeśli wydaje się istnieć dobry plik konfiguracyjny.# START_IREXEC=false## Spróbuj załadować odpowiednie moduły jądraLOAD_MODULES=true## Uruchom "lircd --driver=help" dla lista obsługiwanych sterowników. DRIVER="default"## zwykle /dev/lirc0 jest poprawnym ustawieniem dla systemów używających udevDEVICE="/dev/lirc0"MODULES="lirc_rpi"## Domyślne pliki konfiguracyjne dla twojego sprzętu, jeśli LIRCMD_CONF=""Edytuj plik /etc/lirc/lirc_options.conf i zmodyfikuj wiersze jak poniżej:driver = defaultdevice = /dev/lirc0

Zapisz plik i uruchom ponownie lircd.

$ sudo systemctl restart lircd

Krok 8: Testowanie odbiornika

Wprowadź następującą sekwencję poleceń, aby zatrzymać demona LIRC i przetestować odbiornik.

$ sudo systemctl stop lircd$ tryb sudo2

Program mode2 wyśle do konsoli stosunek znak-przestrzeń sygnału IR. Skieruj pilota na odbiornik podczerwieni i naciśnij kilka przycisków. Powinieneś zobaczyć coś takiego:

spacja 16300puls 95spacja 28794impuls 80spacja 19395impuls 83spacja 402351

kiedy skończysz, naciśnij ctl-c i zrestartuj demona LIRC za pomocą następującego polecenia.

$ sudo systemctl start lircd

Krok 9: Dodaj piloty - metoda 1

LIRC wykorzystuje pliki konfiguracyjne zawierające dane dotyczące każdego pilota zdalnego sterowania, które mogą być emulowane przez LIRC. Aby podsystem LIRC działał zgodnie z potrzebami, należy wygenerować lub w inny sposób dostarczyć te pliki konfiguracyjne.

Ważny

Musisz dostarczyć osobny plik konfiguracyjny dla każdego pilota, który ma być emulowany. Pliki konfiguracyjne muszą być przechowywane w katalogu /etc/lirc/lircd.conf.d. Wybór nazwy klucza jest ważny dla najlepszego doświadczenia AndyMOTE, wybierając nazwy dla swoich kluczy, postępuj zgodnie z wytycznymi tutaj. Pliki konfiguracyjne można również pobrać stąd, ale pamiętaj, że jeśli z nich korzystasz, muszą zawierać tylko jedną zdalną konfigurację. (Pliki konfiguracyjne to proste pliki tekstowe, które w razie potrzeby można łatwo edytować.

Metoda 1 wymaga oryginalnego pilota za pomocą następujących poleceń:

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

$ sudo irrecord -f -n ~/NAZWA PLIKU.conf

Zastąp FILENAME jakąś opisową nazwą konfigurowanego pilota. To ostatnie polecenie tworzy „surowy” plik i jest to czasami potrzebne w zależności od właściwości używanego pilota. Przełącznik -n pozwala na użycie dowolnej nazwy klucza (zamiast ograniczać się do listy przestrzeni nazw LIRC).

Pamiętaj, aby ponownie uruchomić lircd i ponownie uruchomić komputer, gdy skończysz.

$ sudo systemctl start lircd$ sudo restart

Krok 10: Dodaj piloty - metoda 2

Metoda 2 nie wymaga, aby oryginalna pamięć podręczna remoteGlobal utrzymywała bazę danych w chmurze zawierającą ponad 200 000 kodów IR. Każdy może zarejestrować i pobrać do 5 zestawów kodów dziennie. Te zestawy kodów można przekonwertować na pliki konfiguracyjne LIRC, w przyjazny dla AndyMOTE sposób, za pomocą opisanej tutaj aplikacji gcConvert.

Krok 11: Zainstaluj program AndyMOTE Server

Zainstaluj biblioteki liblirc i libboost, jak opisano poniżej:

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

Następnie zainstaluj git, przejdź do katalogu domowego i sklonuj repozytorium andymoteserver

$ sudo apt install git$ cd ~$ git clone

następnie skompiluj źródło

$ cd andymoteserver$ make

Przenieś wynikowy plik do dogodnej lokalizacji; np:

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

Sprzątać

$ cd ~ $ rm -Rf andymoteserver

Na koniec, aby uruchomić AndyMOTE Server jako usługę, utwórz plik /lib/systemd/system/andymote.service z zawartością, jak pokazano poniżej:

[Unit]Description=uruchom AndyMOTE Server jako usługę[Service]Type=simpleRemainAfterExit=falseRestart=alwaysRestartSec=30ExecStop=/bin/trueExecStart=/opt/andymoteserver/andymote[Install]WantedBy=multi-user.target

Włącz i uruchom usługę

$ sudo systemctl enable andymote$ sudo systemctl start andymote

Krok 12: I wreszcie…

I w końcu…
I w końcu…

Powyższy obrazek pokazuje mój serwer w jego końcowej pozycji (po lewej). Urządzenie po prawej stronie zdjęcia to przedłużacz pilota na podczerwień, który odbiera sygnały IR z serwera i retransmituje je za pomocą 4 nadajników IR (nie pokazano); są one zamontowane na moich urządzeniach multimedialnych (telewizor, wzmacniacz itp.).

Mam nadzieję, że Ci się podoba!

Zalecana: