สวัสดีครับ วันนี้ทาง Maker[LAB] จะมาแนะนำการใช้งานบอร์ด Easy-eIoT HAT [ลิ้งค์ร้าน] บอร์ดสำหรับใช้งานร่วมกับบอร์ด Raspberry Pi เพื่อใช้งานทางด้าน IoT กันนะครับ โดยเจ้าบอร์ดตัวนี้มีคุณสมบัติดังนี้ครับ
1. จอสี IPS LCD ขนาด 1.54″ ความละเอียด 240×240 ให้มุมมองกว้างสีสันสดใส สามารถตั้งค่าให้เป็น frame buffer ได้เลย
2. ปุ่ม Rotary Encoder สำหรับใช้ในงานควบคุมสามารถหมุนซ้ายขวาและกดเป็นปุ่มได้
3. ปุ่มกด ขนาดใหญ่ 15mm สำหรับใช้กดเพื่อสั่งการทำงานตามที่ต้องการ
4. Buzzer สำหรับส่งเสียงการทำงานต่างๆให้เสียงดังชัดเจนสามารถควบคุมความถี่เสียงได้ด้วยตัวเอง
5. LED 3 สี แดง เหลือง เขียว สำหรับใช้แสดงผลสถานะการทำงานต่างๆตามที่ต้องการ
6. RGB LED WS2812b สำหรับแสดงค่าสี RGB ภายในหลอดเดียวและสามารถต่อเชื่อมหลอดภายนอกได้ผ่าน connector ที่มีเตรียมไว้ให้แล้ว
7. เซ็นเซอร์วัดค่าความชื้นความชื้นสัมพัทธ์และอุณหภูมิแบบใช้ในงานอุตสาหกรรมเบอร์ HS3004 จาก Renesas (เฉพาะในรุ่น Easy-eIoT)
8. Pin header แยกสำหรับการเชื่อมต่อแบบต่างๆ ป้องกันความผิดพลาดจากการนับขา Serial ,I2C ,SPI ,I2S ,1-Wire
โดยความโดดเด่นของบอร์ดนี้คือจอภาพความคมชัดสูง และปุ่มต่างๆสำหรับใช้ควบคุมทำงานของบอร์ด ดังนั้นเราจะมาทำการตั้งค่าการใช้งานของจอภาพกันก่อน โดยสามารถทำตามขั้นตอนจากลิ้งค์นี้ได้เลย https://github.com/birdtechstep/tiny เราจะมา ทดลองทำไปพร้อมๆกันเลยครับ
1. ทำการปรับปรุงระบบให้ทันสมัยด้วยคำสั่ง[ทำนะครับอย่าข้าม]
sudo apt update
sudo apt upgrade
sudo reboot
2. ติดตั้ง package ที่จำเป็นสำหรับการ compile kernel module
sudo apt install git bc bison flex libssl-dev libncurses5-dev
sudo apt-get install raspberrypi-kernel-headers
sudo reboot
3. ติดตั้ง DRM driver เพื่อ compile tiny
cd ~/
git clone https://github.com/birdtechstep/tiny.git
cd tiny
make
sudo cp *.ko /lib/modules/`uname -r`/kernel/drivers/gpu/drm/tiny/
sudo depmod
4. ติดตั้ง Device tree dtoverlay
cd ~/tiny/overlays
sudo chmod +x dtc.sh
./dtc.sh
sudo dtc -@ -I dts -O dtb -o /boot/overlays/makerlabtft154.dtbo makerlabtft154-overlay.dts
5. ตั้งค่าการโหลด dtoverlay
sudo vi /boot/config.txt
เพิ่มบรรทัด
dtoverlay=makerlabtft154
dtparam=speed=32000000
dtparam=rotation=0
6. ตั้งค่าหน้าจอ
sudo vi /boot/cmdline.txt
เพิ่ม fbcon=map:10 fbcon=font:VGA8x16 ลงไปท้ายบรรทัด
7. สั่งให้ Raspberry Pi เริ่มการทำงานใหม่
sudo reboot
ซึ่งในขณะนี้เราจะสามารถใช้งานจอภาพได้เหมือนเป็นจอภาพของเครื่องคอมพิวเตอร์ตามปกติเช่น สามารถ startX ให้ทำงานบนหน้าจอนี้เลย แต่อาจไม่เหมาะสมเพราะจอขนาดเล็กเพียง 240×240 เท่านั้น เราจะมาทดลองสั่งเล่นไฟล์วิดีโอกันบนจอภาพนี้กันก่อน ก่อนที่จะเริ่มไปเรื่องการเขียนโปรแกรมอ่านค่าการกดปุ่มและเซนเซอร์ต่างๆ โดยเราจะต้องดูก่อนว่าจอของเราที่ติดตั้งลงไปเป็น framebuffer ชื่ออะไรด้วยการสั่ง
dmesg | grep fb
โดยดูที่ เป็น st7789vdrmfb frame buffer device ตัวอย่างเช่นในรูป
#ติดตั้งโปรแกรม mplayer
sudo apt install -y mplayer
#ดาวน์โหลดตัวอย่างวิดีโอ
wget http://fredrik.hubbe.net/plugger/test.mpg
#สั่งเล่นไฟล์
mplayer -nolirc -vo fbdev2:/dev/fb1 -zoom -x 240 -y 240 test.mpg
และในตอนต่อไปเราจะมาทดลองใช้งาน
– ปุ่ม Rotary Encoder สำหรับใช้ในงานควบคุมสามารถหมุนซ้ายขวาและกดเป็นปุ่มได้
– ปุ่มกด ขนาดใหญ่ 15mm สำหรับใช้กดเพื่อสั่งการทำงานตามที่ต้องการ
– Buzzer สำหรับส่งเสียงการทำงานต่างๆให้เสียงดังชัดเจนสามารถควบคุมความถี่เสียงได้ด้วยตัวเอง
– LED 3 สี แดง เหลือง เขียว
– RGB LED WS2812b
– เซ็นเซอร์วัดค่าความชื้นความชื้นสัมพัทธ์และอุณหภูมิแบบใช้ในงานอุตสาหกรรมเบอร์ HS3004 จาก Renesas
และหากเพื่อนๆทำตามบทความนี้แล้วติดปัญหาสามารถสอบถามกันมาได้เลยนะครับไม่ต้องเกรงใจ
มี Error ในการติดตั้ง DRM driver
ERROR: “drm_gem_shmem_dumb_create” [/home/pi/tiny/gm12u320.ko] undefined!
ERROR: “drm_gem_shmem_prime_import_sg_table” [/home/pi/tiny/gm12u320.ko] undefined!
ERROR: “drm_gem_shmem_mmap” [/home/pi/tiny/gm12u320.ko] undefined!
ERROR: “drm_gem_shmem_vunmap” [/home/pi/tiny/gm12u320.ko] undefined!
ERROR: “drm_gem_shmem_vmap” [/home/pi/tiny/gm12u320.ko] undefined!
ตอนนี้บน Pi3 ใช้งานได้แล้วครับผม