I jak tam bsw?
Woda gładka czy na jakąś rafę nadziałeś się ?
Na razie na wodzie kra tzn. projekt musiałem zamrozić z braku czasu i w tym stanie niestety będzie do końca bieżącego miesiąca.
Ale dzięki że pytasz bo działo się dużo. Zamknąłem pierwszy milestone czyli zakończenie konfiguracji piCorePlayera. Miałem przy tym trochę zabawy (nie licząc problemów z zasilaniem i dyskiem).
1. Na początek chciałem uruchomić zewnętrzny
DAC na PCM5102A. Taka mała płyteczka do której dostajemy 6 kabelków żeńsko-żeńskich - w sam raz do podłączenia z GPIO malinki - trzeba tylko wiedzieć gdzie wrazić. Z opisów na necie stało że wystarczy podpiąć:
- BCK >> Pin 12 (GPIO 18 - PCM_CLK)
- DIN >> Pin 40 (GPIO 21 - PCM_DOUT)
- LRCK >> Pin 35 (GPIO 19 - PCM_FS)
- GND >> Pin 5 (Ground)
- VIN >> Pin 2 (5V power)
Niestety nie wystarczyło bo malinka wieszała się przy próbie inicjalizacji DACa - trzeba jeszcze podpiąć SCK do masy np:
Teraz malinka już startuje ale nadal nic nie słychać, bo jak się okazuje trzeba jeszcze tego DACA wstępnie skonfigurować... kropelkami cyny od spodu płyteczki:
- 1-FLT (Filter) -> LOW (Normal latency)
- 2-DEMP (De-Emphase) -> LOW (none)
- 3-XSMT (Soft Mute) -> HI (unmute)
- 4-FMT (Format) -> LOW (Standard I2S)
I dopiero teraz gra i nie buczy :-)
2. Kolejny punkt - dla mnie dość zasadniczy - to pobieranie danych o aktualnie odtwarzanym kawałku oraz sterowanie.
Po tego można wykorzystać interfejs
CLI (Command Line Interface) serwera Lyrion Music Server (LMS). Po włączeniu mamy dostęp przez TELNET - tzn. odpalamy na kompie komendę:
telnet [IP_MALINY] 9090 i teraz możemy sobie pisać np:
mode ? - zwraca play lub pause - zatem możemy też
playpauseprzeskok następny poprzedni to odpowiednio:
playlist index +1
playlist index -1
można też uzyskać inne informacje:
time ?
duration ?
artist ?
title ?
Ale najciekawsze jest skondensowana porcja:
status - 1 tags:atlygI o to mi mniej więcej chodziło z tym że chciałem to dostać nie przez sieć ale po UART (RS232). Po krótkiej walce się udało. Trzeba doinstalować dodatek "
socat.tcz" i wpisać w [Tweaks] User command #1:
socat /dev/ttyAMA0,b115200,raw,echo=0 TCP:127.0.0.1:9090Co w skrócie spowoduje przekierowanie telneta a tym samym CLI na wewnętrzny UART (ttyAMA0) ze znośną prędkością 115200 bodów. Teraz komendy mogę sobie bez sieci klepać na terminalu szeregowym - ale docelowo tę komunikację będzie obsługiwać mój własny panel frontowy.
3. Obudowa i panel frontowy.
Ten etap będzie wymagał prac mechanicznych co muszę robić w garażu zatem temperatury powyżej zera byłyby wskazane.
Tymczasem zamierzam zakupić nieco lepszy DAC (jak Ty to mówisz czapeczkę) - coś opartego na
PCM5122. Z tym że większość dostępnych czapeczek czy kapeluszy (HAT) zawłaszcza na wyłączność cały GPIO a ja potrzebuję dostęp do niektórych pinów zatem muszę kupić kapelusz z przejściówką tych pinów…
Tylko że startowo to nie jest taki > plug and play<
[..]
Co bywa uroczo wq.. wnerwiające :)
Akurat w tym szaleństwie jest metoda która już wyczaiłem. Może pokuszę się o wklejenie tutaj małego HOWTO który zanotowałem na własne potrzeby ale może komuś się przyda...