ラズベリーパイとデジタルサイネージのおいしい関係

リノバスの長谷川です。ブログデビューとなります。

私は、IT関連の会社を定年退職し、リノバスで働かせて頂いています。
いままで、LinuxやWEB関連とは異なった環境で仕事をしていましたので、なにかノウハウ的な記事は知識不足のため、まだ書けません。
そこで、ブログを書くにあたり「定年退職者の奮闘と備忘録」というスタンスで書くことにしました。

入社時の初期のテーマは、社内プロジェクトとして「Raspberrypi*1を使用したデジタルサイネージ*2の製作」でした。
本ブログでは、そのプロジェクトの内容をまとめました。

*1 Raspberrypiとは
Raspberrypi(ラズベリーパイ)は、イギリスのラズベリーパイ財団によって学校でのコンピューター教育を目的として開発されたシングルボードコンピュータです。オペレーティングシステムは、SDカードから起動でき、GPIO(”General-purpose input/output:汎用入出力)を搭載しているのが特徴です。また、安価に購入できるのも特徴です。

*2 デジタルサイネージとは
紙に代わる新しい情報伝達媒体として。画像や動画などのデジタルコンテンツとディスプレイを組み合わせて、お客様向けの広告や宣伝、告知などに利用されます。

「Raspberrypiを使用したデジタルサイネージの製作」について

事前調査

まず、事前調査としてRaspberrypi上で動作するブラウザ(chromium, epiphany, firefox等)を使用し、コンテンツの表示を試みましたが、表示がおそく思うような結果を得ることはできませんでした。また、プログラム(OpenCV、java,python等)からもコンテンツの表示を試みましたが、ブラウザ同様、表示がおそく利用できませんでした。
最終的に、HDMIにダイレクトに出力する動画表示アプリのOmxplayer及び静止画表示アプリのfbiを使用することで、スムーズな表示ができることがわかり、これらを使用して製作することににしました。

製作要件

Raspberrypiを使用したデジタルサイネージの製作要件は、

  1. 利用者は、クラウド上にコンテンツファイルをアップロードする操作のみで、Raspberrypiデジタルサイネージシステムが自動的にコンテンツファイルをダウンロードしコンテンツを表示する。
  2. 表示するコンテンツ[動画(MP4)・静止画(JPG,PNG)]の解像度は、1920×1080に対応する。

システム全体概要

Raspberrypiを使用したデジタルサイネージの全体概要を下記に示します。

利用者は、自分のアカウントでクラウド環境にアクセスし、コンテンツファイル*3及びコンテンツを表示するための定義ファイル*4をアップロードします。クラウド管理者は、事前に、クラウド上に利用者毎の権限と領域を準備し、利用者にアカウントを通知しておきます。

*3 コンテンツファイルとは
表示する動画及び静止画ファイルのこと

*4 コンテンツを表示するための定義ファイルとは
コンテンツを表示する順番、表示開始・終了時間、表示間隔等を定義したファイルのこと

RaspberryPi サイネージシステムは、一定間隔毎にクラウドにアクセスし、クラウド上のファイルの更新状況を判断し、更新されたファイルをダウンロードします。
ダウンロードしたコンテンツファイルは、次の表示サイクル*5から表示されます。
コンテンツ定義ファイルの場合は、現在の表示サイクル終了後、スケジュールを初期化し、新しいスケジュールで表示されます。

*5 表示サイクルとは
表示スケジュールに従ってコンテンツを表示する単位をさす。
RaspberryPi サイネージシステムは、表示サイクルを繰り返します。

Raspberrypiデジタルサイネージシステム

Raspberrypiデジタルサイネージシステムは、RaspberryPi本体のmicroSDカードにインストールして起動します。

RaspberryPiサイネージシステムは、2つのプロセスから構成されています。

システム監視プロセス

定期監視

クラウドに一定間隔でアクセスし、クラウド上のファイルを取り込みます。

表示プロセス監視

表示プロセスを監視し、異常があれば、表示プロセスを再起動します。

表示プロセス

初期処理

モニタの接続・解像度等の設定を行います。

スケジュール管理

定義ファイルに従いコンテンツを表示するためのスケジュールを作成します。
新しい定義ファイルが読み込んだ場合は、スケジュールを再作成します。

コンテンツ表示

スケジュールに従って動画及び静止画を表示します。

繰り返し

②~③を繰り返します。

まとめ

システムを連続運転していると

  1. 右下に四角い色タイルが表示されたり、2~3時間で停止したりすることがありましたが、電源ユニットを交換することで回避でき8時間の連続試験までは、確認しています。
  2. 「連続運転中、稀に緑色に変色する」問題があり、現在まだ解決できていません。

ラズパイは、microSDにいろいろなOSやアプリを入れておき、それを交換するだけで、別の環境に変身できます。また、GPIOを使用して各種センサーとやり取りもできます。
小型で安価ながらアイデア次第でいろいろな可能性がある機器だと思います。

Raspberrypiは、おもしろい!