[RÉSZBEN MEGOLDVA] Raspberry Pi 2 + I2C OLED + RuneAudio

Fórumok

Hello mindenki!
Remélem itt kapok válaszokat, nem találtam más magyar nyelvű fórumot, ahol feltehetném a kérdésemet...
Szóval Raspberry Pi2-n fut a legújabb Runeaudio (Arch alapokon). Rá van kötve egy I2S DAC. Minden tökéletesen üzemel. Szeretnék rákötni egy 16x2-es OLED kijelzőt I2C kommunikációval, ami az éppen lejátszott számot kiírja nekem. Az eszközön MPD fut, abból kellene knyerni a kijelzőre kiírandó infót. Runeaudio "testvére" a Volumio. Ehhez találtam python scripteket, viszont az Raspbian alapokon nyugszik és nagyon nem tudom újraértelmezni. Nem vagyok teljesen új a linuxhoz, de nagyon messze állok egy programozótól! :) Szkriptek és egyebek nekem kínai, de nagyon nyitott vagyok! :)

Remélem valaki látott már ilyet és tud segíteni nekem!
Köszönöm előre is!

Hozzászólások

Az eszközön MDP fut

Úgy érted, hogy mpd? Ha igen, akkor szerintem az mpc lesz az, ami neked kell. mpc status kimenetéből szerintem ki is tudod nyerni, amit szeretnél. További infók: man mpc.

Köszi a gyors választ, igen MPD, félregépeltem. :) Ez az MPC ha jól látom egy MPD vezérlő. Nem találok olyat a linkelt oldalon, ami pl egy egyszerű fájlba írja ki az aktuálisan lejátszott számot, bár az már szerintem fél siker lenne. Ezen felül, a nagyobbik gondom, ha ki is nyerem, hogy tudom kiküldeni egy I2C-vel csatlakoztatott kijelzőre? Amiket eddig olvasgattam mindenki python scriptekkel oldotta meg, de nem értek hozzá, hogy magamtól megírjam, és nem találtam lépésről lépésre hülyebiztos leírást... :/

I²C-re küldhetsz adatot az i2cset paranccsal is, de nem hiszem, hogy sokkal egyszerűbb, mint pythonból. Ha nem rootként akarod használni, akkor legyen a felhasználód az i2c csoport tagja, és az i2cdetect -y 1 paranccsal tudod megnézni, mit találsz az I²C buszon.
A fentiek raspbianra igazak, az általad használt OS alatt nem biztos, hogy léteznek ezek a parancsok. Legalábbis én nem tudom.

Ave, Saabi.

Mint feljebb írtam i2cdetect látja a kijelzőt, igaz még csak volumio alatt... Párhuzamosan próbálkozom 2db Pi-vel egyszerre. Egyik (RPi 2) Runeaudio fut Arch alapokon, másikon (RPi B) Volumio Raspbian alapokon. Mindkettő MPD-t használ.

Hálásan köszönöm így elsőre az infókat mindenkinek! Amint lesz kis időm eljátszom velük! :)

Az mpd részt "vállalom", a további részekhez nem értek.
Ha tényleg az kell, hogy mindig egy fájlban legyenek az információk, akkor egyszerű átirányítás kell, pl.
mpc current > mpd-file (ld. itt, itt és itt).
Ha a "rendszeres" fájl kiolvasást megcsinálja egy másik szkript, azaz mindig a fájl tartalma jelenik meg a kijelzőn - még akkor is, ha frissül, akkor pedig az mpc idle lehet a megoldás:

while true; do
  mpc idle
  mpc current > mpd-file
done

A Runeaudiot és a Volumiot nem ismerem, de mivel mpd alapú, így működnie kell:

Nézd meg az LCDproc csomagot. Ha támogatja a kijelződet, akkor örülsz. Ha nem támogatja, akkor nézd meg, hogy a honlapjukon elérhető verzió támogatja-e. Utóbbi esetben onnan töltsd le és telepítsd. Azt is ki kell deríteni, hogy melyik jelet, hova kell kötni, hogy kezelni tudja a kijelzőt.

Ha a kikjelzőt nem ismeri/kezeli az LCDproc, akkor a hozzászólásom hátralevő része nem hordoz semmilyen hasznos információt számodra, és más megoldás után kell nézned. Vagy drivert is írhatsz az LCDprochoz.

Ha a kijelződet már kezeli az LCDproc, akkor telepítsd fel az mpdlcd programot a githubról. Ezt is pythonban írták, de elvileg csak a konfigurációs fájlt kell megfelelően kitöltened. Mindaddig nincs szükség programozásra, amíg nem akarod az ékezetes karaktereket helyesen látni.

-----

(&%;_98\<|{3W10Tut,P0/on&Jkj"Fg}|B/!~}|{z(8qv55sr1C/n--k**;gfe$$5a!BB]\.-

„Bekötés jó lehet,…”

A kérdés az, hogy az LCDproc is ezt a bekötést várja-e el? Ha mégsem menne egyből, akkor itt keress megoldást: http://sourceforge.net/p/lcdproc/discussion/search/?q=i2c

-----

(&%;_98\<|{3W10Tut,P0/on&Jkj"Fg}|B/!~}|{z(8qv55sr1C/n--k**;gfe$$5a!BB]\.-

Oké, OLED kijelző már működik, lcdproc-hoz szükséges egy módosított driver, most már csak a kijelző és a MPD kommunikációja van vissza... :)

Úgy néz ki megoldódott a problémám, igaz Raspbian+Volumio -val, nem RUne audio-val. Minden tökéletesen működik, köszönöm a segítséget mindenkinek!