イメージファイルはここ。Volumio
前提
volumio/パスワード volumio で最初から入れ、現行版はUIの /DEV ページで有効化する。作業は sudo -i でrootに上がってから行う。PCでダウンロードしたのち、Win32DiskImagerもしくはEtcherを使用してSDカードに書き込む。書き込むドライブの指定を間違えるとPCのデータが失われる可能性があるので要注意。
ルーターの設定画面などを見て割り振られたIPアドレスを確認してSSHする。スマホアプリならFing(Android/iPhone)が簡単で便利。
IPアドレスまわり
volumio.local(mDNS)やhosts登録で名前で入れるようにしておくと、IPの調べ直しが要らなくなる。まず最初にシステムアップデート。
root@volumio:~$ sudo apt-get update
root@volumio:~$ sudo apt-get upgrade
*使用するキーボードの配列を設定します。一般的な日本語キーボードを使用する場合は、[Generic 105-key (Intl) PC] → [Japanese] → [Japanese - Japanese(OADG109A)]を選択後、使用したいキー配列に
WiringPi関連で使うgccのインストール
root@volumio:~$ sudo apt-get install gcc
WiringPiをインストール。
GPIOを使うための初期設定と[[WiringPi]]をインストール
GPIO / I2Cの初期設定(現行カーネル向けの読み替え)
/etc/modules に書く i2c-bcm2708 は旧カーネルの名前。現行のRaspberry Pi OS系では dtparam=i2c_arm=on を /boot/config.txt に書くか、raspi-config の Interfacing Options → I2C で有効にするほうが確実。i2c-dev はデバイスファイル /dev/i2c-* を作るモジュール。これが無いと i2c-tools からバスが見えない。snd-bcm2835 はオンボード音声のモジュール。USB DACやI2S DACを使うなら不要なことが多い。lsmod | grep i2c と i2cdetect -y 1。バス番号は新しいPiで1、古いモデルで0のことがある。i2cdetect でLCDのアドレス(多くは0x27か0x3F)が見えれば配線はOKだ。root@volumio:~$ vi /etc/modules
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
# Parameters can be specified after the module name.
snd-bcm2835
i2c-bcm2708
i2c-dev
再起動で有効化。
WiringPiをインストール。
WiringPiについての注意
git clone は通らない。現行の入手先はGitHubのフォーク(WiringPi/WiringPi)になる。gpio readall で番号が合っているか確認してから使う。libgpiod(gpioinfo / gpioget)やPythonの gpiozero、pigpio のほうが今は素直だ。root@volumio:~$ sudo apt-get install git-core
root@volumio:~$ cd /src
root@volumio:~$ git clone git://git.drogon.net/wiringPi
root@volumio:~$ cd wiringPi
root@volumio:~$ ./build
I2C用パッケージをインストール。
root@volumio:~$ apt-get install i2c-tools
LIRCのインストール。
root@volumio:~$ sudo apt-get install lirc
root@volumio:~$ sudo wget http://goo.gl/1BOfJ -O /usr/bin/rpi-update
root@volumio:~$ sudo chmod +x /usr/bin/rpi-update
root@volumio:~$ sudo rpi-update
LIRCのためのドライバ設定。 /etc/modulesに以下の内容を追記。
設定値の意味
gpio_in_pin=4 は受信に使うGPIOで、基板の物理ピン番号ではなくBCM番号の4。物理ピンでは7番にあたる。gpio_out_pin=17 は送信用のGPIO。赤外線LEDを付けて家電を操作しないなら使わない。lirc_rpi モジュールは無くなり、dtoverlay=gpio-ir,gpio_pin=4 を /boot/config.txt に書く方式に変わっている。/etc/modules に追記しても読み込まれない。lirc_dev
lirc_rpi gpio_in_pin=4 gpio_out_pin=17
再起動してドライバの動作を確認。
root@volumio:~$ dmesg | grep lirc
[ 14.396645] lirc_dev: IR Remote Control driver registered, major 248
[ 14.530189] lirc_rpi: module is from the staging directory, the quality is unknown, you have been warned.
[ 15.502598] lirc_rpi: auto-detected active low receiver on GPIO pin 4
[ 15.516049] lirc_rpi lirc_rpi.0: lirc_dev: driver lirc_rpi registered at minor = 0
[ 15.527951] lirc_rpi: driver registered!
ドライバが2つ動作しているのを確認。
root@volumio:~$ lsmod | grep lirc
lirc_rpi 7238 3
lirc_dev 10115 1 lirc_rpi
キャラクタデバイス(メジャー=248、マイナー=0)を作成。
root@volumio:~$ ls -l /dev/lirc*
crw-rw---T 1 root video 248, 0 Jan 25 15:09 /dev/lirc0
GPIOピンへの割り当てを確認。
root@volumio:~$ sudo mount -t debugfs debugfs /sys/kernel/debug
root@volumio:~$ sudo cat /sys/kernel/debug/gpio
sudo: unable to resolve host volumio1F
GPIOs 0-53, bcm2708_gpio:
gpio-4 (lirc_rpi ir/in ) in hi
gpio-16 (led0 ) out hi
gpio-17 (lirc_rpi ir/out ) in lo
リモコンのボタンの学習。lircは停止している必要あり。
root@volumio:~$ irrecord -n -d /dev/lirc0 ~/lircd_device.conf
lircd.confを編集。nameを分かりやすい名前に。
irrecordの使い方
irrecord は対話式で、表示に従ってボタンを順に押して学習させる。-n は「設定ファイルを新規作成する」指定。lircd を止めておく(sudo service lircd stop など)。動いたままだとデバイスを掴まれていて失敗する。/etc/lirc/lircd.conf.d/ に置く。効かないときは、置き場所が lircd.conf.d の下か直接 lircd.conf かを環境に合わせて確認する。irw を実行してボタン名が出れば成功。出ないときは受信GPIO番号かリモコンの向きを疑う。#!/bin/bash
echo `sudo ifconfig wlan0 | grep 'inet addr:' | sed -e 's/^.*inet addr://' -e 's/ .*//'`;
#!/bin/sh
sudo /src/getip.sh | /src/aquestalkpi/AquesTalkPi -f - | aplay
root@volumio:~$ gcc i2ctest.c -lwiringPiI2C
Volumioは/etc/rc.localを上書きするので
/var/www/_OS_SETTINGS/etc/rc.local
を編集
起動スクリプトの注意
/etc/rc.local を上書きする。だから本体側の /var/www/_OS_SETTINGS/etc/rc.local を編集し、そこから反映させる作りになっている。/data/plugins)で持たせるほうが上書きに強い。/var/www/_OS_SETTINGS/etc/rc.local ごと差し替わることがある。WiringPiを初期化するとGPIO関係のアプリが死ぬので
wiringPi.cのphysToGpioR2の初期化されては困る項目を-1に
physToGpioR2を触る意味
WiringPiでPWMを使うときのコンパイルオプション
cc -o myprog myprog.c -lwiringPi -lpthread
$ sudo wget -P /usr/local/src http://www.zlib.net/zlib-1.2.8.tar.gz
$ cd /usr/local/src
$ sudo tar xzf zlib-1.2.8.tar.gz
$ cd zlib-1.2.8
$ sudo ./configure --prefix=/usr/local
$ sudo make
$ sudo make install
$ sudo wget -P /usr/local/srchttp://sourceforge.net/projects/libpng/files/libpng16/1.6.2/libpng-1.6.2.tar.gz
$ cd /usr/local/src
$ sudo tar xzf libpng-1.6.2.tar.gz
$ cd libpng-1.6.2
$ sudo ln -s scripts/makefile.linux makefile
$ sudo make
$ sudo make install
$ sudo wget -P /usr/local/src https://bitbucket.org/libgd/gd-libgd/downloads/libgd-2.1.0-rc2.tar.gz
$ cd /usr/local/src
$ sudo tar xzf libgd-2.1.0-rc2.tar.gz
$ cd libgd-2.1.0-rc2
$ sudo ./configure
$ sudo make
$ sudo make install
$ gdlib-config --all
GDでttfを使うための試行錯誤
freetype-1.3.1.tar.gz
をインストール
$ tar xvfz freetype-2.3.4.tar.gz
$ ./configure --prefix=/usr
$ make
$ cd freetype-2.3.4
fontconfigのインストール
http://fontconfig.org/wiki/
$ wget
$ tar zxvf fontconfig-2.6.0.tar.gz
$ cd fontconfig-2.6.0
$ ./configure
$ make
/var/lib/mpd/state
/var/lib/mpd/tag_cache
を削除後サービスをリスタート
mpdの調子が悪いとき
/var/lib/mpd/state は現在の再生状態、tag_cache は曲情報のキャッシュ。これらが壊れると曲が見つからなくなったり再生できなくなる。消すと再スキャンされ、キャッシュは作り直される。sudo service mpd restart(または systemctl restart mpd)で再起動する。VolumioのUIの「ライブラリを再スキャン」でも近いことはできる。見つからなくなる対策
crontab -e
MAILTO =""
*/5 * * * * /usr/local/crons/cron.sh
音声でIPアドレスを確認できるようにしておく。
AquestalkPiを使用。
PCでダウンロードし、\volumioのIPアドレスでアクセスし、とりあえずUSB Musicフォルダに入れる
root@volumio:~$ sudo mkdir /src
root@volumio:~$ cd /src
root@volumio:~$ mv /mnt/USB/aquestalkpi-20130827.tar.gz ./
root@volumio:~$ tar zxvf aquestalkpi-20130827.tar.gz
※ 本ページのAmazonリンクにはアフィリエイトタグ(toobf6-22)が付いている。
🤖 このページにはAIエージェント(ノア)による編集・加筆が含まれます。内容の正確性は保証できないため、重要な判断は一次情報でご確認ください。