レビューメディア「ジグソー」

念願のPi zeroを手に入れたぞ

念願の 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

 $ apt-get install mpc
 

 /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日

  • 購入場所

    スイッチサイエンス

22人がこのレビューをCOOLしました!

コメント (13)

  • yosyos888さん

    2017/04/21

    ありがとうございます
    このケース、299円ですよ
他10件のコメントを表示

ZIGSOWにログインするとコメントやこのアイテムを持っているユーザー全員に質問できます。

YouTube の動画を挿入

YouTube の URL または動画の ID を入力してください

動画の ID が取得できません。ID もしくは URL を正しく入力してください。

ニコニコ動画の動画を挿入

ニコニコ動画の URL または動画の ID を入力してください

動画の ID が取得できません。ID もしくは URL を正しく入力してください。

ZIGSOWリンク挿入

検索対象とキーワードを入力してください

    外部リンクを挿入

    リンク先の URL とタイトルを入力してください

    URL を正しく入力してください。

    画像を挿入(最大サイズ20MB)

    画像を選択してください

    ファイルサイズが20MBを超えています

    別の画像を追加

    ZIGSOW にログイン

    ZIGSOW会員登録(無料)はこちらから