これは、以下の記事を参考に書いています。
https://www.1ft-seabass.jp/memo/2021/10/25/seeed-studio-reterminal-node-red-install/
https://www.1ft-seabass.jp/memo/2021/12/27/summary-soracom-device-meetup-vol6-reterminal-talk/
Node-REDを実行させ、KIOSKモードでダッシュボードを表示したいですよね。
初回では、Dashboardのボタンが使えなかったり、日本語がNGだったので、他の方法を探ります。
試した環境
ReTerminal(CM4104032)
RaspberryPi CM4ボード(eMMC32GBが載っているのでSDカードの心配が要らない)
メモリ4GB
eMMC32GB
Touch Display 5Inch
リアルタイムクロック:NXP PCF8563T
加速度センサ:STMicroelectronics LIS3DHTR
Encryption:Microchip ATECC608A
光センサ(Levelek LTR-303ALS-01)、デジタル光センサ
インターナル IO 拡張機能:Microchip MCP23008-E
ブザー:≧85dB @10cm 2700±300Hz
PC(Windows 10)
- TertermなどのSSHターミナル
- Web ブラウザー
USB-C ケーブル(PCとreTerminalを接続するもの)
USB-Cの電源 (reTerminal用電源。Type-Cで3A以上の電流が使えるもの)
(分解用)
- ヘラ
- ドライバー(reTerminalに付属のもの)
Raspbianのインストール(ドライバー込み)
https://wiki.seeedstudio.com/reTerminal/#flash-raspberry-pi-os-with-drivers-from-seeed-to-emmc
からイメージをダウンロードします。この記事では”2024-03-14-Raspbian-reTerminal-arm64”を使います。
ダウンロードが終わったら展開します。
rpiboot_tool を https://github.com/raspberrypi/usbboot/raw/master/win32/rpiboot_setup.exe からダウンロードし、インストールします。
Imager(Windows版)を https://www.raspberrypi.com/software/ からダウンロードし、インストールします。
reTerminalの裏ブタを開けて、bootモードスイッチを下にします。
ヒートシンク下の部分が空けにくいのでヘラが必要です(赤線の部分)。ネジをなくさないよう。
(チップが暖かくなりますが、たぶん、ヒートシンクは外したままで大丈夫です)
USBケーブルでPCと接続します。(reTerminalはType-Cのコネクタ)
※途中でFormatするかどうかのダイアログが表示されたらキャンセルします。
rpibootを起動します。PCは、reTerminalをドライブとして認識します。
Imagerを起動します。
Ctrl+Shift+X キーを押し設定を行います。
WiFiやID,Password等は間違えないように設定してください。
(WiFiを使う国やロケールのJPはキーで入力した方が楽でした)
ユーザー名はpiを想定して記事を書いています。
SSHで接続するので必ず有効化してください。
保存を押し、元の画面に戻ります。
デバイスはRaspberryPi4(ComputerModule4)を選択します。
OSは"Use Custom"を選択します。展開したimgファイルを選択してください。
インストールが終わったらBootモードスイッチを元(上側)に戻します。
ヒートシンクを取付けてます。
reTerminalを電源に接続し、起動します。
起動迄少し待ちます。(SYSランプの点滅が終わるぐらいまで、初回は数分かかります。)
PCからSSHでつなぎます。接続先は、Imagerで定義したアドレスです。ここではraspberrypi.localになります。
id,パスワードを入力します。
(システムを更新します。)
$ sudo apt update
(モニタの向きを変更します。これは多分バグ ~/.configがpiユーザーが見れなく、変更できなくなっていると思われるので修正。これだけで治ると思いますが、更に治らなければタッチパネルでラズベーリマーク --> preference --> screen settingで修正)
$ sudo chmod -R 777 ~/.config/
(タッチパネルの向きを変更)
$ sudo vi /boot/firmware/config.txt
tp_rotate=0に変更
再起動
$ sudo reboot
Node-REDのインストール
SSHでつないだPCから
$ bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)
(インストール前の質問は両方ともyで答えます。インストール後の質問はid,pass以外は既定値です。)
$ cd ~/.node-red
(reTerminal用のライブラリのインストール)
$ npm i node-red-contrib-reterminal
(node-red dashboardのインストール)
$ npm i node-red-dashboard
(自動起動の設定)
$ sudo systemctl enable nodered.service
(再起動)
$ sudo reboot
PCのブラウザでhttp://raspberrypi.local:1880/ でつなぎます。
サンプル1の実行
キーを押すとLEDが光るフローです。
switchノードでmsg.payload.statusがpressedの時とreleasedの時で分岐します。
pressedの時は、msg.payloadを1にします。
releasedの時は0にします。
デプロイして確認してみましょう。緑色のボタンを押すとLEDが光ります。
DASHBOARDのサンプル
フローにGaugeを追加して、最小、最大を0,1に設定します。
グループやタブなどのダッシュボードの設定は適当に設定してください。
デプロイすると、UIのページに表示されます。
KIOSKモードでの起動
再度SSHでつないでPCから設定します。
(起動時にKISOKモードでのchromium-browserの起動)
$ sudo vi /etc/rc.local
exit 0 の前に以下の1行を加えます。
sudo -u pi DISPLAY=":0.0" /usr/bin/chromium-browser --noerrdialogs --disable-infobars --disable-background-mod --kiosk --app=http://localhost:1880/ui &
(再起動)
$ sudo reboot
これで設定は終わりです。
止める場合
$ pkill -o chromium