Talaan ng mga Nilalaman:

AndyMOTE Server: 12 Mga Hakbang
AndyMOTE Server: 12 Mga Hakbang

Video: AndyMOTE Server: 12 Mga Hakbang

Video: AndyMOTE Server: 12 Mga Hakbang
Video: Skeleton hits the Griddy ☠️ 2024, Nobyembre
Anonim
AndyMOTE Server
AndyMOTE Server

Nais ko ng isang unibersal na remote control para sa aking mancave at naisip kong dapat kong magawa ito sa isang app sa aking mobile phone (upang ibigay ang User Interface) at isang Raspberry PI upang ibigay ang Infra Red 'Blaster'. Matapos ang isang maliit na pagsisiyasat natuklasan ko ang proyekto ng LIRC na mukhang perpekto para sa 'Blaster'. Sinulat ko ang aking sariling Android App (AndyMOTE) at isang maliit na 'Server' Program upang magbigay ng isang interface sa pagitan ng dalawa.

Ipinapakita sa iyo ng itinuturo na ito kung paano bumuo ng server

Ang mga tagubiling ibinigay dito ay dapat na gumana sa Raspian Jessie, hindi sila gumagana sa Raspian Buster at, sa puntong ito, naiintindihan ko na ang Raspian ay pinalitan na ngayon ng Raspberry Pi OS, mayroon akong isang na-update na hanay ng mga tagubilin sa aking website (tingnan ang link sa ibaba) na gumagana sa Raspian Stretch-Lite o Raspian Buster-Lite

Hakbang 1: Listahan ng Mga Item

  • RaspberryPi Zero WH
  • Energenie ENER314-IR Infra Red Controller
  • Micro SD Card (Class 10) (16GB)
  • Suplay ng Lakas ng Raspberry Pi
  • (Opsyonal) Kaso (hal: Pibow Zero W)
  • (Opsyonal) Infrared Remote Control Extender * (1 Receiver; 4 Transmitter)

Kakailanganin mo rin ang isang Monitor, isang Keyboard at mga cable na may kakayahang ikonekta ang mga item na ito sa iyong Raspberry Pi

Hakbang 2: Ihanda ang Iyong Raspberry Pi

I-download ang Raspian Lite mula dito pagkatapos i-install ito sa iyong SD Card (Mga Tagubilin dito).

Sa sandaling naka-install ang Raspian Lite sa iyong SD Card at bago mo ilipat ang card sa iyong Raspberry Pi; i-mount ang card sa iyong PC. Lumikha ng isang walang laman na file / boot / ssh (nagbibigay-daan ito sa SHH sa server) at gawin ang mga sumusunod na pag-edit sa file /boot/config.txt

# Itakda ang HDMI sa Normal na outputhdmi_drive = 2 # Itakda ang HDMI sa DMT Mode (sutable para sa Mga Monitor) hdmi_group = 2 # Itakda ang Resolusyon sa 800x600 @ 60hzhdmi_mode = 9dtoverlay = lirc-rpi, gpio_in_pin = 18, gpio_out_pin = 17

(Tingnan dito para sa patnubay sa mga setting ng video)

Hakbang 3: Tipunin ang Server

Ipunin ang Server
Ipunin ang Server

Una, ipasok ang iyong paunang handa na SD Card sa Raspberry Pi. Ilagay ang Raspberry Pi kung sakali. Nagkaroon ako ng isang isyu na ang ENER314-IR Infra Red Controller ay nakagambala sa kaso ng Pibow kaya hindi gumamit ng dalawa sa mga piraso.

Susunod, isaksak ang Energenie ENER314-IR Infra Red Controller sa Raspberry Pi (tingnan ang larawan).

Pagkatapos, ikonekta ang Raspberry Pi sa keyboard (gamit ang USB konektor) at monitor (gamit ang HDMI konektor … Maaaring kailanganin ang mga adapter).

Panghuli, paganahin at hintaying mag-boot ang yunit.

Hakbang 4: Setup Network

Una, buksan ang file na pagsasaayos ng wpa-supplicant gamit ang iyong paboritong editor (hal. Nano).

$ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Goto ang pagtatapos ng file at idagdag ang iyong network (hal.).

network = {ssid = "HIS_SSID" psk = "HIS_KEY" priority = "1" id_str = "HIS_SSID_NAME"}

Palitan ang IYONG_SSID, IYONG_KEY at IYONG_SSID_NAME na naaangkop para sa iyong network.

I-save ang file, i-restart ang nagsumamo ng WPA at i-reboot.

$ wpa_cli -i wlan0 reconfigure $ sudo reboot

Hakbang 5: Pag-setup ng Static IP Address

Inirerekumenda na ang iyong server ay mayroong isang nakapirming IP Address. Maaari mong makamit ito sa pamamagitan ng pag-configure ng iyong DHCP server nang naaangkop o, upang itakda ang interface ng wlan0 sa isang static na address sa Raspberry Pi, i-edit ang file /etc/dhcpcd.conf at isama ang mga linya.

# Halimbawa ng static IP config: interface wlan0static ip_address = 192.168.1.116 / 24static router = 192.168.1.1static domain_name_servers = 192.168.1.1 8.8.8.8

Baguhin ang 192.168.1.1 sa aktwal na address ng iyong router at 192.168.1.116 sa aktwal na static na address na kailangan mo para sa iyong aplikasyon.

* Maaari mong hilingin na patakbuhin ang utility ng raspi-config at gumawa ng anumang mga pagbabago sa pagsasaayos sa puntong ito.

I-reboot kapag tapos na.

Hakbang 6: I-install ang LIRC

I-install ang LIRC gamit ang utos.

$ sudo apt-get install lirc

I-edit ang file na / etc / modules; hal:

$ sudo nano / etc / modules

at idagdag ang mga linya:

lirc_devlirc_rpi gpio_in_pin = 18 gpio_out_pin = 17

I-save ang file at i-reboot.

$ sudo reboot

Hakbang 7: I-configure ang LIRC

I-edit ang /etc/lirc/hardware.conf file, hal:

$ sudo nano /etc/lirc/hardware.conf

at gawin itong ganito:

###Oooooooooooooooo ## file # START_LIRCMD = false ## Huwag simulan ang irexec, kahit na mayroong isang mahusay na config file na tila mayroon. # START_IREXEC = false ## Subukang i-load ang naaangkop na mga module ng kernelLOAD_MODULES = true ## Run "lircd --driver = help" para sa isang listahan ng mga suportadong driver. DRIVER = "default" ## karaniwang / dev / lirc0 ang tamang setting para sa mga system na gumagamit ng udevDEVICE = "/ dev / lirc0" MODULES = "lirc_rpi" ## Default na mga file ng pagsasaayos para sa iyong hardware kung anyLIRCD_CONF = "" LIRCMD_CONF = "" I-edit ang /etc/lirc/lirc_options.conf file at baguhin ang mga linya tulad ng sa ibaba: driver = defaultdevice = / dev / lirc0

I-save ang file at i-restart ang lircd.

$ sudo systemctl restart lircd

Hakbang 8: Pagsubok sa Tumatanggap

Ipasok ang sumusunod na pagkakasunud-sunod ng mga utos upang ihinto ang LIRC Daemon at subukan ang tatanggap.

$ sudo systemctl stop lircd $ sudo mode2

Ang program2 mode ay maglalabas ng mark-space ratio ng isang IR Signal sa console. Ituro ang isang remote control sa iyong IR receiver at pindutin ang ilang mga pindutan. Dapat mong makita ang isang bagay tulad nito:

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

kapag tapos ka na pindutin ang ctl-c at i-restart ang LIRC Daemon gamit ang sumusunod na utos.

$ sudo systemctl start lircd

Hakbang 9: Magdagdag ng Mga Remote - Paraan 1

Gumagamit ang LIRC ng mga file ng pagsasaayos na naglalaman ng data na nauugnay sa bawat remote control na maaaring tularan ng LIRC. Dapat kang bumuo o kung hindi man ay magbigay ng mga file ng pagsasaayos na ito upang gumana ang subsystem ng LIRC tulad ng ninanais.

Mahalaga

Dapat kang magbigay ng isang indibidwal na config file para sa bawat remote na maaaring tularan. Ang mga config file ay dapat na nakaimbak sa direktoryo /etc/lirc/lircd.conf.d. Ang pagpili ng Pangalan ng Pangunahing mahalaga para sa pinakamahusay na karanasan sa AndyMOTE, kapag pumipili ng mga pangalan para sa iyong mga susi, mangyaring sundin ang mga alituntunin dito. Maaari ding mai-download ang mga config file mula rito ngunit mag-ingat na, kung gagamitin mo ang mga ito, dapat maglaman lamang sila ng isang remote na pagsasaayos. (Ang mga config file ay simpleng mga file ng teksto at madaling mai-edit kung kinakailangan.

Kinakailangan ng Paraan 1 ang orihinal na remote control gamit ang mga sumusunod na utos:

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

- O -

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

Palitan ang FILENAME ng ilang mapaglarawang pangalan para sa remote control na iyong na-configure. Ang huling utos ay lumilikha ng isang 'hilaw' na file at kung minsan kinakailangan ito depende sa mga katangian ng remote control na iyong ginagamit. Pinapayagan ka ng switch na -n na gumamit ka ng anumang keyname na gusto mo (kaysa malimitahan sa listahan ng LIRC Namespace).

Alalahaning i-restart ang lircd at i-reboot kapag tapos ka na.

$ sudo systemctl simulan ang lircd $ sudo reboot

Hakbang 10: Magdagdag ng Mga Remote - Paraan 2

Ang pamamaraan 2 ay hindi nangangailangan ng orihinal na remoteGlobal-cache na mapanatili ang isang cloud based database na higit sa 200, 000 IR Codes. Kahit sino ay maaaring magrehistro at mag-download ng hanggang sa 5 mga codeet bawat araw. Ang mga codeet na ito ay maaaring mai-convert sa mga file ng LIRC conf, sa isang palakaibigang paraan ng AndyMOTE, gamit ang gcConvert application na inilarawan dito.

Hakbang 11: I-install ang AndyMOTE Server Program

I-install ang Mga Library sa liblirc at libboost tulad ng inilarawan sa ibaba:

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

Susunod, i-install ang git, goto ang iyong direktoryo sa bahay at i-clone ang andymoteserver repository

$ sudo apt install git $ cd ~ $ git clone

pagkatapos ay ipunin ang pinagmulan

$ cd andymoteserver $ gumawa

Ilipat ang nagresultang file sa isang maginhawang lokasyon; hal:

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

Maglinis

$ cd ~ $ rm -Rf andymoteserver

Panghuli, upang patakbuhin ang AndyMOTE Server bilang isang serbisyo, lumikha ng file /lib/systemd/system/andymote.service na may nilalaman tulad ng ipinapakita sa ibaba:

[Unit] Paglalarawan = patakbuhin ang AndyMOTE Server bilang isang serbisyo [Serbisyo] Uri = simpleRemainAfterExit = falseRestart = lagingRestartSec = 30ExecStop = / bin / trueExecStart = / opt / andymoteserver / andymote [Install] WantedBy = multi-user.target

Paganahin at simulan ang serbisyo

$ sudo systemctl paganahin andymote $ sudo systemctl simulan andymote

Hakbang 12: At Panghuli…

At sa wakas…
At sa wakas…

Ipinapakita ng larawan sa itaas ang aking server sa huling posisyon nito (kaliwa). Ang aparato sa kanan ng larawan ay ang Infrared Remote Control Extender, natatanggap nito ang mga signal ng IR mula sa server at muling inililipat ang mga ito sa pamamagitan ng 4 IR transmitter (hindi ipinakita); naka-mount ang mga ito sa aking mga aparato sa media, (TV, Amplifier atbp).

Sana nag-enjoy ka!

Inirerekumendang: