Rebounder Tech Blog

運用している当事者が書く、本番システムの記録。

サイネージ端末は Google TV か Raspberry Pi か

公開 読了時間 約3分執筆: Rebounder 開発チーム(当該システムの運用当事者)

※本記事にはアフィリエイトリンクを含む場合があります。内容は広告の有無に影響されません。

結論

サイネージ端末は、同じ表示を何台も並べるなら Google TV、1台を作り込むなら Raspberry Pi が向いており、両者は設計思想が正反対である。

難所は表示ではない

全画面表示するだけなら簡単です。難しいのは「人が触らない前提で、何ヶ月も勝手に動き続ける」ことのほうです。

勝手に別画面へ抜けず、夜に消えても朝は戻り、停電後は自動復帰する。この専用機化をどう作るかで、Android と Raspberry Pi は性格がまるで違います。

Google TV(Android)の場合

Android には Device Owner(端末所有者) という強い権限があり、1つのアプリに画面を固定(キオスク化)できます。夜は画面だけ消して本体は起こしたままにもできます。

長所 — テレビ型なら画面・電源・音が一体で、置くだけで完結します。端末も安く、台数を並べるのに向きます。

短所機種依存が激しい。「アカウントが1つでもあると所有者になれず factory reset からやり直し」「本体のオフタイマーがコマンドで消せず夜に落ちる」など、機種ごとの沼にはまります。

Raspberry Pi(Linux)の場合

こちらは普通の Linux PC に、自動ログイン → 自動起動 → ブラウザをキオスクモードで全画面、というレールを敷きます。

長所完全に自分の制御下に置けます。表示以外の常駐処理・自動化・細かい設定まで仕込めますし、組織ネットワークのプロキシ設定のような癖にも手で対応できます。

短所 — 初期構築が面倒です。自動ログインやブラウザのプロファイル生成が一発で決まらないことがあり、「起動したのにサイネージが出ない」を何度か踏みました。Wi-Fi も不安定で、有線 LAN 推奨に落ち着いています。

どちらを選ぶか

両方で組んだ結果、住み分けはこうなりました。

条件 選ぶもの
安く、台数を置くだけ Google TV(手離れ重視)
1台を作り込む/Linux の自由が要る/表示以外もやらせる Raspberry Pi

迷ったら「同じ表示を何台も=Google TV/1台で色々=Raspberry Pi」で外しません。

24時間運用の共通の敵はストレージ

これは両者共通ですが、特に Raspberry Pi で効きます。

つけっぱなしだと通常の microSD は書き込みで寿命が来やすいです。監視カメラ用などの高耐久 microSD を最初から選ぶだけで、「数ヶ月後に突然死して真っ黒」の事故がぐっと減ります。地味ですが、いちばん効く投資でした。

実際に詰まった点

Android 側 — Device Owner 昇格の前提(アカウントが無いこと)を知らずに何度も factory reset。機種のファームウェアが持つオフタイマーはコマンドで消えず、本体メニューから手で切るしかありませんでした。

Raspberry Pi 側 — ブラウザのプロファイル生成が失敗してキオスクが起動しない、という状態からの復旧手順を用意する羽目になりました。Wi-Fi の不安定さで有線に切り替え。microSD は高耐久にすべきでした。

選択の性質

並べてみると、Android は機種という他人の決定に振り回され、Raspberry Pi は自分の構築ミスに振り回されるという違いでした。

前者は台数が増えるほど検証コストが乗り、後者は1台目の構築コストが重い代わりに2台目以降は複製できます。どちらが軽いかは台数で決まります。

よくある質問

Q1迷ったときの判断軸を一つ挙げるとしたら?

同じ表示を何台も並べるなら Google TV、1台で表示以外のこともやらせるなら Raspberry Pi です。台数と作り込みの深さ、この2軸で選べば大きく外しません。

Q224時間運用で最初に手当てすべきものは何ですか?

ストレージです。つけっぱなしだと通常の microSD は書き込みで寿命が来やすく、数ヶ月後に突然死して画面が真っ黒になります。監視カメラ用などの高耐久 microSD を最初から選ぶだけで事故が大きく減ります。

Q3Raspberry Pi 側の通信は Wi-Fi で足りますか?

実運用では不安定さが出たため、有線 LAN に切り替えました。常時表示の端末では、通信が切れたことに誰も気づかない時間が長くなるため、確実性を優先しています。