วันนี้คิดไม่ออกว่าจะทำอะไรดี เปิดดูในกล่องของเล่นเห็นมีจอ LCD 16×2 อยู่ 1 ตัว ยังไม่เคยเอาออกมาเล่นเหมือนกัน เปิดดูวิธีใช้จาก adafruit.com เขาก็มีตัวอย่างที่เป็นภาษา Python ให้ดูอยู่ มองไปที่แฟนเพจของเราก็เห็นมีคนไลค์อยู่ 1079 คน https://www.facebook.com/DevExp วันนี้เราก็จะมาลองหัดเขียนโปรแกรมด้วย Python ให้เก็บข้อมูลจำนวนคนไลค์แฟนเพจจาก Facebook Graph API มาแสดงที่จอ LCD จริงๆ เราอาจจะนำไปประยุกต์ใช้กับงานอื่นๆ ก็ได้นะครับ เช่นว่า ถ้ามีคนกดไลค์ถึงจำนวนที่เรากำหนดก็ให้ระบบทำการชักธง, ปล่อยลูกโป้ง, เปิดไฟ, หรือโพสข้อมูลกลับไปที่เฟสบุคว่ามีคนไลค์ครบจำนวนแล้วก็ว่าไป แต่วันนี้เอาแค่แสดงผลออกจอ LCD 16×2 ก่อนครับ
อย่างแรกเลย การที่เราจะดูว่าแฟนเพจมีจำนวนคนไลค์เท่าไร เราต้องใช้ Facebook Graph API (ในการดูข้อมูลจำนวนคนไลค์แฟนเพจ เราเรียกขึ้นมาดูได้เลยโดยไม่ต้องสร้าง Facebook App นะครับ) การดูข้อมูลก็ง่ายๆ ครับ เช่นถ้าแฟนเพจของเรามี URL เป็น https://www.facebook.com/DevExp เราก็แค่เปลียนเป็น https://graph.facebook.com/DevExp ข้อมูลที่ได้ก็จะถูกส่งออกมาเป็น JSON ให้เรา (ทุกวันนี้อะไรๆ ก็ JSON ลืม XML ไปได้เลย อิอิ)
1 | https://graph.facebook.com/DevExp |
จากนั้นทำการออกแบบวงจรต่อจอ LCD 16×2 กับ Raspberry Pi
ต่อขาต่างๆดังนี้ครับ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | LCD Pin #1 (VSS) = Ground LCD Pin #2 (VDD) = +5V LCD Pin #3 (Vo) = Ground (อนุกรมกับ R 1K) LCD Pin #4 (RS) = GPIO 25 LCD Pin #5 (RW) = Ground LCD Pin #6 (E) = GPIO 24 LCD Pin #7 (D0) = (ไม่ต้องต่อ) LCD Pin #8 (D1) = (ไม่ต้องต่อ) LCD Pin #9 (D2) = (ไม่ต้องต่อ) LCD Pin #10 (D3) = (ไม่ต้องต่อ) LCD Pin #11 (D4) = GPIO 23 LCD Pin #12 (D5) = GPIO 17 LCD Pin #13 (D6) = GPIO 27 LCD Pin #14 (D7) = GPIO 22 LCD Pin #15 (A) = +5V LCD Pin #16 (K) = Ground |
ต่อสายให้เรียบร้อย
ติดตั้ง python, python-setuptools, python-pip, rpi.gpio
1 2 3 4 5 | sudo apt-get install python-dev sudo apt-get install python-setuptools sudo easy_install -U distribute sudo apt-get install python-pip sudo pip install rpi.gpio |
ทดสอบเขียนโปรแกรมดึงจำนวนไลค์แฟนเพจ ด้วย Python (จะว่าไปสั้นกว่า PHP อีกนะ)
1 | sudo nano /var/www/python-get-like.py |
พิมพ์โค้ดต่อไปนี้ลงไปครับ
1 2 3 4 5 6 7 8 9 10 | #!/usr/bin/python import urllib import json response = urllib.urlopen("https://graph.facebook.com/DevExp") data = json.loads(response.read()) print data["username"] print "Like = ", data["likes"] |
ทดสอบรันโปรแกรมดูครับ
1 2 | sudo chmod 755 /var/www/python-get-like.py sudo /var/www/python-get-like.py |
ขั้นตอนสุดท้ายเขียนโปรแกรมให้แสดงผลที่จอ LCD โดยผมดูโค้ดตัวอย่างจาก Adafruit-Raspberry-Pi-Python-Code และผมเอามาแก้ไขให้แสดงจำนวนไลค์แฟนเพจ ซึ่งก็เพิ่มโค้ดที่เราทดสอบเมื่อสักครู่นี้เข้าไป โด้ดที่แก้ไขแล้วอยู่ในนี้นะครับ https://www.unzeen.com/download/python-get-like-to-lcd.py (เดี่ยวเราจะ wget เอาไปใช้เลย)
สั่ง wget ดึงโค้ด Python ที่ผมแก้ไขแล้วมาใช้งาน
1 2 | cd /var/www/ sudo wget https://www.unzeen.com/download/python-get-like-to-lcd.py |
เปิดดูโค้ดและแก้ไขให้เป็นแฟนเพจที่ตัวเองต้องการดูจำนวนไลค์
1 | sudo nano /var/www/python-get-like-to-lcd.py |
เรียบร้อยครับ ทดสอบรันโปรแกรม จะเห็นชื่อแฟนเพจและจำนวนคนไลค์แสดงที่จอ LCD อย่างที่ต้องการ
1 2 | sudo chmod 755 /var/www/python-get-like-to-lcd.py sudo /var/www/python-get-like-to-lcd.py |