Thanapon Tapala

Backend Developer

Embedded Developer

Smart Farmer

Maker

Thanapon Tapala

Backend Developer

Embedded Developer

Smart Farmer

Maker

Blog Post

[RaspberryPi] ทำ Kiosk โดยใช้ Raspberry Pi + Chromium browser

September 27, 2021 RaspberryPi
[RaspberryPi] ทำ Kiosk โดยใช้ Raspberry Pi + Chromium browser

ก่อนอื่นเราต้องลง Image Rasbian OS Desktop ก่อน โดยที่ผมจะใช้ตัว Raspberry Pi Imager ในการสร้าง Kiosk นะครับ ซึ่งในตัว Image นี้ได้ติดตั้ง Chromium browser กับ LXDE อยู่แล้วนะครับ

ตั้งค่า Raspberry Pi OS ให้เปิด browser อัตโนมัติ

  • ก่อนอื่นเข้าไปตั้งค่า LXDE โดยที่เราจะไปแก้ script ตอนที่มัน boot ระบบขึ้นมาตอนแรก
sudo nano /etc/xdg/lxsession/LXDE-pi/autostart
  • เพิ่ม command ข้างล่างนี้ไปเลย

@xscreensaver -no-splash :

@xset s off : ปิด screensaver

@xset -dpms : ปิดระบบ power management

@xset s noblank : ปิด screen blanking

@chromium-browser –kiosk –disable-restore-session-state <url> : เปิด chormium ใน kiosk mode

@lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi
@xscreensaver -no-splash
@xset s off
@xset -dpms
@xset s noblank
@chromium-browser --kiosk  --disable-restore-session-state http://localhost:3000
  • จากนั้นก็ทำการ save config file

ตั้งค่า Raspi-config สำหรับ Boot ผ่าน Console

  • อันดับแรกให้เข้ามาที่ Raspi-config ก่อนผ่าน terminal เพื่อที่จะตั้งค่า network connection ตอนที่ boot ครั้งแรกโดยที่จะให้มันรอรับ IP Address ก่อน
sudo raspbi-config
  • เลือกเมนู System Options
  • เลือก Network at Boot
  • จากนั้นเลือก S5 Boot/Auto Login แล้วเลือก B2 Console Autologin เพื่อให้ตอนที่เรา boot ระบบขึ้นมามันจะได้ skip หน้าที่ให้กรอก username/password
  • แล้วก็ Back ออกมาโดยกดปุ่ม Tab ไล่ลงมาเรื่อยๆ แล้วเลือก Finish ระบบจะ restart เครื่องใหม่

ตั้งค่า Bash profile ให้รัน X Server ทุกครั้งหลังจาก Login

  • สร้างไฟล์  bash_profile มาก่อนโดยจะเก็บไว้ที่ home
sudo nano ~/.bash_profile
  • เพิ่ม script สำหรับรัน X server โดยเพิ่ม flag nocursor เข้าไปเพื่อให้มันซ่อน mouse cursor
startx -- -nocursor
  • บันทึก bash_profile โดยกด Ctrl-o => Enter => Ctrl-X.
  • ทดสอบรัน bash_profile จากนั้นก็ระบบก็จะ login เข้าสู่หน้า Desktop mode
source ~/.bash_profile
  • reboot ระบบอีกครั้งแล้วรอดูผลลัพท์ได้เลยครับ
sudo reboot

วิธีออกไปหน้า console เราจะกด Ctrl + Alt + F1/F2 เพื่อ Switch mode นะครับ

[Optional] การหมุนหน้าจอใน Desktop mode

  • แก้ไขไฟล์ /boot/config.txt
sudo nano /boot/config.txt

0 is the normal configuration. 1 is 90 degrees. 2 is 180 degress. 3 is 270 degrees.

If you are using the Official Raspberry Pi touch screen you can use “lcd_rotate” rather than “display_rotate”.

Save the file by using CTRL-X, Y then ENTER.

  • Comment “dtoverlay=vc4-fkms-v3d” ออกไว้ด้วยนะครับเพราะมันจะต้องกลับไปใช้ Legacy mode ก่อน แล้วเพิ่ม display_rotate เข้าไปได้เลย
[pi4]
# Enable DRM VC4 V3D driver on top of the dispmanx display stack
#dtoverlay=vc4-fkms-v3d
max_framebuffers=1

[all]
#dtoverlay=vc4-fkms-v3d
gpu_mem=256
display_rotate=3
  • เสร็จแล้วก็ Reboot กันอีกรอบก็จะได้หน้าตาแบบนี้มา (อันนี้เป็นตัวอย่างนะครับ ผมรัน web server ไว้ให้มัน generate QRCode ออกมา)

เสร็จเรียบร้อย หากมีข้อสงสัยหรืออยากแนะนำมีอะไรเจ๋งๆ สามารถติดต่อมาที่ Facebook หรือ Linkedin ได้เลยนะครับ สำหรับวันนี้ขอบคุณและสวัสดีครับ 😉

Taggs: