通常、Ambientに送ったデータを見るには、PCやスマートフォンのブラウザでAmbientのログイン画面にアクセスし、メールアドレスとパスワードを入力してログインし、ボードを選択して、ボードに表示されているデータを見ます。しかし、このようなログイン操作をせず、専用のモニタでAmbientのデータを表示したい場合もあります。
Ambientには通常のログインとは別に、ログインページのURLパラメータにメールアドレス、パスワード、ボードIDを指定すると、ブラウザからの操作なしにログインして指定したボードを表示する機能があります。
パラメータは次の形式で指定します。
https://ambidata.io/usr/login.html?email=メールアドレス&password=パスワード&boardId=ボードID
この機能を利用して、ラズベリーパイにモニタを接続し、Ambientのボードを表示するキオスク端末を作ってみました。ラズベリーパイのキオスク端末化は次の記事を参考にしました。
Raspberry Pi OSで、Chromium を kiosk mode 実行する
ラズベリーパイとモニタ
使ったラズベリーパイは Raspberry Pi 3 Model B Rev 1.2、OSはRaspberry Pi OS 5.10です。
$ uname -a
Linux r1 5.10.59-v7+ #1447 SMP Thu Aug 19 12:24:58 BST 2021 armv7l GNU/Linux
モニタは何でもよいと思いますが、実験に使ったのは次のものです。
EVICIV 7インチ Raspberry Pi用タッチモニター
モニタとラズベリパイは次のように接続します。
モニタ | |
HDMI | ラズベリーパイHDMI |
5V+Touch | ラズベリーパイUSBポート |
5V | ACアダプタ |
このモニタにはタッチスクリーン機能があります。今回は使わないので「5V+Touch」の線をつながず、HDMIだけをラズベリーパイにつないで電源を入れたら、「何かをインストールするには…」とモニターが喋り始めました。USBケーブルで「5V+Touch」とラズベリーパイをつないだら喋らなくなったので、タッチスクリーン機能は使わない場合も、つなぐ必要はあるようです。
ラズベリーパイの設定
必要なパッケージをインストールします。
$ sudo apt-get install --no-install-recommends xserver-xorg-video-all \
xserver-xorg-input-all xserver-xorg-core xinit x11-xserver-utils \
chromium-browser
自動ログインの設定をします。
$ sudo raspi-config
System Options > Boot / Auto Login > Console Autologin
ログイン時にstartxを起動する設定をします。/home/pi/.bash_profileの最後に以下を追加します。
if [ -z $DISPLAY ] && [ $(tty) = /dev/tty1 ]
then
startx -- -nocursor
fi
startxの設定をします。/home/pi/.xinitrcを次のようにします。
#!/usr/bin/env sh
xset -dpms
xset s off
xset s noblank
chromium-browser "https://ambidata.io/usr/login.html?email=メールアドレス&password=パスワード&boardId=ボードID" \
--window-size=1360,768 \
--window-position=0,0 \
--start-fullscreen \
--kiosk \
--incognito \
--noerrdialogs \
--disable-translate \
--no-first-run \
--fast \
--fast-start \
--disable-infobars \
--disable-features=TranslateUI \
--disk-cache-dir=/dev/null \
--overscroll-history-navigation=0 \
--disable-pinch
メールアドレスとパスワードはAmbientに登録したものです。ボードIDはAmbientデータを見たときに、ブラウザのアドレスバーに表示されている数字の部分です。
https://ambidata.io/bd/board.html?id=数字
これでラズベリーパイをリブートすると、しばらくしてモニタにAmbientのボードが表示されます。
パスワードを平文で書くのがちょっと気持ち悪いですが、ボードを公開モードにしなくてもモニタ端末にAmbientデータを表示できるので便利です。