/Bus-Tracking-System

โครงการระบบติดตามรถโดยสารประจำทาง (Bus Tracking System)

Primary LanguageVisual Basic

Bus Tracking System

โครงการระบบติดตามรถโดยสารประจำทาง (Bus Tracking System) เป็นโครงการประเภทการประยุกต์ใช้งานสำหรับสื่อสารระหว่างสรรพสิ่ง ในโครงการนี้จะนำตำแหน่งที่อยู่ปัจจุบันของรถเมล์มาแสดงบนโทรศัพท์มือถือ ในส่วนของรถเมล์ผู้จัดทำโครงการจะนำกล่องที่ชื่อ BusBox ไปติดบนรถเมล์ โดยใช้แหล่งพลังงานจากแบตเตอรี่ของรถเมล์ เจ้ารถเมล์สามารถเปิด-ปิดกล่องได้เมื่อไม่ใช้งาน หรือหมดรอบการให้บริการ ในฝั่งผู้ใช้สามารถดาว์นโหลดแอพพลิเคชั่นที่ชื่อ Where Bus ได้จากใน Google Play Store ผู้ใช้สามารถเลือกสายรถเมล์ที่ต้องการ เลือกติดตาม และเลือกให้แจ้งเตือนเมื่อรถเมล์ใกล้จะมาถึงได้ ทำให้ผู้ใช้สามารถวางแผนการเดินทางได้ง่ายขึ้น ทำให้เกิดการใช้บริการรถเมล์มากขึ้น ซึ่งจะส่งผลให้มีการใช้งานรถยนต์ส่วนตัวน้อยลง และแก้ปัญหารถติดได้ในที่สุด โครงการประกอบไปด้วย 3 ส่วนสำคัญ ในแต่ละส่วนจำเป็นจะต้องพึ่งพาข้อมูลจากกันอย่างเป็นระบบ ซึ่งในแต่ละส่วนมีรายละเอียดการทำงานที่สำคัญ ดังนี้

  • ส่วนฮาร์ดแวร์ ซึ่งประกอบไปด้วยบอร์ด Arduino Uno R3 ใช้ควบคุมการทำงานของทั้งระบบในส่วนนี้ และโมดูล 3G UC-20G ใช้สำหรับดึงข้อมูลพิกัด GPS และเชื่อมต่ออินเตอร์เน็ตผ่านเครือข่ายโทรศัพท์มือถือ โดยรวมทั้งระบบจะถูกบรรจุในกล่องที่ชื่อ BusBox เพื่อให้นำไปติดตั้งกับรถเมล์ได้สะดวก
  • ส่วนเซิร์ฟเวอร์ มีหน้าที่สำคัญคือเก็บข้อมูลตำแหน่งของรถเมล์ และเก็บข้อมูลต่าง ๆ ของรถเมล์ คนขับรถเมล์ รวมถึงทำหน้าที่เป็นตัวกลางในการสื่อสาร และจัดการกับส่วนฮาร์แวร์ และส่วนแอพพลิเคชั่นให้เชื่อมต่อถึงกันได้อย่างมีเสถียรภาพมากที่สุด
  • ส่วนแอพพลิเคชั่น มีส่วนสำคัญคือส่วนของแผนที่โดยใช้ Google Map API และกล่องอินพุตสำหรับกรอกชื่อสายของรถเมล์เพื่อแสดงรายชื่อ และพิกัดของรถเมล์ในขณะนั้น โดยชื่อแอพพลิเคชั่นคือ Where BUS

ในส่วนของแอพพลิเคชั่นมีหลักการใช้งานที่สำคัญอยู่ 2 ขั้นตอน ดังนี้

ขั้นตอนที่ 1 เลือกสายรถเมล์ที่ต้องการ ในขั้นตอนนี้ผู้ใช้จะต้องทำการเลือกสายรถเมล์ที่ผู้ใช้ต้องการ เพื่อจำกัดปริมาณข้อมูลที่จะถูกนำมาแสดงผลบนแผนที่ และเพื่อให้ผู้ใช้สามารถค้นหารถเมล์ที่อยู่ใกล้มากที่สุดได้ง่าย

ขั้นตอนที่ 2 เลือกติดตามรถเมล์ เมื่อเลือกสายรถเมล์ในขั้นตอนที่ 1 แล้ว ผู้ใช้จะถูกเสนอให้เลือกติดตามรถเมล์ที่อยู่ใกล้ที่สุด โดยคำนวณจากระยะทางระหว่างผู้ใช้กับรถเมล์ และหากกรณีแอพพลิเคชั่นเสนอรถรถเมล์ให้ไม่ตรงกับความต้องการของผู้ใช้ ผู้ใช้สามารถเลือกติดตามสายรถเมล์อื่นได้เช่นเดียวกัน

การนำโค้ดไปใช้งาน

ขณะนี้โครงการอยู่ในระหว่างพัฒนา และจะมีการอัพเดทโค้ดเป็นช่วง ๆ เอกสารจะไม่มีเร็ว ๆ นี้

Can not be revealed ?

โค้ดบางส่วนไม่สามารถเปิดเผยได้ เช่น อัลกอริทึม การเข้ารหัสระหว่างอุปกรณ์ กับ PHP Proxy หรือส่วนที่เป็นลิ้งเชื่อมต่อไปยังเซิฟเวอร์ เมื่อนำโค้ดไปใช้งาน ท่านจะสามารถแก้ส่วน Can not be revealed ได้ทุกจุด

สัญญาอนุญาตการใช้งาน

เงื่อนไขสัญญาอนุญาตแบบ Apache License 2.0 : https://tldrlegal.com/license/apache-license-2.0-(apache-2.0)