วันพฤหัสบดีที่ ๒๓ มิถุนายน พ.ศ. ๒๕๕๙

Internet of Things (IoT) ตอนที่ 4

จากตอนที่ 1 ว่าด้วยหลักการ ความเป็นมา และอนาคตของ Internet of Things ซึ่งได้โน้มน้าวให้ผู้อ่านได้เห็นถึงความสำคัญ ให้อยากที่จะศึกษา อยากทดลองทำดู เผื่อว่าจะได้นำไปประยุกต์ใช้ในชีวิตประจำวัน หรือสร้างเป็น start up ดังที่เขาฮิตกัน

งาน Internet of Things นี้ขอบอกเลยว่า งานที่ยากที่สุด คือ ไอเดีย หรือความคิดสร้างสรรค์ หรือจินตนาการที่จะผลิตหรือสร้างอะไร ดังนั้น ทุกคนสามารถสร้างงานออกมาได้ โดยเฉพาะในด้านเทคนิควิธีการ เราสามารถหาอ่านเอาได้จากอินเทอร์เน็ต หรือดูจาก youtube

ตอนที่ 2 ได้เขียนถึงภาพรวม การทำงานของ Internet of Things มีองค์ประกอบอะไรบ้าง มันทำงานสัมพันธ์กันอย่างไร ถ้าให้ครบวงจรการทำงานของมันจะต้องใช้อะไรบ้าง

ตอนที่ 3 ได้เขียนถึง คำสั่งเพื่อทดสอบการทำงานของบอร์ด และได้ทดสอบโปรแกรม รวมทั้งการต่อวงจร LED เพื่อดูผลลัพธ์

มาตอนที่ 4 จะเป็นการเขียนโปรแกรมเพิ่มความซับซ้อนขึ้นมานิดหนึ่ง โดยจะจำลองเป็นการสั่งงานให้เปิดปิดไฟจราจร 3 สี แต่ทดลองทำเพียงด้านเดียวก่อน ถ้าต้องการทำหลายด้าน ก็สามารถทำได้โดยการเขียนคำสั่งให้พอร์ตอื่น ๆ ทำงานตามต้องการ

มาดู code กัน


#---------------------------------------------------------------------
#source code: traffic.py
import RPi.GPIO as GPIO
import time
red = 18
green = 23
yellow = 24
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
GPIO.setup(red,GPIO.OUT)
GPIO.setup(green,GPIO.OUT)
GPIO.setup(yellow,GPIO.OUT)

#function
def blink(pin, stime, count):
      for i in range(count):
              GPIO.output(pin,GPIO.HIGH)
              time.sleep(stime)
              GPIO.output(pin,GPIO.LOW)
              time.sleep(stime)

#main program
while True:
       #stop state
       GPIO.output(red,GPIO.HIGH)
       time.sleep(10)
       blink(red,0.25,5)
       GPIO.output(red,GPIO.LOW)

       #go state
       GPIO.output(green,GPIO.HIGH)
       time.sleep(10)
       blink(green,0.15,10)
      GPIO.output(green,GPIO.LOW)

      #stop ready
      GPIO.output(yellow,GPIO.HIGH)
      time.sleep(3)
      GPIO.output(yellow,GPIO.LOW)
      time.sleep(0.5)
#-------------------------------------------------------------
Save file กำหนดชื่อ traffic.py
เมื่อสั่ง Run โปรแกรมที่ terminal ด้วยคำสั่ง
$ sudo python traffic.py 

จะได้ผลลัพธ์ดังนี้



หากผู้อ่านได้ทดลองเอาคำสั่งของโปรแกรมนี้ไปใช้ ท่านต้อง 
ต่อขา 18 เป็น LED สีแดง
ต่อขา 23 เป็น LED สีเขียว
ต่อขา 24 เป็น LED สีเหลือง

ได้ทำเสนอแนะเกี่ยวกับการกระพริบของไฟเขียวและไฟแดง ไว้ในตอนท้าย เพื่อให้ผู้ขับรถเตรียมตัว หรือระมัดระวัง เอาไว้ด้วย

ในตอนต่อไปจะได้เขียนโปรแกรมเพิ่มฟังก์ชันให้ตำรวจจราจร กดปุ่มเพื่อปล่อยรถในแต่ละแยกได้ตามต้องการ

แล้วตอนถัดไป จะเขียนโปรแกรมให้มีการเก็บข้อมูลการกดปุ่มของจราจร เพื่อนำไปใช้ในการวิเคราะห์ (analysis) เพื่อใช้ในงาน internet of things ได้ครบวงจรต่อไป

โปรดคอยติดตาม......

ไม่มีความคิดเห็น: