กลับไปหน้า Blog

Kiosk Monitoring with Raspberry PI

Suvichan Prasongphonchai (The Duck Dose)·27/12/2016·~4 min read

E-zy E-zy

## อุปกรณ์ ##

  1. Raspberry PI 2 model B
  2. Micro SD 8GB
  3. Keyboard
  4. Mouse
  5. Monitor
  6. Macbook Pro

## ติดตั้ง RASPBIAN JESSIE WITH PIXEL ##

ทำการติดตั้ง OS ให้กับ Raspberry PI

เข้า Terminal พิมพ์ brew cask install applepi-baker กด Enter เพื่อติดตั้ง Application ApplePI-Baker

Download RASPBIAN JESSIE WITH PIXEL จาก : https://www.raspberrypi.org/downloads/

เข้า ApplePI-Baker

Application : ApplePi-Baker
  1. ทำการ Format Micro SD โดยเลือก Micro SD แล้วกด Prep for NOOBS
  2. หลังจากนั้นกดปุ่มเลือกไฟล์ตรงช่อง IMG file: เลือก RASPBIAN JESSIE WITH PIXEL ที่โหลดมาจาก https://www.raspberrypi.org/downloads/
  3. กดปุ่ม Restore Backup และรอซักพักนึง
  4. เมื่อติดตั้งเสร็จ Application จะทำการ Eject Micro SD ออก ก็สามารถนำไปใช้งานใส่ raspberry PI ได้เลย

## Update package manager ##

ในขั้นตอนแรกต้องทำการ update package ต่างๆก่อนโดยทำดังนี้

  1. พิมพ์ “sudo apt-get update” กด Enter
  2. พิมพ์ “sudo apt-get dist-upgrade -y” กด Enter
  3. กด Enter จนขึ้น Quit พิมพ์ q เพื่อออก
  4. หลังจากเสร็จแล้ว “sudo reboot” เพื่อ restart ใหม่

## เปลี่ยน Password ##

  1. พิมพ์ “sudo passwd pi” กด Enter
  2. กรอก Password ที่ต้องการเช่น aodpassword กด Enter
  3. ยืนยัน Password พิมพ์เหมือนเดิมกด Enter

## Config raspberry pi ##

ตั้งค่าพื้นฐานให้กับ raspberry pi โดยเข้า Terminal พิมพ์ “sudo raspi-config”

ตั้ง keyboard จากเดิม UK เปลี่ยนเป็น US (ถ้าใช้ keyboard UK จะไม่สามารถพิมพ์เครื่องหมาย # ได้)

  1. เลือก 4.Localisation Options กด Enter
  2. เลือก Change Keyboard Layout กด Enter
  3. เลือก key board Generic 105-key (Intl) PC กด Tab เลือก Ok
  4. ไปล่างสุดเลือก Other กด Enter
  5. เลือก English US ที่อยู่ข้างบนสุดกด Enter
  6. กด Enter
  7. กด Enter
  8. กด Enter

ตั้ง Timezone Asia-Bangkok เพื่อให้เวลาตรงกับประเทศ

  1. เลือก 4.Localisation Options กด Enter
  2. เลือก Change Timezone กด Enter
  3. เลือก Asia กด Ok
  4. เลือก Bangkok กด Ok

ตั้ง Remote SSH

  1. เลือก 5.Interfacing Options
  2. เลือก SSH
  3. เลือก Yes

ตั้ง Remote VNC

  1. เลือก 5.Interfacing Options
  2. เลือก VNC
  3. เลือก Yes

หลังจากทำทั้งหมดเสร็จกด Tab เลือก Finish เป็นอันเสร็จสิ้นการตั้งค่าพื้นฐาน Raspberry PI

## ตรวจสอบ IP raspberry pi ##

  1. พิมพ์ “sudo ifconfig”
  2. ดู IP ที่ eth0 net เช่น 192.168.31.1
  3. จด IP ไว้ใช้ในขั้นตอนถัดๆไป

## ทดสอบ SSH ##

  1. เข้า Terminal ที่เครื่อง PC/Notebook
  2. พิมพ์ “ssh pi@“ ตามด้วย IP ของ raspberry PI เช่น “ssh [email protected]

## ลง VNC SERVER x11vnc ##

  1. พิมพ์ “sudo apt-get install x11vnc -y”
  2. พิมพ์ “x11vnc -storepasswd” จากนั้นมันจะให้ใส่ password พิมพ์ “aodpassword” กด Enter
  3. กด y เพื่อยืนยันการเปลี่ยน password
  4. ทำให้ VNC server run service ค้างไว้ตั้งแต่เปิดเครื่อง

พิมพ์ “sudo nano ~/.config/autostart/x11vnc.desktop” จากนั้น copy ทั้งหมด วางทับไปในไฟล์

[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=X11VNC
Comment=
Exec=x11vnc -forever -usepw -display :0 -ultrafilexfer
StartupNotify=false
Terminal=false
Hidden=false

เสร็จแล้วกด Ctrl + X

พิมพ์ Y เพื่อยืนยัน Enter

  1. “sudo chmod a+r ~/.config/autostart/x11vnc.desktop” เพื่อแก้สิทธิ์ในการเข้าถึงไฟล์
  2. “sudo reboot” เพื่อ restart เครื่อง
  3. ทดสอบพิมพ์ “sudo netstat -nlp | grep vnc” ว่าลงแล้วใช้ได้รึเปล่า ถ้าทำถูกจะขึ้น tcp 0 0 0.0.0.0:5900 0.0.0.0:* LISTEN 2575/x11vnc
  4. ทดสอบให้ไปที่ PC/Notebook เข้า Finder -> กด Command + K จากนั้นพิมพ์ vnc://[IP_ADRESS]:5900

เช่น vnc://192.168.31.240:5900 จากนั้นใส่ Password จะมีหน้าจอของ Raspberry PI ขึ้นมาก็เป็นอันเสร็จสิ้นขั้นตอนการลง VNC Server

## ติดตั้ง Browser ทำ Kiosk ##

  1. พิมพ์ “sudo apt-get install iceweasel -y”
  2. พิมพ์ “iceweasel https://app.nextschool.io”
  3. Login เป็น User Monitor ของโรงเรียนที่จะทำ Monitor
  4. ลง Add-On ชื่อ r-kiosk กับ try again
  5. พิมพ์ที่ address : https://addons.mozilla.org/en-US/firefox/addon/tryagain/ กด install (Note : TryAgain คือ ถ้าเปิดหน้าแล้วไม่มี internet ให้ทำการเรียกหน้าใหม่ทุก 10 วินาที)
  6. หลังติดตั้งเสร็จทำการแก้ไขในช่อง ​Value จาก 5 เป็น 10000 ครั้งไปที่ช่อง address พิมพ์ “about:config”
  7. จะมีการยืนยันใช้งานกด Ok ช่อง Search ใส่ “extensions.tryagain.repeat” ดับเบิ้ลคลิกเพื่อแก้ไขจากเดิมเลข 5 เป็น 10000
  8. **แก้ bug ปิดโปรแกรมแล้วพัง ไปที่ช่อง address พิมพ์ “about:preferences”
  9. ไปที่ Advanced > General > ให้นำเครื่องหมายถูกออกจาก “Use hardware acceleration when available”
  10. เข้า web https://addons.mozilla.org/en-US/firefox/addon/r-kiosk/ กด install (Note : r-kiosk คือการทำ web browser ให้เป็น kiosk เปิดมาเต็มหน้าจอ)

## ทำ Web Browser ให้ run ตอนเปิดเครื่อง ##

  1. กด Ctrl+Command+T เพื่อเข้า Terminal
  2. เข้า Terminal พิมพ์ “sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart” กด Enter
  3. comment 2 บรรทัดบนสุดด้วยการใส่เครื่องหมาย # ไปข้างหน้า code และพิมพ์ “@iceweasel https://app.nextschool.io/clockin/wallboard” ต่อบรรทัดสุดท้าย ดังตัวอย่าง /home/pi/.config/lxsession/LXDE-pi/autostart
#@lxpanel — profile LXDE-pi
#@pcmanfm — desktop — profile LXDE-pi
@xscreensaver -no-splash
@point-rpi
@iceweasel https://app.nextschool.io/clockin/wallboard

เสร็จแล้วกด Ctrl + X พิมพ์ Y เพื่อยืนยัน Enter และพิมพ์ “sudo reboot” กด Enter ทดสอบการใช้งานถ้าใช้งานได้หลังจาก boot raspbeery pi เสร็จจะมี web browser ขึ้นมาทันที

## ตั้งค่าขนาดจอให้ Full Screen ##

  1. กด Ctrl+Command+T เพื่อเข้า Terminal
  2. พิมพ์ “sudo nano /boot/config.txt” บรรทัดสุดท้ายให้พิมพ์ดังนี้
disable_overscan=1
framebuffer_width=1900
framebuffer_height=1080

เสร็จแล้วกด Ctrl + X พิมพ์ Y เพื่อยืนยัน Enter

## Remove Mouse Cursor##

  1. พิมพ์ “sudo apt-get install unclutter” เป็นอันเสร็จสิ้น

## ตั้งค่า Sleep Screen ปิดการพักจอ ##

  1. พิมพ์ “sudo nano /etc/lightdm/lightdm.conf”
  2. เลื่อนไปจนบรรทัดสุดท้าย
  3. ขึ้นบรรทัดใหม่พิมพ์ xserver-command=X -s 0 dpms
  4. เสร็จแล้วกด Ctrl + X
  5. พิมพ์ Y เพื่อยืนยัน Enter

## ลบ ​Logo ตอน Boot ##

  1. กด Ctrl+Command+T เพื่อเข้า Terminal
  2. พิมพ์ “sudo nano /boot/cmdline.txt”
  3. ลบคำว่า splash ออก
  4. ไปท้ายสุดและพิมพ์ เว้นวรรคและตามด้วย “logo.nologo”

ตัวอย่างไฟล์จากการทำข้อ 3 และ 4

dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait logo.nologo

เสร็จแล้วกด Ctrl + X พิมพ์ Y เพื่อยืนยัน Enter ทดสอบด้วยการพิมพ์ sudo reboot จะพบว่า logo จะหายไปทั้งหมด

## ลง Teamviewer ##

เพื่อทำการ Remote ในอนาคต

  1. พิมพ์ “wget http://download.teamviewer.com/download/linux/version_11x/teamviewer-host_armhf.deb”
  2. ติดตั้งโดยพิมพ์ “sudo dpkg -i teamviewer-host_armhf.deb”
  3. พิมพ์ “sudo apt-get -f install -y” กด Enter
  4. จะมี TeamViewer License Agreement แสดงขึ้นมาให้เลือก Accept License Agreement
  5. หลังจากกดจะมีโปรแกรม teamviewer แสดงขึ้นมาให้กดรูปเฟือง
  6. เลือก Security และเลือก Password strength เปลี่ยนเป็น Disabled (no random password)
  7. ช่อง Password และ Confirm Password พิมพ์ “aodpassword” ลงไปกด OK
  8. พิมพ์ “sudo reboot” กด Enter
  • *** จด ID กับ Password เก็บไว้ด้วย *****

## กลับด้านหน้าจอ ##

sudo nano /boot/config.txt

display_rotate=2