以前の記事では色々と載せたため分かりづらい部分も多く、再度まとめ直してみました。
あまり理解できなくても、この手順通りに出来上がるようにしました! 実際にもう一回自ら構築し直しましたから(たぶん)大丈夫です。
順番通りにコピペでイケます!! 上から順に試してください。
用意したモノ
- Raspberry Pi Zero W本体
- 3.5インチモニター(今回はElecrow製の3.5インチLCDモニターです)
- ELECROW 3.5インチ HDMI液晶モニター
- RASPBIAN STRETCH LITE(2018-04-18)
- microSDカード8GB TOSHIBA製 →Team製がオススメです!
microSDカードにRaspbianを用意
写真画像をある程度入れたいので32GBあれば十分です。画像は小さいので。
microSDカードをフォーマット

SDカードフォーマッターでフォーマットします。
分からない人は「microSDカードのフォーマット方法」をご覧ください。
イメージから書き込み
事前に用意したRASPBIAN STRETCH LITE(2018-04-18)のイメージをEtcherで書き込みます。
分からない人は「イメージファイルからRaspbianのインストール」をご覧ください。
2020年以降はRaspbianのなどの書き込み総合ソフト「Raspberry Pi Imager」がリリースされたので、イメージファイルをダウンロードすることを意識することない3ステップで簡単ですね。
事前準備(Wi-Fiの設定とSSHの有効化)
初回起動からWi-Fiに接続させて、SSHを有効化して外部から操作できるようにmicroSDカードに2つのファイルをコピーします。
このブログでは何度もご説明している事前準備です。
分からない人は「Raspberry Pi のWi-Fi設定を事前に用意しておこう!」をご覧ください。
SSHで接続して作業する
SSHで他のマシンから接続します。
ssh pi@192.168.X.X
Xは自宅環境のIPアドレス数字です。(例:192.168.1.12)
なお、IPアドレスはMacのターミナルなど、既にネットワークに繋がっているマシンから、コマンドで調べられます。
arp -a | grep b8
arpコマンドでb8を含むMACアドレスを検索(grep)するという意味です。間の”|”はパイプと言い、2つのコマンドをくっつけて実行していると思ってください。
初期のIDとパスワード
pi
raspberry
初期IDはpiでパスワードはraspberryです。
ここまでよろしいでしょうか? ログイン出来たと思います。上手く行かない人は、もう一度上から見直してください。パスワードを打ち間違えていませんか?
もしくは、事前準備のファイルはコピー出来ていますか? 2つ(拡張子なしのカラのsshファイル、wpa_supplicant.confファイル)は正しいでしょうか?
raspbianのイメージはきちんと書き込めましたか? エラーはないでしょうか? microSDカードの相性問題もあります。
全体の設定(raspi-config)
真っ先にRaspberry Pi の設定からしてしまいましょう!
次のコマンドでメニューを順番に辿って設定していきます。

メニュー1でパスワードを変えましょう。新しいパスワードを2回入力します。これで初期パスワードのraspberryでは無くなります。セキュリティはひとまずOKですね。
次はネットワーク名の変更です。次の画像のようにメニュー2のNetwork Optionsを選ぶと、ネットワーク名を決められます。今回は、「Zero-slideshow」にしましたが、何でも分かれば構いません。それ程重要ではありませんが、後々に楽なので設定しておきましょう。

次はオートログインです。


画像は、最初のメニュー3のboot optionsを選んだ後、B1のDesktop / CLIを選び、B2のコンソール(CLI)でオートログオンする設定です。デフォルトのpiユーザーで説明しますので、2番目であるB2のpiユーザーでログインを選んでください。
これで起動後に後にインストールするスライドショー用アプリケーションが起動します。
最後にタイムゾーンの変更をします。

Localisation Optionsでタイムゾーンだけ変更しておきましょう。合わせるのはアジアー東京です。
次からはアプリケーションの設定や各種必要なモノをインストールしていきます。
sambaでファイル共有する
sambaのインストール
Wi-Fiで写真ファイルのやり取りをするためにsambaサーバをインストールします。
インストールする前に
sudo apt-get update
sambaのインストールにオプション-yを付けて途中のYの入力を省略しています。問い合わせがあった場合はすべて「y」と答えるためです。
sudo apt-get install -y samba
写真を格納するフォルダの作成とパーミッション
先に写真を入れておくフォルダを作成してからsambaの設定で指定します。
mkdir pic
ここではpicというフォルダを/home/pi/に作りました。
sudo chmod 777 pic/
フォルダの権限をフルアクセスに変更しました。
sambaの設定を変更
sambaのコンフィグファイルをnanoで開きます。
sudo nano /etc/samba/smb.conf
設定はファイルの最後に記述しました。
[pic] comment = Raspberry Pi Zero WH path = /home/pi/pic/ guest ok = yes read only = no
保存(crl+x→エンター)して終了です。
sambaの再起動
一度サービスだけ再起動します。
sudo systemctl restart smbd.service
これで設定している外部のPCやMacから、先に設定したZero-slideshowという名でpicディレクトリにアクセスができるハズです。
そこにスライドしたいjpgファイルをコピーしておいてください。
その際、解像度は640*480なので、そのサイズ内に予めリサイズしておきましょう。大きいと物理的に表示されないか、処理速度が間に合わずに表示されないことになります。
当環境では600×400pixelで表示可能でした。また、拡張子はjpg、jpegどちらも確認済みです。統一はしておいてくださいね。
fbset -fb /dev/fb0 mode "640x480" geometry 640 480 640 480 32 timings 0 0 0 0 0 0 0 rgba 8/16,8/8,8/0,8/24 endmode pi@zero-slideshow:~ $ fbset -fb /dev/fb1 mode "480x320" geometry 480 320 480 320 16 timings 0 0 0 0 0 0 0 nonstd 1 rgba 5/11,6/5,5/0,0/0 endmode
このようにフレームバッファは2つあり、上のモードを観てみると640×480の解像度と分かります。
fbiとimagemagickをインストールする
いよいよ、スライドショー用のアプリケーションをインストールします。fbiというのが良かったです。imagemagickもインストールしてください。
以下のコマンドでインストール
sudo apt-get -y install fbi
sudo apt-get -y install imagemagick
自動起動するように設定
自動実行させる
Raspbianが起動したら、fbiが自動的に起動するように設定します。
sudo nano /etc/profile
このファイルの最後にshファイル(スクリプト)のファイル名を記述します。この後にshファイルを作成します。以下の1行を/etc/profileの最後に追記します。
/home/pi/slideshow.sh
これでも可能なのですけど、現在はsystemdを推奨しているため、systemctlコマンドを使ってサービス化し、それを自動起動させるという方法が主流です。
ひとまずこれで動きますのでヨシとします・・・。
sh(スクリプト)ファイルの作成
ホームフォルダに自動実行させるスクリプトを作成します。
sudo nano /home/pi/slideshow.sh
下記を記述します。
#!/bin/bash sleep 15 #this is probably optonal fbi -noverbose -a -t 120 -u /home/pi/pic/*.jpg
アプリケーションの起動まで15秒待ってからfbiを起動する設定です。
fbi -noverbose -a -t 120 -u /home/pi/pic/*.jpg
太字の-t 120はスライドショーが切り替わる秒数です。120秒ならばあまり速く切り替わらないので、見るたびに写真が違ってちょうど良かったです。前回の記事では、10秒としていましたが、ジッとして観ていると速くて落ち着きませんでした。この辺はお好みで!
また、太字のpicはスライドショーさせたいフォルダ=先程sambaで共有したいフォルダ名ですね。
また、ランダムで表示したいので、-uオプションを付けます。-uを外せば名前順の順番になります。
- -t 120 ——何秒表示させるか
- -u ——ランダムに再生させる
実行権の付与
.shファイルが実行できるファイルにするため実行権を与えます。与えないとただのテキストです。
sudo chmod +x slideshow.sh
スクリプトファイルを実行可能にし忘れると何もアプリケーションが起動しませんから、コマンドプロンプトの画面のままです。忘れないようにしましょう。
ここまで一度もシステムを再起動しないままでOKです。
最後に3.5インチモニターのドライバーをインストールしてから、モニター自体を取り付けて起動します。
3.5インチモニターのドライバーをインストール
ターミナルから次のコマンドにてドライバのダウンロード
ダウンロードディレクトリを作成します。そして移動してからダウンロードしましょう。
mkdir download
cd download
ドライバーをダウンロードするのにgithubを使います。
zero系はgitがインストールされていないようです。
先にインストールします。
sudo apt-get install git
Githubからダウンロード
git clone https://github.com/Elecrow-keen/Elecrow-LCD35.git
Elecrow-LCD35ディレクトリへ移動
cd Elecrow-LCD35
ダウンロードしたドライバソフトを実行インストールします。
sudo ./Elecrow-LCD35
システムを再起動するか聞かれます。
ここではNOで!
Reboot to apply changes? (y/n): n
モニターを取り付けないと動作確認も出来ません。そのため、一旦は、nで再起動させません。
まぁ、間違えても電源を取ってからまた取り付ければ・・・。ラフですけど。
コマンドが入力できるようになったらシステム終了のコマンドで終了させます。
sudo shuttdown -h now
完成!
電源を入れ直したら、モニターに起動している文字が現れましたか?
その後、設定通りに15秒は待機状態になります。そして画像が表示されれば成功です!
お疲れ様でした。
上手く行かない??
もしもモニターが真っ白のままの人、ドライバーがインストールされていません。もう一度戻ってやり直してください。
または、物理的にきちんとモニターが繋がっていないことも有り得ます。GPIOのピンは40ピンですが、このモニターは40ピン使っていません。1番ピンの位置を再度確認してください。
エラーが出て画面に何も表示されない?!
こんなエラーに出くわしました。
using "Droid Sans Fallback-16", pixelsize=16.67 file=/usr/share/fonts/truetype/droid/DroidSansFallbackFull.ttf ioctl VT_GETSTATE: デバイスに対する不適切なioctlです (not a linux console?)
どうもユーザーが表示するグループに属していないということらしいです。
実際にディスプレイはloginで止まっています。

試しに次のコマンドを実行してください。
ls -l /dev/fb0
crw-rw---- 1 root video 29, 0 10月 20 17:01 /dev/fb0
このようにroot権限と分かります。
では、次にpiユーザーがどのグループに所属しているのか確認してください。
groups pi pi : pi adm dialout cdrom sudo audio video plugdev games users input netdev spi i2c gpio
※この例では既にvideoにも入っています。入っていないならば、追加しましょう。
videoグループにユーザー(pi)を追加しましょう。
sudo usermod -a -G video pi
最後のpiはユーザー名で、自分変更した場合はそのユーザー名です。今回の記事では変更していないのでデフォルトのpiのままです。
エラーで止まっても、キーボードを繋いでいれば、CTTRL + ALT + F1(F2 or F3)を同時押しでエスケープできます。・・・でも毎回そういうわけにはいきませんね。
これで問題なく動作するハズです。