SVETELEKTRO

29. júla 2013   Verzia pre tlač Verzia pre tlač

Diaľkové ovládanie Raspberry PI


pablox

Raspberry PI používam ako prehrávač internetových rádií a tak som sa rozhodol k nemu dorobiť diaľkové ovládanie pomocou ovládača s protokolom RC5.

HW časť je tvorená procesorom ATMEGA8 (bol po ruke, nie je problém použiť aj iný typ s menším počtom IO portov). O príjem signálu sa stará klasicky TSOP1736. MCU podľa stlačeného tlačidla nastaví binárnu kombináciu na portoch PC0-PC3 (áno, starý známy BCD kód :)) Na druhej strane Raspberry PI pomocou scriptu v jazyku Python sleduje stavy na GPIO portoch 22-25 a podľa toho ovláda prehrávač MPD (Music player daemon).

 
Význam tlačidiel:
Čísla 1-9  (kód 1-9) : zvolenie konkrétnej skladby v playliste
Tlačidlo Digit entry (kód 10) : PLAY
Tlačidlo Channel/program (kód 11) :STOP
Tlačidlá Vol+/- (kódy 16,17) : hlasitosť +/-
Kódy tlačidiel je možné zmeniť v zdrojáku, konkrétne kódy nájdete tu
 
Návod pre Raspbian:
1. pokiaľ máte najnovšiu verziu, Python už netreba inštalovať
2. nainštalujte si Music Player Daemon 
3. skopírujte script dialkove.py niekde do Raspberry Pi
4. v termináli sa presuňte do priečinka so scriptom
5. zadajte sudo chmod +x dialkove.py
6. spustite script pomocou sudo ./dialkove.py a stlačte nejaké tlačidlo na ovládači, MPD by mal reagovať (treba ale najprv pridať nejaké rádia do playlistu)

Ja som doplni ešte automatické spustenie scriptu po zapnutí RPi:
1. zadajte sudo bash
2. v termináli sa presuňte do priečinka /etc
3. nano rc.local
4. pred riadok exit 0 doplňte sudo python <adresa scriptu>


Súbor rc.local. Ja som doplnil ešte automatické nahratie playlistu a spustenie prvého súboru v ňom


Prvá verzia IR ovládania

 

Ako sa vám páčil tento článok?
  • Páči sa mi (0)
  • Súhlasím (0)
  • Zábavné (0)
  • Informatívne (0)
Najnovšie články od pablox (zobraziť všetky)

Komentáre (7)

  1. boraicho píše:

    Kde najdem nejake info jak ten protokol RC5 funguje? to si použil nejaku knižnicu na to?

  2. lacog píše:

    Nie je to trošku komplikované? Raspberry nezvládne dekódovať výstup z TSOP?

  3. dan21 píše:

    No ide to urobit omnoho jednoduchsie. Googli LIRC !!

    • Gavin-Milarrr píše:

      Přesně. LIRC to umí, s jádrem pro armv6j a defaultním konfigurákem vyrobíš i příslušné moduly a funguje to samo. Pokud LIRC neumí tvůj dálkový ovladač, irrecord se naučí tlačítka a vyrobí příslušné definice. Irexec je potom spojí s akcemi a můžeš ovládat takřka cokoli, nejen přehrávač.

Pridaj komentár