ラズベリーパイ3 Model B をセットアップ(メモ)


AIの学習モデルの単体実行環境とかIoTのプラットフォームになんか使えんか?

というわけでラズベリーパイを触ってみます。

 

Raspbian Stretch DesktopでRaspberry-Piを起動

Wi-Fiでリモート接続(SSH、VNC)

カメラ・モジュールの動作確認

Quimatのタッチスクリーンの設定

Swap領域の拡張

VNCを使ったデータ転送

ラズパイのスクリーンキャプチャ

ブランク スクリーンを回避

Quimat 3.5インチディスプレイのアクリルケースを取り付ける

サウンド・オーディオチェック

日本語環境をアップデートしておく

壁紙チェンジ

携帯用のモバイルバッテリー

クローンやバックアップの作成など…..はこちらのページ

IoTプラットフォーム化してみる

特殊な不具合

 


Raspbian Stretch DesktopでRaspberry-Piを起動

 

(現RaspbianはBusterです。Stretchのイメージ->LiteFull

 

ディスプレイには、Quimat 3.5inch タッチスクリーンを使ってみます。

ラズベリーパイ(Raspberry-Pi 以降 ラズパイ)の基本構成はこのページ参照

MicroSDカードにOSの準備をします。

カードの書き込みにダイソーの「マルチカードリーダー」を使ってみました(リーダーと書いてますが書き込みもできます)。

全然問題ないです (昨今の100均はすごいですわ、ホンマ)。

MicroSDカードは32GB Class 10を使用。

作業PCはWindows7(64bit)。

MicroSD用のスロットに挿します。

USBを確実に認識するために、電力が十分なPC後部のUSBポートの使用をお勧めします(by SanDiskサポート)。

 

MicroSDはFat32などでフォーマット済みが多いですが、まだならフォーマット

NOOBSを使う例が多いですが、手っ取り早く起動・設定したかったのでOSイメージを焼き付けることにします。

GUIを使ってみたかったので、MicroSDカードにRaspbian Strectch with Desktopを焼き込む(2018-06-27-raspbian-stretch.imgで4.49GB)。

Mathematicaなんかも使いたい方は、Raspbian Stretch with desktop and recommended software

 

DDWinはうまくいかなかった(ドライブを認識してくれなかった)のでEtcherを使用。

Flash(書き込み)開始。

Validation実行。

 

書き込み終了後、MicroSDをスロットに挿しておく(電源投入は一番最後です)。

USBキーボード・マウスも挿しておく。

カメラ・モジュールを使う場合、スロットに挿しておきます。

両端を持ち上げて少し後ろに倒して、カメラケーブルを挿すスペースを空けておきます。

ケーブルを差し込んだら、両端を降ろして固定。

カメラのケーブルを固定するパーツがポロっと取れてしまったら…….。

こういう向きに差し込みます。

 

 

 

モジュールがブランブランして危なそうなら、小さめの透明なチャックつき子袋で保護。

 

ディスプレイ(Quimat 3.5インチタッチスクリーン)をセット。

今回は自己完結型のラズパイにしたかったのでディスプレイも準備。

 

HDMIコネクターを接続。

コネクターの挿入位置はどっちが上(下)でも構いません。

電源投入。

 

OS起動後、セットアップが開始されます。

画面が小さいので天眼鏡なんぞで拡大してマウスとキーボードで入力。

 

まずは、Japanを選択、その他は自動で設定されます。

 

 

後はひたすら仰せのとおりに設定していけば問題ないです。

最後に、Updateが開始されます(結構な時間がかかります)。

見づらいですが、プログレスバーが表示されています。

↑TOP

 


Wi-Fiでリモート接続

とにかくディスプレイの画面が小さいのでGUIはストレスがかかります(ハズキルーペでも見づらいだろうというレベル)。

解像度は1280x720のようです。

HDMI端子があれば、外部ディスプレイやTVでモニターする方がいいですが、ない場合は、SSHやVNCで環境を作った方がいいです。

 

SSH、VNC、カメラを使う場合、インターフェースを有効にしておきます。

設定->Raspberry Piの設定->インターフェース->SSH、VNCやカメラの有効にチェック

再起動

 

● TeraTermSSHを設定

固定IPにしておいたほうがいいですが、ローカルIPはルーターをリセットしない限りそんなにコロコロ変わるもんでもないんで今回はパス。

ラズパイのターミナルで、ifconfigコマンドを使ってローカルIPを確認(ここばっかりは極小文字でもガマン)。

$ifconfig

以降、例えば192.168.0.27だとします。

 

/bootにsshのファイルやフォルダーを作っておくという説明をよく聴きますが、なくてもハンドリングできました…..。

 

TeraTermを起動

ホストにローカルIPを入力。

デフォルトのままなら「ユーザー名」はpiです(ホスト名と間違わないようにしてください)。

例えば、ラズパイの端末を起動するとデフォルトでプロンプトは以下のように表示されます。

pi@raspberrypi:~ $

ユーザー名@ホスト名:~ $

パスフレーズはOS設定時に入力したログインパスワード。

 

 

 

RealVNC (リモートデスクトップアプリ)を設定

サーバー:ラズパイ

クライアント:PC

PC側でTeraTermを起動して以下を実行。

$ sudo apt-get update
$ sudo apt-get install realvnc-vnc-server

上記の有効チェックがまだの場合は

$ sudo raspi-config

Interfacing Options > VNCでYesにする。

 

PC側でVNC Viewerをダウンロードしてインストール

ちなみに、VNC Viewerは以下のプラットフォームでサポートされています。

今回はWindows版を使ってみます。

TeraTermで使ったものと同じものを入力。

ログイン

ちなみに、VNC ViewerではなくブラウザーでVNCサーバーにアクセスしてリモートデスクトップするような場合はこのページ参照

 

 

メニュを見ると……

WolframやMathematicaが普通に入ってるんですね、ちょっとびっくり。

ブラウザーはChromium。

 

 

以降、ラズパイはディスプレイやマウス、キーボードなしのすっぴん状態(ヘッドレスと言うそうです)でもOK、リモートで制御できます。

ラズパイの電源投入後Raspbianが起動します、頃合を見計らってVNC Viewerを起動。

ディスプレイがない場合のOSの起動状況は赤い電源ランプの隣の緑のランプで一応確認できます。緑が点滅や点灯状態なら起動中、完全に消灯したら起動完了です(シャットダウン時もこういう状態です)。

Raspbianの起動がコンプリートしてアイドリング状態になったらログイン画面になるのでTeraTermで使ったものと同じユーザー名とパスを入力してログインしましょう。

 

↑TOP

 


カメラ・モジュールの動作確認

$raspistill -w 800 -h 600  -o tmp.jpg

5秒くらい経過して、/home/piに画像が保存されます。

動画もraspividで撮れます。

エラーになる場合

ラズパイのメニュ->設定->Raspberry Pi の設定->インターフェース->カメラにチェックが入っているか確認

 

 

ちなみにUSB接続のWebカメラの場合

例えばコマンドラインから使えるfswebcamを使ってみます。

$sudo apt-get install fswebcam

$fswebcam image.jpg

解像度指定

$fswebcam -r800x600 image.jpg

最大解像度

$fswebcam -r 1280x960 image.jpg

 

 

↑TOP

 


Quimatのタッチスクリーンの設定

ラズパイでアプリを直接操作する際、I/Fになるのは文字入力じゃなく、スマホのようなタッチ操作だと思われるので設定しておきます。

まずは以下を設定

$git clone https://github.com/goodtft/LCD-show.git
$chmod -R 755 LCD-show
$cd LCD-show/
$sudo ./MPI3508_480_320-show

再起動されます。

でもこのサイズだと、ウィンドウが大きすぎてディスプレイ外へはみ出してしまって不便。

この方の設定を参照。

抜粋

現状の解像度確認

$ tvservice -s

800x600の解像度でタッチスクリーンにします。

このサイズならターミナルの字も何とか見えます(^^)。

$ sudo leafpad /boot/config.txt

hdmi_driver=2
hdmi_force_hotplug=1
hdmi_group=2
hdmi_mode=87
#hdmi_cvt 480 320 60 6 0 0 0
#hdmi_cvt 800 480 60 6 0 0 0
hdmi_cvt 800 600 60 6 0 0 0

dtparam=spi=on
dtoverlay=ads7846,cs=1,penirq=25,penirq_pull=2,speed=50000,keep_vref_on=0,swapxy=0,pmax=255,xohms=150,xmin=200,xmax=3900,ymin=200,ymax=3900

 

注:最新の2018-10-09-raspbian-stretch.imgでは以下の設定は不要になっているようです。

$ sudo mkdir -p /etc/X11/xorg.conf.d
$ sudo leafpad /etc/X11/xorg.conf.d/99-calibration.conf
以下を記述

Section “InputClass”
Identifier “calibration”
MatchProduct “ADS7846 Touchscreen”
Option “Calibration” “3936 227 268 3880”
Option “SwapAxes” “1”
Option “InvertY” “1”
EndSection

$ sudo apt-get update
$ sudo apt-get install xserver-xorg-input-evdev
$ sudo cp -rf /usr/share/X11/xorg.conf.d/10-evdev.conf /usr/share/X11/xorg.conf.d/45-evdev.conf

 

再起動

 

マウスやタッチペン、指先などでスクリーン上をドラッグしてちゃんと矩形を描ければOK。

 

キャリブレーションがうまくいかない場合

この方のブログ参照

もしかして、800x480になっているかもしれません。

以下を追記

hdmi_cvt 800 600 60 6 0 0 0

↑TOP

 


Swap領域の拡張

Swapのデフォルトは100MBですが、これだとMovidiusやROSをビルドするような場合は失敗するようです。拡張しておきます。

$sudo leafpad /etc/dphys-swapfile

下記のように変更します。

書き換え

CONF_SWAPSIZE=2048

設定値を大きくしたら、スワップ領域に関するプログラムを再起動。
$ sudo /etc/init.d/dphys-swapfile restart

必要性がない場合は、そのまま。

MicroSDカードの寿命が心配な向きはswapを停止。

一時的なswap停止

$sudo dphys-swapfile swapoff

再設定

$sudo dphys-swapfile swapon

恒久的な停止

$sudo insserv -r dphys-swapfile

↑TOP

 


VNCを使ったデータ転送

Raspberry-Pi ->PC

 

 

PCのデスクトップに転送されます。

 

 

PC->Raspberry-Pi

 

PCのファイルリストから選択

ラズパイ側で「どこに保存する?」と聞いてくるので、選択して保存。


↑TOP

 


ラズパイのスクリーンキャプチャー

普通に「Print Screen」キーでできますね。イメージは、/home/piに保存されます。

↑TOP

 


ブランク スクリーンを回避

ラズパイは無操作がしばらく続くと画面に何も表示されない状態(blanc screen)になります。

これを恒久的に回避するには、/etc/lightdm/lightdm.confを編集します。

$sudo leafpad /etc/lightdm/lightdm.conf

以下を追加
[SeatDefaults]
xserver-command=X -s 0 -dpms

保存して、ラズパイを再起動

↑TOP

 


Quimat 3.5インチディスプレイのアクリルケースを取り付ける

ディスプレイは外しておきます。

 

細くて長い方の小ネジで、底板を取り付けます

ネジはこんな具合。

透明なワッシャーのようなもので、基板を底上げします。

 

 

 

側板を取り付けます

ディスプレイをセットします。

HDMIコネクターを差し込みます

最後に、太くて短い方の小ネジで天板を固定して完成

(天板も左右非対称なので間違えないようにします)

ちなみに、ラズパイの寸法はこちら(pi B+ , pi3 B+ , pi3 A+)

 

↑TOP

 


オーディオチェック

Quimatのディスプレイを使うとステレオミニジャックはQuimatが優先されるようです。

このミニジャック、なんかスムーズに再生されませんね。

ラズパイのミニジャックを優先するように設定します。

出力テスト

ミニジャックにヘッドフォンを接続して以下を実行

$cd /opt/vc/src/hello_pi/

$./rebuild.sh

$/opt/vc/src/hello_pi/hello_audio/hello_audio.bin

うるさいのでCtrl + zキーで停止
出力をミニジャックに固定してテスト

うるさいのでCtrl + zキーで停止

音が出てればOK。
ラズパイのサウンド出力は、HDMIとライン(ステレオミニジャック)の2系統あります。

デフォルトでは、どちらか自動で判別されて再生されるようになっているようです。

HDMI出力の場合も、Quimat 3.5インチディスプレイの設定時に\boot\config.txtではhdmi_driver=2に書き換わっていて、TV接続時もスピーカーから出力されるはずです。

hdmi_driver=1の場合はDVIモードでPCモニター等へ出力されますが、サウンド出力は抑制されるようです。

 

$ aplay /usr/share/sounds/alsa/Front_Center.wav

で女性の声で「フロント センター」と喋るのが聞こえると思います。

 

aplayではmp3は再生できません。mpg321を使います。

$sudo apt-get install mpg321

$mpg321 xxx.mp3

 

 

:エラーになる場合、サウンドデバイスを明示的に指定しなければならないかもしれません。

$aplay -l

で、カード番号とデバイス番号をチェック

カード番号=1、デバイス番号 = 0の場合

$ aplay  -D hw:1,0  /usr/share/sounds/alsa/Front_Center.wav

 

:ミニジャックに接続しているのに音が出ない場合

ここもチェックしてみましょう。

スピーカーアイコンを右クリック

 

Bluetoothスピーカーの場合

100均(ダイソー)の防滴タイプBluetoothスピーカー。100均だけど600円。Bluetooth2.1対応。

このスピーカーは設定状況を(英語ですが)しゃべってくれます。

技適マークもついてます。

 

設定は簡単です。

充電して、背面のスィッチをON

ラズパイ側でBluetoothデバイスを追加してペアリング

スピーカーメニュを右クリックして、このデバイスを選べばOK

ダイソーからBluetooth Speaker 2(600円ってのも出ています。

これはBluetooth3.0に対応。ラズパイで使うとaplayでwavを再生できますがYoutubeなどの音声は出力できませんでした。

防滴仕様で電話ボタンとマイクがついてるので、スマホ用「お風呂でハンズフリー」という使い方になるのだと思います。

 

 

 

スピーカーの動作確認ができたら、マイクをチェックしてみます。

USBマイクを使うとして、接続して情報取得。

$arecord -l

こんな感じで、カード番号とデバイス番号を確認。

USBマイクの優先度を確認

$cat /proc/asound/modules

既存の内蔵オーディオモジュールが優先されるので多分こうなっている

    0 snd_bcm2835

    1 snd_usb_audio <-ここ

USBマイクの優先度を上げます。

$sudo leafpad /lib/modprobe.d/aliases.conf

コメントアウト

#options snd-usb-audio index=-2

挿入

options snd slots=snd_usb_audio,snd_bcm2835
options snd_usb_audio index=0
options snd_bcm2835 index=1

aliases.confを閉じてラズパイ再起動

 

以下のコマンドでご自分の声を録音してみます。

$arecord -D plughw:1,0 -f cd mic.wav

音声はホームディレクトリーに保存されます。再生して確認。

$aplay /home/pi/mic.wav

音量が小さい場合は、録音レベルを調整します。

オプションCがマイクのカード番号

$amixer sset Mic 400 -c 1

 

 

↑TOP

 


日本語環境をアップデートしておく

注:最新の2018-10-09-raspbian-stretch.imgでは以下の設定は不要になっているようです。

デフォルトの日本語環境は不完全です(文字化けしているところもあります)。

アップデートして日本語入力もできるようにしておきます。

例によってリポジトリーを更新しておく
$sudo apt-get update

フォントをインストール
$sudo apt-get install fonts-ipafont fonts-ipaexfont

日本語入力システムをインストール
$sudo apt-get install fcitx-mozc

再起動

 

文字化けが直って、CPUモニターが普通に見れるようになります。

日本語を入力してみます。

「メニューボタン」→「アクセサリ」→「Text Editor」を起動します。

最初はキーボードから半角英数字が入力されますが、Ctrl + Spaceキーを押すと

日本語入力に切り替わります。

変換はSpaceキー。

再度Ctrl + Spaceキーを押すと半角英数字に切り替わります。

↑TOP


壁紙チェンジ

●マニュアルで変更

デスクトップで右クリック

壁紙選択

デフォルトの壁紙が用意されているフォルダー

/user/share/rpd-wallpaper

 

●コマンドで変更

 

 

↑TOP


 

携帯用のモバイルバッテリーはどれがいいんだろうか?

条件

最低8時間はもちたい

Movidius NCSも使える

Movidiusの消費電力は1wだそうです。

ちなみに、ラズパイ3の消費電力は12.5W

計算合ってる?

$$バッテリー蓄電容量:X[mAh] = X \times 10^-3[Ah]\hspace{ 35pt }$$

$$バッテリー定格電圧:5[V]\hspace{130pt }$$

$$バッテリーの電力:5 \times X \times 10^-3[Wh]\hspace{ 70pt }$$

$$ラズパイとNCSの消費電力量:12.5 + 1[W] = 13.5[W]$$

$$稼動時間:5 \times X \times 10^-3[Wh] / 13.5[W] = 8[h]\hspace{ 35pt }$$

電力ロスを考慮して20%ほど多く見積もる

$$X = 8 \times 13.5 \times 10^3 / 5 \times 1.2 [mAh] = 25920[mAh]$$

 

この数字に近いバッテリー Aikove モバイルバッテリ24000mAh

工事中

 

↑TOP

 


WisteriaHillが経験した特殊な不具合

ラズパイ Zero WHで起こった通電しなくなる不具合です。

それまで通常稼働していたZeroに新しくイメージを焼いたMicroSDを挿して電源投入してもPowerランプが点灯しない!

Zeroが逝ってしまったのか?

もし、あなたが正常に稼働している別のMicroSDをお持ちなら、それを使ってテストしてみてください。

通電が確認できる….かもしれません。

通電確認後、再度通電不具合のMicroSDで動作確認すると、無事通電が確認できました。

どうしてこういう症状が出るのかは分かりませんが、ラズパイが壊れた!と思う前にやってみる価値はあります。

MicroSDが絡んだ不思議な不具合現象です。

 

↑TOP


追加で入れておいた方がいいもの

画像処理用にimagemagickをインストールしておきます。
$sudo apt-get install imagemagick

USBカメラでキャプチャー用にfswebcamをインストールしておきます。
$sudo apt-get install fswebcam

 


 

Be the first to comment

Leave a Reply

Your email address will not be published.


*