Raspberry Pi で Chromium を起動してリモート操作
Chromium (Chrome の OSS版) を Raspberry Pi で Kiosk モード (全画面単一アプリケーションモード) で起動して、UI を作れると便利そうなのでやってみた。たとえば動画のように、3.2inch LCD 上のUIを Web 技術で完結させることができる。
Chromium を kiosk で自動起動する
raspi-config で起動モードを Desktop (autologin) に設定する。
sudo raspi-config
マウスカーソルを自動で消すやつをいれる。
$ sudo apt-get install unclutter
不正終了で残るファイルを reboot 時に消しておく。
$ crontab -e @reboot rm -rf ~/.config/chromium/Singleton*
Raspberry Pi は Desktop の場合 LXDE が使われる。これの起動時に必要なものを自動起動するように設定する。
chromium-browser の引数は重要。とりあえずこのあたりを指定しておくと良い。
$ vi ~/.config/lxsession/LXDE-pi/autostart #@lxpanel --profile LXDE-pi #@pcmanfm --desktop --profile LXDE-pi #@xscreensaver -no-splash #@point-rpi @xset s off @xset -dpms @xset s noblank @unclutter @chromium-browser --remote-debugging-port=9222 --no-default-browser-check --noerrdialogs --kiosk --incognito https://example.com
Chrome を remote-debugging
-
- remote-debugging-port をつけているので remote debugging が有効なのだが、おそらくループバックインターフェイスしか受け付けてないのでLAN内の他のコンピュータからは直接アクセスできなかった。このため他のコンピュータから Raspberry Pi へログインするときにポートフォワードする。
ssh -L 9223:127.0.0.1:9222 pi@192.168.0.23
これで、ログインしたコンピュータで http://localhost:9223/ するとデバッグコンソールを出せる (タブ一覧が出るので選択すれば良い)。JS が実行できるので、raspi 上で操作しなくとも特定 URL に移動したり、リロードしたりできる。もちろんエレメントインスペクタも使うことができる。
関連エントリー
- Raspberry Pi 3 で、シリアル経由でシェルを使うには 基本 Raspberry Pi 3 からはデフォルトで UART にシェル割当されなくなったので設定する必要がある。 sudo raspi-...
- 一度セットアップした Raspberry Pi を使いまわす Raspbian を書きこんで適当にセットアップする NOOBS は使わないこと。 SDカードのコピー dd で普通にもってくる。 $ di...
- codesign した Electron アプリがフリーズするのを修正 リファレンスマニュアル閲覧用の Chemr だけど、ベースの Electron を1.2.1にバージョンアップした。 しかし codesig...
- 最近の Raspberry Pi はデフォルトで ssh が無効 Raspbian 2016-11-25 のリリースから ssh がデフォルトで無効になっていて port 22: Connection re...
- Raspberry Pi で別のマシンと有線LANを直結して通信 スイッチを介さず直接イーサネットケーブルを接続して相互通信を行いたいというケースがあった。あんまりやらないので不安に思ったけど簡単にできた。...