念願の Raspberry pi zeroをスイッチサイエンスから手にいれました。
aietndoで購入したピンを付けて、ケースに入れました。
このLANアダプターを付けました
でも、Volumio2は動くのですが、Network Driveが見つからないという
メッセージが出てきてNASをマウントできません。
Teratermも接続できて、Web-UIも表示されるのですが...
そうそう、TDA1543 DACもちゃんと音が出ました。(WebRadioのみ)
■2017年4月22日 追記
Volumio2の「+Add New Drive」(自動ボリューム探索)機能では
NASを見つけられなかったのですが、IPアドレスやマウントポイントを
手入力したら、音楽データの入っているNASがマウントできました。
なんでだろ???
■2017年4月23日 追記
Takajinさんの SabreBerry+を載せてみました。
これも良い音でなりました。
サイズ的にちょうどいいですね。
■2017年7月30日 追記
GPIOのピン配置を毎回ネットで探すことになるので絵を作ってみました。
■ハードウェアのセットアップ
Raspberry Pi zeroに2.2インチのLCDを接続してみたいと思います。
このLCDのコントローラーは、ILI9340で adafruit22aとコンパチです。
Raspberry Pi zeroとLCDの接続は以下のようにしました。
[LCD - zero] ※数字はピン番号
1.VCC - 1.+3V3 OUT
2.GND - 6.GND
3.CS - 24.CS0
4.RESET - 22.GPIO25
5.DC/RS - 18.GPIO24
6.MOSI - 19.MOSI
7.SCK - 23.SCK
8.LED - 17.+3V3 OUT
9.SD0/MISO - N/A
■ソフトウェアのセットアップ
Raspberry Pi zeroをRaspbianで動かしています。
※ 4.9.35+ #1014 Fri Jun 30 14:34:49 BST 2017 armv61 GNU/Linux
※SSHで通信したい場合には、/bootの下に「ssh」というファイルを作ること
■fbtft のセットアップ
以下のファイルを変更しました。
[/boot/config.txt] ※以下の行を追加
dtoverlay=fbtft_device
[/boot/cmdline.txt] ※行の最後に以下を追加
fbcon=map:10
[/etc/modules-load.d/fbtft.conf] ※新規作成
spi-bcm2835
fbtft_device
[/etc/modprobe.d/fbtft.conf] ※新規作成
options fbtft_device name=adafruit22a txbuflen=32768 rotate=270
■SDL1.2のインストール
# sudo apt-get install libsdl1.2-dev
# sudo apt-get install libsdl-image1.2-dev
# sudo apt-get install libsdl-ttf2.0-dev
# sudo apt-get install libsdl-gfx1.2-dev
■python3のインストール
# sudo apt-get install python3-pip python3-dev
■pygame3のインストール
# sudo apt-get install python3-pygame
■動作環境の確認
fbtftのwikiにあるpygameのテストプログラムを動作させてみたところエラー発生
$ python pytest.py
xcb_connection_has_error() returned true
ALSA lib confmisc.c:768:(parse_card) cannot find card '0'
ALSA lib conf.c:4259:(_snd_config_evaluate) function snd_func_card_driver returned error: No such file or directory
ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings
ALSA lib conf.c:4259:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
ALSA lib confmisc.c:1251:(snd_func_refer) error evaluating name
ALSA lib conf.c:4259:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:4738:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM default
Traceback (most recent call last):
File "pytest.py", line 13, in <module>
DISPLAYSURF = pygame.display.set_mode((240, 320), 0, 32)
pygame.error: No video mode large enough for 240x320
エラー1:Xwindowのリクエスト発生
なぜか raspberry Pi zeroから X serverのリクエストがくる
エラー2:ALSAエラー発生
/boot/config.txtの中で、オーディオを活かすとエラーはでなくなりました。
このエラーが出ていた時は、以下をコメントアウトしていました。
dtparam=audio=on
エラー3:pygameのエラー発生
画面サイズのエラーのようなので、画面設定を確認してみます。
$ fbset -i -fb /dev/fb1
mode "320x240"
geometry 320 240 320 240 16
timings 0 0 0 0 0 0 0
nonstd 1
rgba 5/11,6/5,5/0,0/0
endmode
Frame buffer device information:
Name : fb_ili9340
Address : 0
Size : 153600
Type : PACKED PIXELS
Visual : TRUECOLOR
XPanStep : 0
YPanStep : 0
YWrapStep : 0
LineLength : 640
Accelerator : No
とりあえずプログラムの中で、240x320と定義している部分を 320x240に修正するとポリゴンやらラインやらが表示されました。
動くことはわかったが、縦横問題は後で解決が必要な気がします。
■2017年8月3日 追記
PeppyMeterのインストール
※PeppMeter とは、VUメータを表示させるツールです。
■PeppyMeter本体のインストール
$ apt-get install git
$ cd /home/pi
$ mkdir PeppyMeter
$ cd PeppyMeter
$ git init
$ git pull https://github.com/project-owner/PeppyMeter.git
■Named Pipeの作成
$ mkfifo /home/pi/mpd.fifo
$ chmod 666 /home/pi/mpd.fifo
$ ls -l /home/pi/mpd.fifo
■mpdのインストール
$ apt-get install mpd
/etc/mpd.conf の一番最後に以下を付け加えます。
audio_output {
type "fifo"
name "fifo"
path "/home/pi/mpd.fifo"
format "44100:16:2"
}
■PeppyMeterのテスト
mpc からplaylistを演奏させてメーター表示のテストをしました。
※PeppyMeterが 480x320の解像度固定の為、ソースを無理やり 320x240にしました。その為、画像が少々変になっています。
でも一応、メーターが表示され、針も音楽に合わせて動きました。
あとは、PeppyMeterを 320x240に改造するか、480x320のLCDを購入するかを考えます。
それから、外部からの音声信号で動くように改造が必要です。
また一歩野望に近づきました。
■2017年8月6日 追記
Raspberry Pi 2B+に480x320のLCDが付いていたので、PeppyMeterを動かしてみました。
やはりPythonなのでもっさりしています。なんとかしないと
■2017年8月20日 追記
Raspberry Pi zeroにもこのLCDを接続してみました。
■fbtftのセットアップ
以下のファイルを更新しました。
[/boot/config.txt] ※以下の行を追加
dtoverlay=fbtft_device
dtoverlay=ads7846,penirq=17,speed=2000000,penirq_pull=2,xohms=150
[/boot/cmdline.txt] ※行の最後に以下を追加
fbcon=map:10
[/etc/modules-load.d/fbtft.conf] ※新規作成
spi-bcm2835
fbtft_device
ads7846
[/etc/modprobe.d/fbtft.conf] ※新規作成
options fbtft_device name=piscreen width=320 height=480 \
bgr=1 fps=30 speed=18000000 txbuflen=32768 rotate=90 \
gpios=reset:25,dc:24
options ads7846_device model=7846 swap_xy=1 cs=1 verbose=3
■tslib等のインストール
以下のツールをインストールします。
$ sudo apt-get install xinput evtest libts-bin fbcat
■タッチスクリーン機能のテスト
$ evtest /dev/input/event0
Input driver version is 1.0.1
Input device ID: bus 0x0 vendor 0x0 product 0x0 version 0x0
Input device name: "ADS7846 Touchscreen"
Supported events:
Event type 0 (EV_SYN)
Event type 1 (EV_KEY)
Event code 330 (BTN_TOUCH)
Event type 3 (EV_ABS)
Event code 0 (ABS_X)
Value 4058
Min 0
Max 4095
Event code 1 (ABS_Y)
Value 1813
Min 0
Max 4095
Event code 24 (ABS_PRESSURE)
Value 0
Min 0
Max 65535
Properties:
Testing ... (interrupt to exit)
Event: time 1503208729.464387, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
Event: time 1503208729.464387, type 3 (EV_ABS), code 0 (ABS_X), value 4048
Event: time 1503208729.464387, type 3 (EV_ABS), code 1 (ABS_Y), value 1911
Event: time 1503208729.464387, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 65279
Event: time 1503208729.464387, -------------- SYN_REPORT ------------
Event: time 1503208729.484524, type 3 (EV_ABS), code 0 (ABS_X), value 4053
Event: time 1503208729.484524, type 3 (EV_ABS), code 1 (ABS_Y), value 1909
Event: time 1503208729.484524, -------------- SYN_REPORT ------------
Event: time 1503208729.544118, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0
Event: time 1503208729.544118, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 0
Event: time 1503208729.544118, -------------- SYN_REPORT ------------
Event: time 1503208734.744373, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
Event: time 1503208734.744373, type 3 (EV_ABS), code 0 (ABS_X), value 4091
Event: time 1503208734.744373, type 3 (EV_ABS), code 1 (ABS_Y), value 2714
Event: time 1503208734.744373, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 65281
スクリーンをタッチするとメッセージが表示されるので、繋がっているようです。
-
購入金額
648円
-
購入日
2017年04月21日
-
購入場所
スイッチサイエンス
通りすがりのおじさんさん
2017/04/21
このケースはmicroSDの交換が可能なんですね!!
yosyos888さん
2017/04/21
このケース、299円ですよ
通りすがりのおじさんさん
2017/04/22
それは安い!
jakeさん
2017/04/22
実験中は手入れしやすいケース、完成したらかっこいいケースに載せ替えですね!
mr_osaminさん
2017/04/24
ZERO基板の大きさに合ったオンボードDAC基板も出てきているようで、今後の流れが楽しみです。
yosyos888さん
2017/04/24
中野集合ですか?
mr_osaminさん
2017/04/24
ですか!
yosyos888さん
2017/04/24
私は、29日なら行けそうなんですが
mr_osaminさん
2017/04/24
yosyos888さん
2017/04/24
通りすがりのおじさんさん
2017/04/24
>じんそんさんのリクロック+アイソレーターボード発売されましたね
い、いつの間に!
確保完了w
金のクロック無いけども・・・w
通りすがりのおじさんさん
2017/08/06
キビキビ動くと凄く良さそうですね。
あとL/R別にメーター表示させられると・・・
yosyos888さん
2017/08/06
LCDを2つ使って、L/R別に表示させたいと思っています。