Project Perspective
Account Based Ticketing System เป็นการสำรวจที่ซับซ้อนของเทคโนโลยีความปลอดภัยและการโต้ตอบข้อมูลการขนส่ง โดยมุ่งเน้นที่องค์ประกอบสำคัญ—RFID MFRC522 reader และ dynamic linked-list architecture—คุณจะได้เรียนรู้วิธีการสื่อสารและซิงโครไนซ์ข้อมูลผู้โดยสารโดยใช้ตรรกะซอฟต์แวร์เฉพาะและการตั้งค่าการออกตั๋วที่แข็งแกร่ง
Technical Implementation: MIFARE Sector Auth and Memory Lists
โปรเจกต์นี้จะเผยให้เห็นชั้นที่ซ่อนอยู่ของการโต้ตอบระหว่างบัตรกับค่าโดยสารที่เรียบง่าย:
- Identification layer: RFID-RC522 Module ทำหน้าที่เป็นดวงตาทางแสงที่มีความละเอียดสูง ตรวจจับรหัสประจำตัวเฉพาะ (UID) ของบัตรแต่ละใบ และอ่านเซกเตอร์ที่เข้ารหัสผ่านคีย์ความปลอดภัยของ MIFARE
- Conversion layer: Arduino ใช้ SPI interface เพื่อรับพัลส์ไบนารีความเร็วสูงเพื่อประสานงานภารกิจการออกตั๋วที่สำคัญ
- Memory Interface layer: Dynamic Linked List (ในตรรกะ C) ทำหน้าที่เป็นแผงควบคุมข้อมูลความละเอียดสูงสำหรับการตรวจสอบสถานะผู้โดยสารแต่ละคน (Boarding/Check-out)
- Accounting layer: ระบบจะดำเนินการ MIFARE Write เพื่ออัปเดตยอดคงเหลือภายในบัตรทุกครั้งที่เดินทางสำเร็จ
- Processing Logic layer: โค้ด Arduino ใช้กลยุทธ์ "list-scanning" (หรือ station-diff): โดยจะตีความอินพุต
PCD_Authenticate()และจับคู่ตรรกะการคำนวณค่าโดยสารเพื่อให้การติดตามผู้โดยสารปลอดภัยและแม่นยำ - Communication Dialogue Loop: ข้อมูลจะถูกส่งอย่างเป็นจังหวะไปยัง Serial Monitor ระหว่างการปรับเทียบเริ่มต้นเพื่อประสานงานสถานะ
Hardware-Software Infrastructure
- Arduino Uno: "สมอง" ของโปรเจกต์ จัดการการสุ่มตัวอย่าง SPI แบบหลายทิศทางและประสานงานการซิงค์สถานะ RFID
- RFID-RC522 Reader: มอบ "Security Link" ที่รวดเร็วและเชื่อถือได้สำหรับการโต้ตอบกับบัตรทุกจุด
- MIFARE Classic Cards: มอบหน่วยความจำที่เข้ารหัสความจุสูงและเชื่อถือได้สำหรับภารกิจการออกตั๋วทุกครั้ง
- Linked List Node: จำเป็นสำหรับการติดตามข้อมูลที่ชัดเจนและประหยัดพลังงานสำหรับผู้โดยสารที่ใช้งานอยู่ทุกคน
- I2C LCD: มอบ interface ทางกายภาพที่ชัดเจนและเป็นมืออาชีพสำหรับข้อความการขึ้นเครื่องแต่ละข้อความ
- Micro-USB Cable: ใช้เพื่อโปรแกรม Arduino ของคุณและเป็น interface หลักสำหรับ system controller
Ticketing Automation and Interaction Step-by-Step
กระบวนการจัดการ ABTS ได้รับการออกแบบมาให้มีประสิทธิภาพสูง:
- Initialize Hardware: วาง RFID reader และ LCD บน breadboard อย่างถูกต้อง และเตรียม MIFARE cards ของคุณ
- Setup Output Sync: ใน Arduino sketch ของคุณ ให้ initialize ไลบรารี
MFRC522และSPIและกำหนด security keys ในsetup() - Execution Loop: สถานีจะทำการตรวจสอบบัตรที่มีประสิทธิภาพสูงอย่างต่อเนื่องและอัปเดตสถานะ linked-list แบบ real-time ตามการแตะของคุณ
- Visual and Data Feedback Integration: ชม dashboard การออกตั๋วที่คุณกำหนดเองกลายเป็นสัญญาณสถานะที่เป็นจังหวะโดยอัตโนมัติ โดยมีการกระพริบและติดตามการตั้งค่าการเดินทางของคุณจากระยะไกล
Future Expansion
- OLED Identity Dashboard Integration: เพิ่มจอแสดงผล OLED ขนาดเล็กที่ประตูเพื่อแสดง "Current Stop" หรือ "Balance ($)"
- Multi-sensor Climate Sync Synchronization: เชื่อมต่อ "WiFi ESP8266" เฉพาะเพื่อดำเนินการ "Cloud Database Sync" ที่มีความแม่นยำสูงขึ้นแบบไร้สาย
- Cloud Interface Registration Support Synchronization: เพิ่ม web-dashboard เฉพาะบน smartphone ผ่าน WiFi/BT เพื่อติดตามและบันทึกประวัติการเดินทางทั้งหมดอย่างแม่นยำ
- Advanced Velocity Profile Customization Support: เพิ่ม "Anti-Collision" (vCore) เฉพาะในโค้ดเพื่อให้สามารถตรวจจับ multiple tags ได้โดยอัตโนมัติสำหรับสถานีที่มีผู้คนพลุกพล่าน
Account Based Ticketing System เป็นโปรเจกต์ที่สมบูรณ์แบบสำหรับผู้ที่ชื่นชอบวิทยาศาสตร์ที่กำลังมองหาเครื่องมือรักษาความปลอดภัยที่มีการโต้ตอบและน่าสนใจยิ่งขึ้น!
promotional video available for reference!
[!IMPORTANT] การ์ด MIFARE Classic 1k ต้องใช้ Key A และ Key B ที่เป็นความลับเฉพาะเพื่อดำเนินการฟังก์ชัน MIFARE_Write มิฉะนั้นยอดคงเหลือจะไม่ได้รับการอัปเดต!