これは RaspberryPI Advent Calendar 2024 の23日目の記事です。
Raspberry Piで社内向けサイネージを作っています。当初は専用OS(Anthias)で作っていましたが、映像出力でのトラブルが多く困ったため、シンプルな構成のChromium『キオスクモード』による構成としました。
概要
Chromium『キオスクモード』で、起動時にAPIをコールして設定や任意のURLのリストを取得しています。
- 来訪されたお客さんなどに見せるときがたまにあるのですが、画面数が多い場合に「あの画面を見せたい!」という要望が上がってきます
- そのため画面を切り替えるためのデバイスなどを開発するのですが、支社などのサイネージに対してSSH経由でも『画面送り/戻し』をしたいケースがあります
そこで今回は、SSH経由でサイネージの各画面を制御(画面送り / 画面戻し / リロード等)を行えるようにします。
やること
ydotool
をインストールしましょう。Wayland
& Labwc
の環境でもバッチリ動きます。
ydotool
とydotoold
を導入したら、.bashrc
に下記のように記載します。
-
63:1 63:0
は、F5キーを押して離す動作を再現 -
29:1 15:1 15:0 29:0
は、Chromiumのタブ移動(次のタブ)を再現 -
42:1 29:1 15:1 15:0 29:0 42:0
は、Chromiumのタブ移動(前のタブ)を再現
.bashrc
alias sinage_reload='/usr/local/bin/ydotool key 63:1 63:0'
alias sinage_next='/usr/local/bin/ydotool key 29:1 15:1 15:0 29:0'
alias sinage_prev='/usr/local/bin/ydotool key 42:1 29:1 15:1 15:0 29:0 42:0'
独自のキーを設定したい
Linux kernelのinput-event-codes.h
を参照して、オレオレのキー入力を見つけましょう!
-
直接ファイルを参照したい場合
/usr/include/linux/input-event-codes.h
を参照 -
オンラインで確認したい場合
Linux kernelのヘッダーファイルを参照しよう。
おまけ
こんな感じのサイネージを表示しています。