Új hozzászólás Aktív témák

  • Csicsóka

    őstag

    Többen kerestek privátban, hogy ugyan a moOde 4 már kopogtat az ablakon, megelégedéssel használják a 3.8-at, és szivesen kipróbálnák az LCD kijelzőt.

    Működése az lcdproc, és az mpdlcd programokon alapul. Az lcdproc vezérki a kijelzőt, az mpdlcd pedig az MPD-től érkező adatokat dolgozza fel, és továbbítja az lcdproc-nak.

    Mivel a moOde alatt egy raspbian 8 (jessie) dolgozik, ez a megvalósítás használható más hasonló rendszeren (Volumio), vagy egy teljesen csupasz raspbian 8 lite-ra telepített MPD esetén is.

    Az általam használt kijelző egy HD44780 kompatibilis 4x20 karakteres kijelző, amit egy PCF8574 I2C soros interface modul hajt meg.

    SSH belépés root-ként, majd kezdődhet a móka. :)

    1. Szükséges csomagok telepítése:

    apt-get update && apt-get upgrade
    apt-get install i2c-tools python-smbus python-mpd python-pip

    2. I2C engedélyezése a config.txt-ben:

    nano /boot/config.txt

    Az alábbi sorral kell kiegészíteni:

    dtparam=i2c_arm=on

    3. I2C kernel modul betöltése boot időben:

    nano /etc/modules

    Az alábbi sorral kiegészíteni:

    i2c-dev

    4. Rendszer újra indítása:

    reboot

    5. I2C driver betöltődésének ellenőrzése:

    lsmod|grep i2c

    Két modul betöltődését kell látni, pld. Model A, B, B+ Zero esetén.

    i2c_bcm2835 6337 1
    i2c_dev 7193 2

    6. Modelenként eltérő device megállapítása:

    ls -l /dev/i2c*

    Példában, az rpi zero.

    The ouptut should be something like this:
    crw-rw---- 1 root i2c 89, 1 nov 8 17:35 /dev/i2c-1

    Az alábbi két vertió létezhet:

    /dev/i2c-0
    /dev/i2c-1

    7. Kapcsolat meglétének, és az I2C cím ellenőrzése:

    i2cdetect -y 0

    vagy (modeltől függő)

    i2cdetect -y 1

    Ha létrejött a kapcsolat, az már fél siker, ilyet kell látni:

    root@moode ~ # i2cdetect -y 1
    0 1 2 3 4 5 6 7 8 9 a b c d e f
    00: -- -- -- -- -- -- -- -- -- -- -- -- --
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    20: -- -- -- -- -- -- -- 27 -- -- -- -- -- -- -- --
    30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    40: -- -- -- -- -- -- -- -- -- -- -- -- -- UU -- --
    50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    70: -- -- -- -- -- -- -- --

    Ennek a kijelzőnek, gyári I2C címe a 0x27.

    8. LCDproc telepítése:

    apt-get install lcdproc
    (Automatikus konfigurálás, és frissítés kérdére, yes)

    Sajnos a csomagban hozott HD44780 driver, nem megfelelő. A PCF8574 inerface csatlakozási pontjainak a vezérlése eltér tőle. Ezért egy foltozott drivert kell letölteni innen.

    A letöltött driver zip fájlt legegyszerűbb SMB-n keresztül a moOde SDCARD megosztásába másolni, majd:

    unzip /mnt/SDCARD/hd44780.zip
    mkdir /usr/local/lib/lcdproc
    mv hd44780.so /usr/local/lib/lcdproc/

    9. LCDd.conf létrehozása:

    Az csomaggal jött fájl, átláthatatlan, rengereg, nekünk nem kellő driver beállítást tartalmaz, ezért újat hozunk létre.
    Itt fontos, hogy a Device szekcióba a 6. pontban megállapított, /dev/i2c-0, vagy /dev/i2c-1 kerüljön bele!!

    mv /etc/LCDd.conf /etc/LCDd.conf.org
    nano /etc/LCDd.conf

    Az alábbi tartalommal :

    #
    [server]
    DriverPath=/usr/local/lib/lcdproc/
    Driver=hd44780
    User=nobody
    WaitTime=1
    ServerScreen=no
    Hello=" Welcome"
    Hello=" to".
    Hello="moOde Audio Player!"
    GoodBye=" Thanks for using"
    GoodBye=" moOde Audio Player"
    GoodBye=" Bye bye!"

    [hd44780]
    ConnectionType=i2c
    Device=/dev/i2c-1
    Port=0x27
    Size=20x4
    OutputPort=no
    DelayBus=false
    DelayMult=1
    Keypad=no
    Backlight=yes
    #

    10. MPDLCD telepítése:

    pip install mpdlcd

    Alap config letöltése:

    wget -O /etc/mpdlcd.conf https://raw.githubusercontent.com/rbarrois/mpdlcd/master/mpdlcd.conf

    Az /etc/mpdlcd.conf fájlban lehet a megjelenítést testre szabni, mikor legyen háttér világítás a kijelzőn, (alapból csak lejátszás esetén) mi jelenjen meg a kijelzőn, előadó,dalcím, album,idő, stb. (A 4. minta ami nekünk kell a 4 soros kijelzőhöz)

    Systemd service készítés:

    nano /lib/systemd/system/mpdlcd.service

    Az alábbi tartalommal:

    #
    [Unit]
    Description=moOde audio I2C LCD display
    After=mpd.service

    [Service]
    ExecStartPre=/bin/sleep 10
    ExecStart=/usr/local/bin/mpdlcd --no-syslog &
    Restart=always
    RestartSec=1
    StartLimitInterval=30
    StartLimitBurst=20

    [Install]
    WantedBy=multi-user.target
    #

    Szolgáltatás engedélyezése induláskor:

    systemctl enable mpdlcd.service

    És ennyi! :)

    reboot

Új hozzászólás Aktív témák

Hirdetés