RaspberryPiをデジタルサイネージサーバーにする
デジタルサイネージと言うのは要するに大きめのモニターやプロジェクター等の表示装置を使用した電子看板システムとでも言うモノでしょうかね
これを個人用途で作ろうって言うのがまあこの電子工作的な界隈の面白い所とでも言うんでしょうかね
今回準備したのはたまたま余剰していたRaspberry Pi 4の8Gタイプ
元々はゲーミングPC的なケースに組み入れて遊んでみたいと言う所から組んでみたのだけど、その後の用途が思い付かずアジトでホコリを被ってたと言う代物、なのでほぼ新品
まあそもそも私がRaspberry Piを使い始めたのが4からなので3以下のラインナップを所持していないというだけのお話なのですが
さておき
では実際に設定した項目を下記に列挙する
1:RaspiOSの準備
普通に64bitDesktop版でOK、当方の環境ではM.2のSATASSDが起動ドライブになっているが、後述のスライドショーを考慮して容量が少し大きめであればUSBのSSDだろうがSDカードだろうが何でも良いと思われ
2:MagicMirror2のセットアップ
コマンドから「bash -c "$(curl -sL https://raw.githubusercontent.com/sdetweil/MagicMirror_scripts/master/raspberry.sh)"」を実行
※途中の設定で「Do you want to disable the screen saver(y/N)?」(スクリーンセーバーを無効にするか?)と聞かれるので「Y」
※同じく「Do you want use pm2 (node process manager) for auto starting of your magicMirror (y/N)?」(MagicMirror2を自動起動する?)と聞かれるので「Y」
※同じく「Do you want to update the PM2 process name? (Default is MagicMirror) (y/N)」(プロセス名を変更する?)と聞かれるが変更する理由が特に無ければそのままで
3:スライドショーモジュールのセットアップ
コマンドから以下4行
cd ~/MagicMirror/modules
git clone https://github.com/darickc/MMM-BackgroundSlideshow.git
cd ~/MagicMirror/modules/MMM-BackgroundSlideshow
npm install
4:環境設定ファイル「/home/pi/MagicMirror/config/config.js」を変更する
そのままの環境設定だと作成者の環境であるアメリカ辺りの表示がされるので、日本にローカライズし直す
編集する箇所は以下の通り
12行目:「address: "localhost"」を「address: "0.0.0.0"」に
20行目:「ipWhitelist: ["127.0.0.1", "::ffff:127.0.0.1", "::1"]」を「ipWhitelist: []」に
30行目:「language: "en"」を「language: "ja"」に
31行目:「locale: "en-US"」を「locale: "ja-JP.UTF-8"」に
54行目:「header: "US Holidays"」を「header: "JP Holidays"」に
61行目:「url:(省略)」を「url: "https://calendar.webcal.jp/JapanHolidays.ics"」に
67〜70行目:「一言」?(何か「有り難い言葉」らしいけど)を削除(英語で出されてもイラネってやつ)
72・73・83・84行目:「lat」(緯度)「lon」(経度)を表示したい座標に(GoogleMapで地点を右クリックすれば表示される)
92行目以降のRSSフィードを表示させたいモノに
RSSフィードの欄が終わった後に以下(スライドショー設定)を追加
{
module: 'MMM-BackgroundSlideshow',
position: 'fullscreen_below',
config: {
imagePaths: ['modules/MMM-BackgroundSlideshow/exampleImages/'],
transitionImages: true,
transitions: ['opacity'],
slideshowSpeed: 10000,
randomizeImageOrder: true
},
5:スライドショー用画像を転送
転送先は「/home/pi/MagicMirror/modules/MMM-BackgroundSlideshow/exampleImages/」フォルダの中になる
必要なら元のフォルダをバックアップまたはリネームして、当該フォルダに好きな画像を転送する
※これのためにある程度システムドライブにするメディアの容量が必要と言う事
転送するモノは個人で撮影した写真でも、萌え絵でも何でも(使用は個人の範囲で)
6:上記の編集が終わったらMagicMirror2を再起動
コマンドから「pm2 restart all」
7:表示させるブラウザを開いて、URLに「(該当RaspberryPiのIP):8080」と入力
すると先程設定した状態でのサイネージ・スライドショーが始まる
勿論該当RaspberryPiにモニターを接続しても表示されるのだが、今回はあくまで「サイネージサーバー」の作成って事にこだわったのでブラウザで表示させる設定を入れ込んである
これで、余ったタブレットなりブラウザなり何なりで表示させる事が可能となる
※参考にさせて頂いたサイト
「余った液晶を情報端末にする:OKUTSU」(https://henjinkutsu.com/text/pc/magicmirror2/)
上記サイトでは無線LANでの接続を想定されているが、私有線派なのでその辺の設定は全くブッチしてる、無線LANで設定したい方は上記サイトを参考に
MagicMirror2のアップデート(追記)
MagicMirror2はどうやら通常のアップデート(いつもの「sudo apt update」「sudo apt upgrade」)ではアップデートされない模様
※最近サイネージ上にアップデートされたよみたいなメッセージが英語で表示されていた
調べて見るとpm2コマンドに該当するコマンドが存在して居た
pm2 updatePm2
これでアップデートされた後、自動的にモジュールが再起動してくる
…が、我が家の環境では正常に表示されてこなかったのでこれをやった後ラズパイを再起動すると良い