เนื่องจากไปค้นของเก่าจากลังเจอ LCD 16×2 I2C ใช้ Chip PCF8574 ได้เอามาลองเล่นกับ Raspberry Pi แต่ Python Module สำหรับ PCF8574 ไม่มี ก็เลยลองค้นหาวิธีการใช้ พบว่ามีคนที่เจอปัญหาเดียวกัน เขาเขียน tool ขึ้นมาตัวนึงชื่อ lcdi2c สั่งงานผ่าน command line ได้เลย ซึ่งน่าสนใจมาก ก็เลยเอามา blog ไว้ก่อน เดี๋ยวจะลืม

เครื่องมือนี้ใช้ Wiring Pi ให้ดาวน์โหลดและติดตั้งให้เรียบร้อย จากนั้นดาวน์โหลดโค้ด lcdi2c มา compile ดังนี้

mkdir lcdi2c
cd lcdi2c
wget http://telecnatron.com/articles/Utility-To-Control-1602-LCD-On-Raspberry-Pi-Via-A-PCF8574-I2C-Backpack-Module/lcdi2c.tar.gz
tar zxvf lcdi2c.tar.gz
make

เราจะได้ binary มาไฟล์นึงชื่อ lcdi2c จากนั้นย้ายไปที่ /usr/local/bin ดังนี้

mv lcdi2c /usr/local/bin/

มาเล่นกันเลย lcdi2c ใช้ผ่าน command line ง่ายๆ ดังนี้

แสดงผลคำว่า Hello World ลงในบรรทัดที่ 2

lcdi2c -b 1 -l -x 2 -y 1 "Hello World"

แสดงวันที่เวลา

lcdi2c -l "$(printf "%-16s %-16s" $(date +"%T") $(date +"%D"))"

ลองประยุกต์กับ DLNA Server เพื่อแสดงผล IP Address และขนาด Disk ที่เหลืออยู่

IP=$(ip addr | grep 'state UP' -A2 | tail -n1 | awk '{print $2}' | cut -f1 -d'/')
lcdi2c -i -l -b 1 -x 0 -y 0 $IP
USAGE="$(df -H | grep -vE '^Filesystem|tmpfs|cdrom|rootfs|root|mmc|sda1' | awk '{ print "T=" $2 " U=" $3 }')"
lcdi2c -b 1 -x 0 -y 1 $USAGE

เราก็จะได้ผลลัพท์ดังนี้

Comments are closed.