Съдържание:

AndyMOTE сървър: 12 стъпки
AndyMOTE сървър: 12 стъпки

Видео: AndyMOTE сървър: 12 стъпки

Видео: AndyMOTE сървър: 12 стъпки
Видео: Призрак (фильм) 2024, Ноември
Anonim
AndyMOTE сървър
AndyMOTE сървър

Исках универсално дистанционно управление за моя mancave и реших, че трябва да мога да направя това с приложение на мобилния си телефон (за предоставяне на потребителския интерфейс) и Raspberry PI за предоставяне на инфрачервения „Blaster“. След малко проучване открих проекта LIRC, който изглеждаше идеален за „Blaster“. Написах собствено приложение за Android (AndyMOTE) и малка програма „Сървър“, за да осигуря интерфейс между двете.

Тази инструкция ви показва как да изградите сървъра

Инструкциите, дадени тук, трябва да работят с Raspian Jessie, те не работят с Raspian Buster и в този момент разбирам, че Raspian вече е заменен с Raspberry Pi OS, имам актуализиран набор от инструкции на моя уебсайт (вижте връзката по-долу), които работят с Raspian Stretch-Lite или Raspian Buster-Lite

Стъпка 1: Списък на елементите

  • RaspberryPi Zero WH
  • Инфрачервен контролер Energenie ENER314-IR
  • Micro SD карта (клас 10) (16GB)
  • Захранване Raspberry Pi
  • (По избор) Калъф (напр.: Pibow Zero W)
  • (По избор) Инфрачервен удължител за дистанционно управление* (1 приемник; 4 предавателя)

Ще ви трябват също монитор, клавиатура и кабели, способни да свързват тези елементи към вашия Raspberry Pi

Стъпка 2: Подгответе вашия Raspberry Pi

Изтеглете Raspian Lite от тук, след което го инсталирайте на вашата SD карта (Инструкции тук).

След като Raspian Lite е инсталиран на вашата SD карта и преди да преместите картата на вашия Raspberry Pi; монтирайте картата на вашия компютър. Създайте празен файл /boot /ssh (това позволява SHH на сървъра) и направете следните редакции във файла /boot/config.txt

# Задайте HDMI на нормален изход hdmi_drive = 2# Задайте HDMI на DMT режим (подходящ за монитори) hdmi_group = 2# Задайте разделителна способност на 800x600 @ 60hzhdmi_mode = 9dtoverlay = lirc-rpi, gpio_in_pin = 18, gpio_out_pin = 17

(Вижте тук за указания относно видео настройките)

Стъпка 3: Сглобете сървъра

Сглобете сървъра
Сглобете сървъра

Първо поставете предварително подготвената си SD карта в Raspberry Pi. Поставете Raspberry Pi в кутията. Имах проблем, че инфрачервеният контролер ENER314-IR се намесва в кутията Pibow, така че не използвах две от частите.

След това включете инфрачервения контролер Energenie ENER314-IR в Raspberry Pi (вижте снимката).

След това свържете Raspberry Pi към клавиатурата (използвайки USB конектор) и монитора (използвайки HDMI конектор … Може да са необходими адаптери).

Накрая включете захранването и изчакайте устройството да се зареди.

Стъпка 4: Настройка на мрежата

Първо, отворете конфигурационния файл на wpa-supplicant, като използвате любимия си редактор (например nano).

$ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Отидете в края на файла и добавете вашата мрежа (напр.).

мрежа = {ssid = "YOUR_SSID" psk = "YOUR_KEY" приоритет = "1" id_str = "YOUR_SSID_NAME"}

Заменете YOUR_SSID, YOUR_KEY и YOUR_SSID_NAME, както е подходящо за вашата мрежа.

Запазете файла, рестартирайте WPA молителя и рестартирайте.

$ wpa_cli -i wlan0 преконфигурирам $ sudo рестартиране

Стъпка 5: Настройка на статичен IP адрес

Препоръчително е вашият сървър да има фиксиран IP адрес. Може да успеете да постигнете това, като конфигурирате подходящо вашия DHCP сървър или, за да настроите интерфейса wlan0 на статичен адрес на Raspberry Pi, редактирайте файла /etc/dhcpcd.conf и включете редовете.

# Примерна конфигурация на статичен IP: интерфейс wlan0static ip_address = 192.168.1.116/24static routers = 192.168.1.1static domain_name_servers = 192.168.1.1 8.8.8.8

Променете 192.168.1.1 на действителния адрес на вашия рутер и 192.168.1.116 на действителния статичен адрес, който ви е необходим за вашето приложение.

* Може да пожелаете да стартирате помощната програма raspi-config и да направите промени в конфигурацията на този етап.

Рестартирайте, когато сте готови.

Стъпка 6: Инсталирайте LIRC

Инсталирайте LIRC с помощта на командата.

$ sudo apt-get install lirc

Редактирайте файла /etc /modules; напр.:

$ sudo nano /etc /модули

и добавете редовете:

lirc_devlirc_rpi gpio_in_pin = 18 gpio_out_pin = 17

Запазете файла и рестартирайте.

$ sudo рестартиране

Стъпка 7: Конфигурирайте LIRC

Редактирайте файла /etc/lirc/hardware.conf, например:

$ sudo nano /etc/lirc/hardware.conf

и да изглежда така:

################################################# ####### /etc/lirc/hardware.conf## Аргументи, които ще се използват при стартиране на lircdLIRCD_ARGS = "-uinput --listen" ## Не стартирайте lircmd дори ако изглежда, че има добра конфигурация файл# START_LIRCMD = false ## Не стартирайте irexec, дори ако изглежда, че съществува добър конфигурационен файл.# START_IREXEC = false ## Опитайте да заредите подходящи модули на ядрото LOAD_MODULES = true ## Изпълнете „lircd --driver = help“за списък с поддържани драйвери. DRIVER = "default" ## обикновено/dev/lirc0 е правилната настройка за системи, използващи udevDEVICE = "/dev/lirc0" MODULES = "lirc_rpi" ## Конфигурационни файлове по подразбиране за вашия хардуер, ако имаLIRCD_CONF = "" LIRCMD_CONF = "" Редактирайте файла /etc/lirc/lirc_options.conf и променете редовете по -долу: driver = defaultdevice =/dev/lirc0

Запазете файла и рестартирайте lircd.

$ sudo systemctl рестартирайте lircd

Стъпка 8: Тестване на приемника

Въведете следната последователност от команди, за да спрете LIRC Daemon и да тествате приемника.

$ sudo systemctl спре lircd $ sudo mode2

Програмата mode2 ще изведе съотношението между маркирани пространства на IR сигнал към конзолата. Насочете дистанционно към вашия IR приемник и натиснете някои бутони. Трябва да видите нещо подобно:

пространство 16300 импулс 95 пространство 28794 импулс 80 пространство 19395 импулс 83 пространство 402351

когато сте готови, натиснете ctl-c и рестартирайте LIRC Daemon, като използвате следната команда.

$ sudo systemctl старт lircd

Стъпка 9: Добавяне на дистанционни управления - Метод 1

LIRC използва конфигурационни файлове, които съдържат данни, свързани с всяко дистанционно управление, които могат да бъдат емулирани от LIRC. Трябва да генерирате или по друг начин да предоставите тези конфигурационни файлове, за да може подсистемата LIRC да работи както желаете.

Важно

Трябва да предоставите отделен конфигурационен файл за всяко дистанционно, което да бъде емулирано. Конфигурационните файлове трябва да се съхраняват в директорията /etc/lirc/lircd.conf.d. Изборът на име на ключ е важен за най -доброто изживяване на AndyMOTE, когато избирате имена за ключовете си, моля, следвайте указанията тук. Конфигурационните файлове също могат да бъдат изтеглени от тук, но имайте предвид, че ако ги използвате, те трябва да съдържат само една отдалечена конфигурация. (Конфигурационните файлове са прости текстови файлове и могат лесно да се редактират, ако е необходимо.

Метод 1 изисква оригиналното дистанционно управление, като се използват следните команди:

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

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

Заменете FILENAME с някакво описателно име за дистанционното управление, което конфигурирате. Последната команда създава „суров“файл и това понякога е необходимо в зависимост от характеристиките на дистанционното управление, което използвате. Превключвателят -n ви позволява да използвате произволно име на ключ (вместо да се ограничавате до списъка с имена на LIRC).

Не забравяйте да рестартирате lircd и да рестартирате, когато приключите.

$ sudo systemctl стартира lircd $ sudo рестартиране

Стъпка 10: Добавяне на дистанционни управления - Метод 2

Метод 2 не изисква оригиналния remoteGlobal-кеш да поддържа базирана в облак база данни с над 200 000 IR кода. Всеки може да се регистрира и изтегли до 5 кодекса на ден. Тези кодови набори могат да бъдат преобразувани в LIRC conf файлове, по AndyMOTE приятелски начин, с помощта на описаното тук приложение gcConvert.

Стъпка 11: Инсталирайте сървърната програма AndyMOTE

Инсталирайте Libraries liblirc и libboost, както е описано по -долу:

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

След това инсталирайте git, отидете в домашната си директория и клонирайте хранилището на andymoteserver

$ sudo apt install git $ cd ~ $ git clone

след това компилирайте източника

$ cd andymoteserver $ make

Преместете получения файл на удобно място; напр.:

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

Разтребвам

$ cd ~ $ rm -Rf andymoteserver

И накрая, за да стартирате AndyMOTE Server като услуга, създайте файла /lib/systemd/system/andymote.service със съдържание, както е показано по -долу:

[Единица] Описание = стартирайте AndyMOTE сървър като услуга [услуга] Тип = simpleRemainAfterExit = falseRestart = alwaysRestartSec = 30ExecStop =/bin/trueExecStart =/opt/andymoteserver/andymote [Инсталиране] WantedBy = многопотребителски целеви

Активирайте и стартирайте услугата

$ sudo systemctl активира andymote $ sudo systemctl стартира andymote

Стъпка 12: И накрая …

И накрая…
И накрая…

Горната снимка показва моя сървър в крайната му позиция (вляво). Устройството вдясно на снимката е инфрачервеният удължител за дистанционно управление, който приема инфрачервените сигнали от сървъра и ги предава отново чрез 4 инфрачервени предавателя (не са показани); те са монтирани на моите медийни устройства (телевизор, усилвател и др.).

Надявам се да ви хареса!

Препоръчано: