RaspberryPi
kiosk

Raspberry Pi3でキオスク端末(自動ログイン+ブラウザ起動)を作る。

More than 1 year has passed since last update.

はじめに

 余っているモニターと、持て余しているRaspberry Piを使って情報端末:キオスク端末を作ろうと思ったので、その作業メモ。

今回使用したもの

  • Raspberry Pi 3 model B
  • micro SDカード 8GB
  • USBキーボード & USBマウス
  • RASPBIAN STRETCH WITH DESKTOP

作業

Raspberry Pi のセットアップ

  1. RaspberryPi用イメージをダウンロード。
    • 30分くらいかかるので事前にダウンロードしておくほうが良い。
  2. ダウンロードしたイメージをmicro SDカードに書き込む。
    • WindowsならWin32 disk Imagerなどを使うと便利。
    • 10MB/sで書き込む場合、10分くらいかかります。
  3. Raspberr Piの電源を入れる
  4. Terminalを開いて、インストール済みパッケージのアップデートをおこなう。
    • sudo apt-get update
    • sudo apt-get upgrade

ブラウザの自動起動

  1. Performancesメニューの中にある、Raspberry Pi Configurationで自動ログイン設定する

    • Systemの変更&確認する場所は下記
      • Hostname を変更する
      • Boot が "To Desktop"である
      • Auto Login のチェックボックス「As current user」がONになっている image.png
  2. 起動時に~/.config/chromium/Singleton*を削除するようにcrontabに追記

    • @reboot rm -rf ~/.config/chromium/Singleton*
    • ~/.config/chromium/Singleton*、正常に終了できなかった場合に残る。
      残っていると起動時にメッセージが表示されてしまう。
  3. マウスがしばらく動いていないと、マウスカーソルの表示を消すツールunclutterを入れる

    • sudo apt-get install unclutter
  4. ~/.config/lxsession/LXDE-pi/autostartを編集する

~/.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 --noerrdialogs --kiosk --incognito http://localhost/

@chromium-browserhttp://localhost/を表示させたいURLに書き換える

  • その他のオプションについて
    • --noerrdialogs : エラーを表示させない
    • --kiosk : 全画面モードで表示させる
    • --incognito : シークレットモードで起動させる

サービスを自動起動させる

/etc/systemd/system/myprogram.service
[Unit
Description= My maked program
After=syslog.target

[Service]
Type=simple
WorkingDirectory = /home/pi/myprogram
ExecStart = home/pi/myprogram/programrun
Restart = always
TimeoutStopSec=5

[Install]
WantedBy = multi-user.target
  1. 上記ファイルを/etc/systemd/system/に作る。
  2. あとはsystemctlを使って操作してみる
    • 実行する sudo systemctl start myprogram
    • 停止する sudo systemctl stop myprogram
    • 起動時に実行させる sudo systemctl enable myprogram
    • 起動時に実行させない sudo systemctl disable myprogram

完了後の確認事項

  • 再起動時、期待通りに自動起動するか確認。
  • 実際に再起動してみる
  • USB電源を強制切断してみる
  • 外部に公開する前に、ログインするユーザー(pi)のパスワードを変更すること。

最後に

 簡単にやりたいことができるのがRaspberry Piのいいところですよね。これからも、いろいろ作っていきたい。

参考