• Внешний USB-ЦАП-Аудиопроцессор CDD-010 можно купить

Hi-Fi компьютер на DSP Machine

ivashka777

Well-known member
Пару слов про примененный в конструкции корпус.
Корпус хороший, большой, аккуратно выполнен, не дорогой, есть двух цветов (белый и черный), можно собирать в двух вариантах по высоте (высокий - 129 мм и низкий - 65 мм), в зависимости от вашей конструкции. Правда, для 65 мм высоты, шурупы крепления придется искать самостоятельно.
В комплекте шурупы только под 129 мм высоту.
Сегодня первый раз стянул корпус штатными шурупами (саморезами). Как выяснилось, завернуть их отверткой та еще задача :).
Пришлось пройтись 3мм сверлом в стойках, куда завинчиваются шурупы, иначе боялся сломать стойки.
Из недостатков корпуса (лично для меня) - он обретает прочность только при надетой верхней крышке.
Если ваша конструкция (как в моем случае) не имеет шасси, и все блоки крепятся ко дну самого корпуса или боковым стенкам, даже переноска его (без верхней крышки) удобна только на каком то основании (типа листа фанеры чуть больше размеров корпуса).
Иначе есть риск, что все составляющие корпуса распадутся на части :).
 

ivashka777

Well-known member
Приехали с "али" ножки для аппарата.
Приклеил их на 3М скотч (держатся очень крепко и в любой момент, при желании, можно переместить на новое место).
Ножки аккуратные и смотрятся, на мой взгляд не плохо.
IMG_20230607_143925.jpg
Конструкция постепенно приобретает законченный вид.
 
Последнее редактирование:

ivashka777

Well-known member
Наконец то приобрел удлинитель microsd карты.
IMG_20230627_122027.jpg
Из предыдущей своей конструкции извлек Raspberry Pi 4 (на 8 Гб), покупал когда цены были еще вменяемы.
(Позже в нее верну 3-й Raspberry.)
Проверил работу удлинителя, все отлично. ОС грузится так же, как если бы карта памяти стояла в самой Raspberry.
IMG_20230627_122020.jpg
Пересобрал новый аппарат, только уже с Raspberry Pi 4 и удлинителем microsd карты. Его расположил на передней панели под экраном. Самое удобное место для быстрого извлечения и экспериментов с ОС.
IMG_20230627_173447.jpg
По большому счету, конструкция закончена. Дальше настройки ОС (и, возможно, мелкие улучшения внешнего вида :)).
IMG_20230627_184147.jpg
 
Последнее редактирование:

ivashka777

Well-known member
Пытался настроить Volumio, но самое главное не работает :( .
После установки драйвера, как описано здесь и выбора в настройках карты ChipDip DAC (все сделал как расписал Олег), при попытке воспроизведения любого файла, получаю красное окошко с ошибкой:
"Error
Failed to open "alsa" (alsa); Failed to open ALSA device "volumio": No such device"
IMG_20230629_142231.jpg
Версия Volumio 3.449,
DSP Machine - RasPi DSP Machine 2, ChipDip DAC, DAC - аудио процессор для Raspberry Pi, PCM5242 x 1 ,
Raspberry 4 (8Гб).
Подскажите, как решить эту проблему?
Спасибо.
 
Последнее редактирование:

ivashka777

Well-known member
Так что именно НЕ работает?
Ну я же все расписал парой сообщений выше, даже с картинками :) .
Хотел вместо ОС Raspberry, установить Volumio (он поудобней и симпатичней), но в Volumio вот такая проблема с воспроизведением звука (см сообщение выше).
 

ivashka777

Well-known member
1) Убедитесь, что файл "chipdip-dac.dtbo" содержится в папке /boot/overlays/
Файл присутствует (проверил, вставив карту памяти в картридер ноутбука).
2) Покажите, пожалуйста, содержимое файла "config.txt"
initramfs volumio.initrd
gpu_mem=32
max_usb_current=1
dtparam=audio=on
audio_pwm_mode=2
dtparam=i2c_arm=on
disable_splash=1
hdmi_force_hotplug=1
force_eeprom_read=0

include userconfig.txt

#### Volumio i2s setting below: do not alter ####
dtoverlay=chipdip-dac

3) Покажите, пожалуйста, сообщения dmesg
 

Вложения

ivashka777

Well-known member
Все заработало на Volumio 2.915 Дата релиза Thu Sep 30 22:42:09 CEST 2021
и порядке установки драйвера для Raspberry 4 описанной здесь.
С последней версией Volumio, почему то не работает, как писал выше.
 
Последнее редактирование:

Евгений

Administrator
Команда форума
С последней версией Volumio, почему то не работает, как писал выше.
В последней версии ChipDip DAC поддерживается по умолчанию, дополнительные действия по установке не требуются. Приведенные инструкции для версий ниже 3.
Запишите на карту новый чистый образ и выберите из списка ChipDip DAC - все.
 

ivashka777

Well-known member
В последней версии ChipDip DAC поддерживается по умолчанию, дополнительные действия по установке не требуются. Приведенные инструкции для версий ниже 3.
Запишите на карту новый чистый образ и выберите из списка ChipDip DAC - все.
Очень извиняюсь! Куда я смотрел?! Ведь столько раз перебирал список и не видел ChipDip DAC:cry:. Все работает. Спасибо!
 

ivashka777

Well-known member
Настроил все что хотел в Volumio (версия системы 3.449).
Установил плагин Peppymeter, как описано здесь.
Установил плагин YouTube2 (идет в составе системы), без проблем вошел в свой аккаунт.
Установил плагины для работы кнопок и дисплея.
Подключил свое сетевое хранилище (WD).
В итоге, получил отличную мультимедийную систему.
Ее еще долго можно вылизывать, но это уже мелочи.
Теперь точно можно сказать, что проект удался и завершен.
Спасибо всем за подсказки! ;)
IMG_20230701_161451.jpg
 
Последнее редактирование:

ivashka777

Well-known member
Настройка работы вентилятора в Volumio как в Raspberry OS.
Для управления вентилятором у меня применен ключ.
Ключ, в моем случае, подключен к gpio 2, если у вас применен другой gpio, отредактируйте в файле fancontrol.py строчку:
"GPIO_PIN = 2 # Which GPIO pin you're using to control the fan".
Кому интересно, изучаем статью здесь.
Или просто делаем так:
git clone https://github.com/Howchoo/pi-fan-controller.git

sudo apt-get install git

sudo apt install python3-pip

sudo pip3 install -r pi-fan-controller/requirements.txt


Создать файл fancontrol.py:

nano fancontrol.py

С содержимым:
------------------------------------------------
#!/usr/bin/env python3

import subprocess
import time

from gpiozero import OutputDevice


ON_THRESHOLD = 65 # (degrees Celsius) Fan kicks on at this temperature.
OFF_THRESHOLD = 55 # (degress Celsius) Fan shuts off at this temperature.
SLEEP_INTERVAL = 5 # (seconds) How often we check the core temperature.
GPIO_PIN = 2 # Which GPIO pin you're using to control the fan.


def get_temp():
"""Get the core temperature.
Run a shell script to get the core temp and parse the output.
Raises:
RuntimeError: if response cannot be parsed.
Returns:
float: The core temperature in degrees Celsius.
"""
output = subprocess.run(['vcgencmd', 'measure_temp'], capture_output=True)
temp_str = output.stdout.decode()
try:
return float(temp_str.split('=')[1].split('\'')[0])
except (IndexError, ValueError):
raise RuntimeError('Could not parse temperature output.')


if __name__ == '__main__':
# Validate the on and off thresholds
if OFF_THRESHOLD >= ON_THRESHOLD:
raise RuntimeError('OFF_THRESHOLD must be less than ON_THRESHOLD')

fan = OutputDevice(GPIO_PIN)

while True:
temp = get_temp()

# Start the fan if the temperature has reached the limit and the fan
# isn't already running.
# NOTE: `fan.value` returns 1 for "on" and 0 for "off"
if temp > ON_THRESHOLD and not fan.value:
fan.on()

# Stop the fan if the fan is running and the temperature has dropped
# to 10 degrees below the limit.
elif fan.value and temp < OFF_THRESHOLD:
fan.off()

time.sleep(SLEEP_INTERVAL)
---------------------------------------------

sudo mv fancontrol.py /usr/local/bin/
sudo chmod +x /usr/local/bin/fancontrol.py

Создать файл fancontrol.sh:

nano fancontrol.sh

С содержимым:
---------------------------------------------
#! /bin/sh

### BEGIN INIT INFO
# Provides: fancontrol.py
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
### END INIT INFO

# Carry out specific functions when asked to by the system
case "$1" in
start)
echo "Starting fancontrol.py"
/usr/local/bin/fancontrol.py &
;;
stop)
echo "Stopping fancontrol.py"
pkill -f /usr/local/bin/fancontrol.py
;;
*)
echo "Usage: /etc/init.d/fancontrol.sh {start|stop}"
exit 1
;;
esac

exit 0
----------------------------------------------

sudo mv fancontrol.sh /etc/init.d/
sudo chmod +x /etc/init.d/fancontrol.sh

sudo update-rc.d fancontrol.sh defaults
sudo reboot

или

sudo /etc/init.d/fancontrol.sh start
(после этой команды, вентилятор должен выключиться если температура процессора ниже 65 градусов).
В моей конструкции способ сработал (y).

p.s. но, нашелся и минус (по крайней мере на Raspberry 3 B+).

Управление кулером ломает работу плагина Peppymeter. В какой последовательности их не ставь. Peppymeter просто перестает запускаться, ни каких ошибок в работе плагина не отображается. Что там с чем конфликтует не знаю. Тут моих познаний явно недостаточно :( .
 
Последнее редактирование:

Vitalii

Well-known member
Настройка работы вентилятора в Volumio как в Raspberry OS.
Для управления вентилятором у меня применен ключ.
Ключ, в моем случае, подключен к gpio 2, если у вас применен другой gpio, отредактируйте в файле fancontrol.py строчку:
"GPIO_PIN = 2 # Which GPIO pin you're using to control the fan".
Кому интересно, изучаем статью здесь.
Или просто делаем так:
git clone https://github.com/Howchoo/pi-fan-controller.git

sudo apt-get install git

sudo apt install python3-pip

sudo pip3 install -r pi-fan-controller/requirements.txt


Создать файл fancontrol.py:

nano fancontrol.py

С содержимым:
------------------------------------------------
#!/usr/bin/env python3

import subprocess
import time

from gpiozero import OutputDevice


ON_THRESHOLD = 65 # (degrees Celsius) Fan kicks on at this temperature.
OFF_THRESHOLD = 55 # (degress Celsius) Fan shuts off at this temperature.
SLEEP_INTERVAL = 5 # (seconds) How often we check the core temperature.
GPIO_PIN = 2 # Which GPIO pin you're using to control the fan.


def get_temp():
"""Get the core temperature.
Run a shell script to get the core temp and parse the output.
Raises:
RuntimeError: if response cannot be parsed.
Returns:
float: The core temperature in degrees Celsius.
"""
output = subprocess.run(['vcgencmd', 'measure_temp'], capture_output=True)
temp_str = output.stdout.decode()
try:
return float(temp_str.split('=')[1].split('\'')[0])
except (IndexError, ValueError):
raise RuntimeError('Could not parse temperature output.')


if __name__ == '__main__':
# Validate the on and off thresholds
if OFF_THRESHOLD >= ON_THRESHOLD:
raise RuntimeError('OFF_THRESHOLD must be less than ON_THRESHOLD')

fan = OutputDevice(GPIO_PIN)

while True:
temp = get_temp()

# Start the fan if the temperature has reached the limit and the fan
# isn't already running.
# NOTE: `fan.value` returns 1 for "on" and 0 for "off"
if temp > ON_THRESHOLD and not fan.value:
fan.on()

# Stop the fan if the fan is running and the temperature has dropped
# to 10 degrees below the limit.
elif fan.value and temp < OFF_THRESHOLD:
fan.off()

time.sleep(SLEEP_INTERVAL)
---------------------------------------------

sudo mv fancontrol.py /usr/local/bin/
sudo chmod +x /usr/local/bin/fancontrol.py

Создать файл fancontrol.sh:

nano fancontrol.sh

С содержимым:
---------------------------------------------
#! /bin/sh

### BEGIN INIT INFO
# Provides: fancontrol.py
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
### END INIT INFO

# Carry out specific functions when asked to by the system
case "$1" in
start)
echo "Starting fancontrol.py"
/usr/local/bin/fancontrol.py &
;;
stop)
echo "Stopping fancontrol.py"
pkill -f /usr/local/bin/fancontrol.py
;;
*)
echo "Usage: /etc/init.d/fancontrol.sh {start|stop}"
exit 1
;;
esac

exit 0
----------------------------------------------

sudo mv fancontrol.sh /etc/init.d/
sudo chmod +x /etc/init.d/fancontrol.sh

sudo update-rc.d fancontrol.sh defaults
sudo reboot

или

sudo /etc/init.d/fancontrol.sh start
(после этой команды, вентилятор должен выключиться если температура процессора ниже 65 градусов).
В моей конструкции способ сработал (y).

p.s. но, нашелся и минус (по крайней мере на Raspberry 3 B+).

Управление кулером ломает работу плагина Peppymeter. В какой последовательности их не ставь. Peppymeter просто перестает запускаться, ни каких ошибок в работе плагина не отображается. Что там с чем конфликтует не знаю. Тут моих познаний явно недостаточно :( .
Приветствую, да, у меня такая же ситуация. Все перестает работать.
 

ivashka777

Well-known member
Все перестает работать
У меня перестает работать только Peppymeter, вместо него почему то запускается скринсейвер плагина дисплея (гаснет экран через 2 минуты), а управление вентилятором работает исправно.
 
Последнее редактирование:

Vitalii

Well-known member
:ROFLMAO:

У меня перестает работать только Peppymeter, вместо него почему то запускается скринсейвер плагина дисплея (гаснет экран через 2 минуты), а управление вентилятором работает исправно.
Приветствую. Как я понял, для пепиметра нужен чистый образ и максимум, что к нему можно подгрузить так это экран. Если что-то загрузить еще, пепиметр начинает глючить или вообще не работает. Вот такой вот неудобный пепиметр.
 
Верх