The following warnings occurred:
Warning [2] count(): Parameter must be an array or an object that implements Countable - Line: 906 - File: showthread.php PHP 7.2.33 (Linux)
File Line Function
/showthread.php 906 errorHandler->error



Thank you for your donation!


Instruction Guide An extension to support OLED, IR control, and CD playback
#1
An Extension for Moode, including OLED display, IR control, and CD playback.

For now, it is running in an RPi4B with Moode 6.4.0.
With this extension, you can use the Apple Remote to control Moode in RPi4B and roon in Windows.

Basically, I just integrated the following posts.

  1. Thread Modes Instruction Guide AUDIOPHONICS RaspDAC Mini Kit - I-Sabre ES9038Q2M
  2. USB CD-Rom + Moode = UPnP streamer
  3. Playing CDs directly from MPD
  4. Automated CD ripping, tagging and adding to collection
These works have also been pushed to Github.


***NOTICE: Use these scripts at your own risk, some have not been fully tested!***

Demo

I use this system under these scenarios.

  1. NAS -> PRi4B(Moode) -> DAC
  2. CD Drive -> PRi4B(Moode) -> DAC
  3. ROON in Windows -> PRi4B(Roon Bridge) -> DAC
  4. ROON in Windows(Surface Go) -> HQPlayer(PC) -> PRi4B(NAA) -> DAC
The OLED display has 3 screens, including Date Screen, Play Screen, and Renderer Screen.
Date Screen: Display date and IP.
Play Screen: Display song info, only activate if Moode is playing.
Renderer Screen: Only activate if Moode is not playing but DAC is occupied.

The OLED display will go out after 10 seconds to prevent OLED burn-in and any key pressed on the Apple Remote will light it for 10 seconds.

[Image: Demo.jpg]




Hardware
Wire Connection

IR Receiver Module
The Argon One Case reserved a place for VS1838B, just connect it.
Insert Flirc USB IR Receiver into a windows pc.

OLED Module

[Image: OLED.jpg]


Installation
Requirements
  • Install roon bridge and NAA (optional).
  • Follow the instructions to ensure that the OLED module works properly.
  • Follow the instructions to ensure that the IR receiver module works properly. If you use the default position for IR in Argon One, the GPIO pin should be set as 23.
  • Use the following code to install packages required by CD playback.
    sudo apt-get install eject cdparanoia cdde inotify-tools
OLED Display
Code:
cd /home/pi
git clone https://github.com/TongboZhang/Moode_Extension.git
cd Moode_Extension
sudo chmod 755 src/OLEDDisplay/main.py
sudo cp src/OLEDDisplay/oledd.service /etc/systemd/system/

# Test OLED display
sudo systemctl start oledd

# Wait 10 seconds to start the service
sudo systemctl status oledd

# Make OLED service automatically start on boot
sudo systemctl enable oledd

Remote Control

Code:
sudo cp src/RemoteControl/apple-silver-A1294-lircd.conf /etc/lirc/lircd.conf.d/
sudo cp src/RemoteControl/irexec.lircrc /etc/lirc

# Test LIRC service
sudo systemctl start lircd
sudo systemctl status lircd

# Test IREXEC service
sudo systemctl start irexec
sudo systemctl status irexec

# Make LIRC and IREXEC service automatically start on boot
sudo systemctl enable lircd
sudo systemctl enable irexec

CD Playback

Code:
sudo chmod 755 geneCD.sh
sudo cp src/CDPlayback/99-srX_change.rules /etc/udev/rules.d/

When you insert a CD, it will generate a playlist named CDPlayer automatically.
[Image: CDPlayer.jpg]


Usage
After installation, you can use the Apple Remote to control Moode in RPi4B.

To control roon, you should set these key mapping in Flirc App.
Here is the key mapping of mine.


| Apple Remote Key Description                     |
| UP               | Moode: Previous Track           |
| DOWN             | Moode: Next Track               |
| Enter            | Moode: Play/Pause               |
| LEFT             | Roon in windows: Previous Track |
| Right            | Roon in windows: Next Track     |
| Play             | Roon in windows: Play/Pause     |
| Menu             | None                            |
Reply


Messages In This Thread
An extension to support OLED, IR control, and CD playback - by ztb5129 - 01-14-2020, 04:48 PM

Forum Jump: