【コラボ企画】Raspberry Pi 愛に溢れるラズパイダのご訪問者に向けて新型Raspberry Pi 4Bのセット品をプレゼント!——クリックして特集記事へ

「Raspberry Pi Zero Wと3.5インチモニターで作るスライドショー写真立て」の手順を簡潔に再度まとめてみました!

スポンサーリンク
起動している写真立て 作ってみた!
この記事は約12分で読めます。

以前の記事では色々と載せたため分かりづらい部分も多く、再度まとめ直してみました。

あまり理解できなくても、この手順通りに出来上がるようにしました! 実際にもう一回自ら構築し直しましたから(たぶん)大丈夫です。

順番通りにコピペでイケます!! 上から順に試してください。

スポンサーリンク
Raspberry Pi 4Bスターターセット
スポンサーリンク
Raspberry Pi 4Bスターターセット

用意したモノ

microSDカードにRaspbianを用意

microSDカードをフォーマット

SDカードフォマッター

SDカードフォーマッターでフォーマットします。

分からない人はこちらをご覧ください。

イメージから書き込み

事前に用意したRASPBIAN STRETCH LITE(2018-04-18)のイメージをEtcherで書き込みます。

分からない人はこちらをご覧ください。

事前準備(Wi-Fiの設定とSSHの有効化)

初回起動からWi-Fiに接続させて、SSHを有効化して外部から操作できるようにmicroSDカードに2つのファイルをコピーします。

このブログでは何度もご説明している事前準備です。

分からない人はこちらをご覧ください。

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カードの相性問題もあります。推奨はTOSHIBA製などです。→Team製が超絶にオススメです!

全体の設定(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 “640×480”
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 “480×320”
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で止まっています。

ログイン画面CUI

試しに次のコマンドを実行してください。

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)を同時押しでエスケープできます。・・・でも毎回そういうわけにはいきませんね。

上手く行かない人はコメントお待ちしています。

コメント