Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
50
Help us understand the problem. What is going on with this article?
@yyano

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

More than 3 years have 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のいいところですよね。これからも、いろいろ作っていきたい。

参考

50
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
yyano
IT系おじさん。やんわりと転職活動中。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
50
Help us understand the problem. What is going on with this article?