Raspberry Pi を購入したら誰でも簡単に思いつく写真立てはいかがですか? 制作費用も格安で、工作も簡単です。しかも見栄えも良くて実用的です。Wi-Fiを利用すれば写真の追加や削除も手持ちのMacやPCといったクライアントから簡単に行えます。
今回、いかに簡単に作れるのか試してみました。
モバイルバッテリーでも動作しますし、仮に電源を据え置きで付けっぱなしでも僅かな電気代で済みます。
先日、発売されたRaspberry Pi Zero WH というはんだ付け済みのZeroを使っています。もちろんPi2、3bでも構いません。
今回の環境と使用したパーツ類
今回のOS環境と写真立てに使用したパーツ類は以下です。
- Raspbian Stretch Lite(2017-11-29-raspbian-stretch-lite)
- fbi
- Samba
- Raspberry Pi Zero W/WH
- SDカード(今回は16GB)
- 3.5インチLCD ディスプレイ
- ELECROW 3.5インチTFT LCD
- 100円の木製写真立て
- 枠用に黒のビニールテープ
- 基板固定用にガムテープ
大まかな手順
100円均一で手に入れた写真立てがそれなりの堅さの合板の木製でしたので、加工もしやすいうえにサイズ感もちょうど良かったです。これの後ろにRaspberry Pi を配置するとなると軽いZero系が望ましいと思いました。
3.5インチのディスプレイを写真立ての後ろから貼り付けます。特にケースには入れません。タッチパネル式ですけど、今回はタッチ出来ないようにしました。薄いアクリルが写真立てに付いていましたのでそのまま使用します。
システムはデスクトップ環境のないRaspbian Stretch Liteです。写真をフレームバッファで表示するためGUIは必要ありません。
fbiというアプリケーションを使います。fbiはRaspberry Pi SlideshowとしてGitHubにありました。
これと以前にご紹介した「Raspberry Pi 3Bに格安3.5インチLCDをセットアップ [ Elecrow 3.5inch TFT LCD ]」を組み合わせれば完成です。
Wi-Fi経由で写真を入れ替えるためにsambaを利用し、Raspberry Pi の初期設定であるraspi-configにてAoutoLoginを設定し、fbiのアプリケーションを自動起動するためのスクリプトファイルを用意します。これらはfbiーRaspberry Pi SlideshowのGitHubページを参考にしています。
せっかくWi-Fiを利用しているので、インターネット上、または家庭内LANのファイルサーバから写真を読み込むのもアリですけど、外へ(Wi-Fiのない場所)持ち出すことも考えてSDカード内に保存することにしました。
なお、写真のサイズは4000ピクセルとかでは大きすぎて表示できませんでした。Zeroということもありますが、たぶんメモリの問題です。640×480pixel以下であれば表示も快適です。
この3.5インチモニターは解像度480×320です。480pixelに合わせるとより快適ですね。使用する画像は先にリサイズしておいてください。
写真立ての準備


このように裏の合板をLCDの大きさに切り抜きました。
ここにテープでLCDを貼り付けます。
テキトー感満載ですみませんw

前面もテープでマスクしました。これなら締まりますね。
黒のビニールテープです。

Raspberry Pi Zero WHはケースに入れました。別に入れなくても構いませんね。手元にあったので・・・。
ちなみにケースはPibowという物です。

このRaspberry Pi Zero WHをLCDに取り付けるとこうなります。
特に固定しなくてもコネクタでそれなりに自立して付きます。

表側はこんなです。

それなりの見栄えだと思いませんか?・・・と、自画自賛w
では、アプリケーションやシステムの設定をしていきます。
初期設定
はじめにSDカードへOSの書き込み、Wi-Fiの設定を済ませてください。
OSは、2017-11-29-raspbian-stretch-lite.imgを使用し、Wi-Fiはwpa_supplicant.confを用意し、SSHを有効にしています。
ここからの操作はSSH経由で別のマシンから行っても構いませんし、キーボードとモニターを繋いでローカルとして直接でも構いません。

sambaでファイル共有する
sambaのインストール
Wi-Fiで写真ファイルのやり取りをするためにsambaサーバをインストールします。
インストールする前に
sudo apt update
sambaのインストールにオプション-yを付けて途中のYの入力を省略しています。問い合わせがあった場合はすべて「y」と答えるためです。
sudo apt 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
fbiとimagemagickをインストールする
以下のコマンドでインストール
sudo apt -y install fbi
sudo apt -y install imagemagick
自動起動するように設定
自動実行させる
Raspbianが起動したら、fbiが自動的に起動するように設定します。
sudo nano /etc/profile
このファイルの最後にshファイル(スクリプト)のファイル名を記述します。この後にshファイルを作成します。
/home/pi/slideshow.sh
.sh(スクリプト)ファイルの作成
ホームフォルダに自動実行させるスクリプトを作成します。
sudo nano /home/pi/slideshow.sh
下記を記述します。
#!/bin/bash
sleep 15 #this is probably optonal
fbi -noverbose -a -t 10 /home/pi/pic/*.jpg
アプリケーションの起動まで15秒待ってからfbiを起動する設定です。
fbi -noverbose -a -t 10 /home/pi/pic/*.jpg
赤字の-t 10はスライドショーが切り替わる秒数です。8秒10秒くらいがちょうど良かったです。
また、赤字で表したpicはスライドショーさせたいフォルダ=先程sambaで共有したいフォルダ名ですね。
また、ランダムで表示したい場合は、-uオプションを付けます。
fbi -noverbose -a -t 10 -u /home/pi/pic/*.jpg
実際に運用してみると、秒数は長い方が良いでしょう。ずっと見続けるものではありませんから、気が付いたら写真が変更している方が1日中楽しめます。60秒だと1時間で60枚です。用意する画像によって秒数を変えれば、1日を通してそれなりの枚数が見られます。実感としては60枚であれば3日〜5日程度でおよそ全てを閲覧したような感じになりますね!(見るタイミングによる)
実行権の付与
.shファイルが実行できるファイルにするため実行権を与えます。与えないとただのテキストです。
sudo chmod +x slideshow.sh
これでひとまず完成です。一旦再起動して自動的に画像ファイルが表示されるか確認してください。もちろん先程のpicフォルダに写真をコピーしてからです。sambaで共有しているフォルダはMacで言うファインダーで接続できます。
大きなディスプレイではなく3.5インチLCDへ表示する
写真立てにするためには冒頭に用意したLCDをZeroのGPIOへ接続してドライバをインストールすればOKです。
設定の仕方は以前の記事をご覧いただき設定してください。

完成!
最後に再起動して完成です。
sudo shutdown -r now


いかがでしょう。意外と簡単でした。
動画を再生したらどうかとも思いましたが、簡単なアプリケーションツールがあったので、写真立てとしてずっと静かに写真を表示し続けるのも、省電力+格安で構築できるRaspberry Pi ならではだと思いました。

この記事のコメント(承認後に公開)