IR přijímač a dálkový ovladač pro raspberry

Tento článek se věnuje zapojení IR přijímacího modulu k raspberry a zprovoznění společně s univerzálním dálkovým ovladačem od výrobce HAMA. Potřeba využití dálkového ovladače je nejvíce u multimediálních center a proto se zde zaměříme na zprovoznění distribuce OpenELEC, která využívá KODI.

Zapojení IR přijímače

IR přijímač je obvod, který je schopen přijímat impulzy ve formě kódu z dálkového ovladače, Můžete ho zakoupit třeba zde. Pro svojí správnou funkčnost potřebuje mít připojené napájení 3,3 V (červený kabel), mínus neboli zem (černý kabel) a datový vodič (bílý kabel), přes který se posílají přijatá data do raspberry. 

IRprijimac

Pro správné připojení využijeme GPIO piny, které jsou dostupné na raspberry desce. Celý přehled je na následujícím obrázku.

zapojeni zapojenifoto

Červený vodič je potřeba připojit na PIN 1 (3V3), černý vodič na PIN 6 (Ground) a bílý vodič na PIN 11 (GPIO17)

Konfigurace IR přijímače

Po připojení modulu je potřeba raspberry říci, kde je daný IR modul připojený. K tomuto slouží soubor config.txt, který je v raspbianu umístěn v adresáři /boot. Daný soubor je přístupný i po připojení SD karty přímo do stolního počítače. V případě využívání systému NOOBS je editace daného souboru nejjednoduší. Při instalaci systému OpenELEC a nebo při standardním spouštění a podržení klávesy shift při bootu, se dostanete do menu pro instalaci OS, kde lze zvolit "Edit Config" (viz. následující obrázek)

nobs

Do kofigurace je potřeba vložit následující řádek. V případě, že bílý vodič připojíte na nějaký jiný GPIO pin, je potřeba dané číslo pinu upravit.

dtoverlay=lirc-rpi,gpio_in_pin=17

Funkčnost příjmu dat můžete ověřit pomocí následujícího příkazu, po připojení například přes ssh (je nutné mít povolené ssh v System- OpenElec – Nastaveni), který zobrazí přijímané impulsy z IR přijímače. Možná bude nutné nejdříve ukončit program lircd, který může již dané zařízení využívat a to pomocí příkazu killall lircd

mode2 -d /dev/lirc0

Pokud vše funguje je možné přejít k poslednímu kroku, kterým je definice kódu vašeho IR vysílače.

Definice kódů vysílače a přijímače

Pokud budete využívat vlastní IR vysílač, je potřeba pro daný vysílač najít konfigurační soubor a vložit ho do soubouru lircd.conf a nahrát do adresáře /storage/.config (podrobněji dále). Spousty již vytvořených konfiguračních souborů pro jednotlivé ovladače najdete na stránkách http://lirc.sourceforge.net/remotes/. Připadně určité informace naleznety i v článku s audio modulem, kde je také IR přijímač osazen.

Zde se ale zaměříme na univerzální dálkový ovladač Hama 4v1.

Aktualizace dne 22.8.2016: Článek byl napsán pro níže uvedený a vyfocený dálkový ovladač Hama 4v1. Daný typ už Hama přestala vyrábět a nahradila ho novým návrhem se stejným označením stránky výrobce Funkce nového ovladače by měly být stejné. Daný ovladač je možné zakoupit ve všech možných obchodech například zde

hama4v1

Daný ovladač umožňuje ovládat až 4 zařízení a má v sobě naprogramované velké množství různých kódů podle jednotlivých výrobců a zařízení. Daný seznam je součástí návodu. Je potřeba na ovladači zvolit kód zařízení, kterým specifikujeme daný typ zařízení a následně na raspberry také nastavit odpovídající kódy tlačítek. 

Po dlouhém zkoušení jsem nastavil na hama ovladači kód 5191, který patří pod výrobce SAMSUNG. Nastavení se provádí podrženít tlačítka SETUP dokud nesvítí červená led. Následně se vybere jedno ze 4 zařízení například TV a poté se vloží kód 5191. Tímto je ovladač připraven.

Dále už jenom potřebujeme nahrát správnou konfiguraci do raspberry (OpenELEC). Já jsem vyšel z konfiguračního souboru pro ovladač televize Samsung a daný soubor jsem mírně upravil (většinou názvy tlačítek), aby OpenELEC správně detekoval jednotlivá tlačítka.  Konfigurace vypadá následovně a daný soubor si můžete stáhnout tady: lircd.conf

begin remote

  name  Samsung
  bits           16
  flags SPACE_ENC|CONST_LENGTH
  eps            30
  aeps          100

  header       4605  4344
  one           678  1551
  zero          678   436
  ptrail        679
  pre_data_bits   16
  pre_data       0xE0E0
  gap          107626
  toggle_bit_mask 0x0

      begin codes
          KEY_POWER                0x40BF                    #  Was: Power
          KEY_NUMERIC_1            0x20DF                    #  Was: 1
          KEY_NUMERIC_2            0xA05F                    #  Was: 2
          KEY_NUMERIC_3            0x609F                    #  Was: 3
          KEY_NUMERIC_4            0x10EF                    #  Was: 4
          KEY_NUMERIC_5            0x906F                    #  Was: 5
          KEY_NUMERIC_6            0x50AF                    #  Was: 6
          KEY_NUMERIC_7            0x30CF                    #  Was: 7
          KEY_NUMERIC_8            0xB04F                    #  Was: 8
          KEY_NUMERIC_9            0x708F                    #  Was: 9
          KEY_NUMERIC_0            0x8877                    #  Was: 0
          KEY_VOLUMEUP             0xE01F                    #  Was: Vol+
          KEY_VOLUMEDOWN           0xD02F                    #  Was: Vol-
          KEY_MUTE                 0xF00F                    #  Was: Mute
          KEY_CHANNELUP            0x48B7                    #  Was: Chan+
          KEY_CHANNELDOWN          0x08F7                    #  Was: Chan-
          KEY_INFO                 0xF807                    #  Was: Info
          KEY_MENU                 0x58A7                    #  Was: Menu
          KEY_EPG                  0xF20D                    #  Was: Guide
          KEY_ENTER                0x1AE5                    #  Was: Return
          KEY_EXIT                 0xB44B                    #  Was: Exit
          KEY_UP                   0x06F9                    #  Was: Up
          KEY_LEFT                 0xA659                    #  Was: Left
          KEY_RIGHT                0x46B9                    #  Was: Right
          KEY_DOWN                 0x8679                    #  Was: Down
          KEY_OK                   0x16E9                    #  Was: Enter
          KEY_RED                  0x36C9                    #  Was: Red
          KEY_GREEN                0x28D7                    #  Was: Green
          KEY_YELLOW               0xA857                    #  Was: Yellow
          KEY_BLUE                 0x6897                    #  Was: Blue          
      end codes

end remote

Tento seznam kódů s názvy tlačítek je potřeba uložit pod pojmenováním lircd.conf a nahrát do složky kofigurací. OpenELEC má standardně povolenou sambu pro přístup k určitým složkám. Ve windows stačí spustit tento počítač a do horní příkazové řádky zadat síťovou adresu
\\ipAdresaZařízeni\ například  \\192.168.1.21\ a nebo ještě jednodušeji jen jméno \\OPENELEC, pokud jste ho neměnili. Soubor lircd.conf s konfigurací tlačítek je pořeba nahrát do složky Configfiles. 

V linuxu můžete využít např. připojení k serveru smb://doplnitIPraspberry/configfiles/ nebo přes ssh – sftp  se jménem root a heslem openelec a konfigurační soubor nahrát do složky /storage/.config

Po nahrání konfiguračního souboru stačí OpenELEC restartovat a dálkové ovládání začne fungovat. Na dálkovém ovládání budete nejvíce využívat šipky, tlačítko OK a EXIT. Tyto tlačítka jsou aktivní po stisknutí SHIFTu a jsou na ovladači označeny modře. Dalším velice užitečným tlačítkem je také modré tlačitko EPG, které umožňuje například nad složkami zobrazovat rozevírací nabídku (nějco jako "Vlastnosti"). Přes toto tlačítko můžete např. přidat složku do knihovny filmů. Dále občas využijete čísla, pod kterými jsou schovaná i písmena (podobně jako na mobilních telefonech).

Příspěvek byl publikován v rubrice Články a jeho autorem je Michal Pravda. Můžete si jeho odkaz uložit mezi své oblíbené záložky nebo ho sdílet s přáteli.

9 komentářů u „IR přijímač a dálkový ovladač pro raspberry

  1. Dobrý den, vše funguje, jen nereaguje KEY_FAVORITES, aby se mi otevřelo okno s oblíbenými pořady. Nevíte co s tím?

    • Ahoj, v tvém případě bych se podíval na soubor Lircmap.xml ve kterém je definováno mapování mezi tlačítky ovladače a funkcí v xbmc. Měl by jsi tam najít, jaké tlačítko aktivuje KEY_FAVORITES a případně si ho do svého lircd.conf přidat. Daný soubor by jsi měl najít v usr/share/xbmc/system/Lircmap.xml Případně bližší popis je možné najít zde http://kodi.wiki/view/Userdata/lircmap.xml

  2. Pingback: Raspberry Pi jako TV - Fabian's blog

  3. Dobrý den, mám k dispozici nový ovladač Hama 4v1, který v článku demonstrujete a postupoval jsem podle Vašeho návodu. Všechna definovaná tlačítka v pořádku fungují, ale pochopitelně systém nereaguje na START,STOP,PLAY tlačítka. Jakým způsobem mohu zjistit kódy pro tlačítka PLAY,PAUSE,STOP,…, abych je mohl doplnit do lircd.conf.

    • Jak přesně zjistit kod několika tlačítek nevím. Vím že pro zjišťování kódu neznámých ovladačů existuje nástroj irrecord. Například zde http://wiki.openelec.tv/index.php?title=Guide_To_lirc_rpi_GPIO_Receiver je uvedeno použití. Otázka je, jestli dálkový ovladač v dané konfuguraci má dané tlačítka nějak namapované a zda vlastně něco vysílá. Pokud ne tak by si člověk ještě musel hrát s přenstavením dálkového ovladače na jiný typ (kód ovladače).

  4. Zdravím, bylo by možné sehnat k IR receiveru nějaké bližší údaje. Má DO Harmony Ultimate, které sice používá wifi, ale ne k ovládání přístrojů. Nicméně je známo, že podpora těchto ovladačů je na docela dobré úrovni a předpokládám, že bych s jejich pomocí mohl DO na RPI3 rozchodit, ale asi by to chtělo nějaké typové parametry nebo údaje. Díky za tvůj čas.

  5. Raspberry Pi neni z pohledu hardwaru nejak extra vykonny pocitac, ale diky prodejum v radu stovek tisic kusu je to dostatecne rozsirena jednotna platforma, aby se pro ni vyplatilo XMBC optimalizovat. Standardem je tedy prehravani 10 videa i na tomto slabem hardwaru.

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Connect with Facebook

Ochrana proti spamu * Time limit is exhausted. Please reload the CAPTCHA.