ชื่อโปรเจกต์: Access Control with Ruby on Rails + ESP32 + RFID
***นี่คือการพิสูจน์แนวคิดสำหรับธุรกิจของเรา***
ความต้องการของเรา
เราต้องการ Access Control System ที่อ่านข้อมูลจากเซิร์ฟเวอร์ (สมมติว่าเป็น "Contracts Server") เพื่อตรวจสอบว่าผู้เช่าได้รับอนุญาตให้เข้าถึงสำนักงานของตนเองหรือไม่ โดยพิจารณาจาก:
- เป็นสำนักงานของเขา/เธอหรือไม่?
- หัวหน้าของเขา/เธออนุญาตให้พนักงานเข้าสำนักงานก่อนที่หัวหน้าจะมาถึงหรือไม่
- ชำระค่าเช่าแล้วหรือยัง?
- ควรรองรับสองภาษา
ดังนั้น หากไม่ใช่สำนักงานของเขา/เธอ หรือผู้เช่าไม่ต้องการให้พนักงานของเขา/เธออยู่ในสำนักงานในขณะที่เขา/เธอไม่อยู่ หรือหากค่าเช่าค้างชำระ การเข้าถึงสำนักงานควรถูกปฏิเสธ ERP ที่เรากำลังพัฒนาถูกพัฒนาด้วย Ruby on Rails
การพัฒนา Proof Of Concept:
อันดับแรก เราสร้างแอปพลิเคชันที่เรียบง่ายอย่างยิ่งที่ใช้ตรวจสอบบัตร RFID แอปพลิเคชันที่เรียบง่ายนี้ขาดมาตรการความปลอดภัยและความสมบูรณ์ของข้อมูลทั้งหมด โดยถูกสร้างขึ้นเพื่อวัตถุประสงค์เดียวคือการทดสอบโค้ดที่จะใช้ใน ESP32
นี่คือวิดีโอสำหรับการสร้างแอปพลิเคชัน
สิ่งที่ต้องพัฒนาสำหรับเวอร์ชันสุดท้าย (production):
- แอปพลิเคชันจะควบคุมประตูมากกว่า 60 บาน ดังนั้นเราจะติดตั้งทรานซิสเตอร์ DS2401 บนแต่ละวงจรเพื่อให้มีหมายเลขซีเรียลเฉพาะที่จะใช้สำหรับเชื่อมโยงประตูแต่ละบานกับแต่ละวงจร ซึ่งอาจมีบัตร RFID หลายใบที่เชื่อมโยงอยู่
- โค้ดบนเซิร์ฟเวอร์ต้องการการปรับปรุงอีกมาก เช่น ด้านความปลอดภัย, การตรวจสอบความถูกต้อง, การจัดกำหนดการ, การบันทึกกิจกรรมของบัตร RFID และอื่นๆ
- เราจำเป็นต้องหาไลบรารีสำหรับการเข้ารหัสแบบสองทางของข้อมูลที่ส่งจาก ESP32/เซิร์ฟเวอร์ เพื่อป้องกันการโจมตี (hacking)
- สร้างกล่องสำหรับวงจร (พิมพ์ด้วยเครื่องพิมพ์ 3D)
- กำหนดกลไกหลายอย่างที่สามารถปรับให้เข้ากับมือจับประตูที่มีอยู่ได้ในปัจจุบัน
รายละเอียดทางเทคนิคเพิ่มเติม
การผสานรวม IoT แบบ Full-Stack
โครงการนี้เชื่อมโยงระหว่างฮาร์ดแวร์ระดับต่ำและเฟรมเวิร์กเว็บระดับมืออาชีพ สร้างระบบควบคุมการเข้าถึงที่แข็งแกร่งและพร้อมใช้งานในระดับองค์กร
- Microcontroller Hub: ESP32 ทำหน้าที่เป็นตัวควบคุมหลัก โดยใช้ WiFi ในตัวเพื่อสื่อสารกับเซิร์ฟเวอร์ระยะไกล มันเชื่อมต่อกับ RC522 RFID reader เพื่อสแกนแท็กแต่ละตัว
- Ruby on Rails Backend: เซิร์ฟเวอร์สร้างขึ้นด้วย Ruby on Rails ซึ่งจัดการฐานข้อมูล PostgreSQL ของผู้ใช้ที่ได้รับอนุญาตและบันทึกการเข้าถึง ESP32 ส่ง POST request พร้อมกับ UID ที่สแกน และ Rails API จะตอบกลับด้วยสถานะ 'authorized' หรือ 'denied'
คุณสมบัติความปลอดภัยขั้นสูง
- Real-Time Web Dashboard: ผู้ดูแลระบบสามารถตรวจสอบความพยายามในการเข้าถึงได้แบบเรียลไทม์ผ่านเว็บอินเทอร์เฟซที่ปลอดภัย
- Digital Logs: การเข้าและออกทุกครั้งจะถูกประทับเวลาและบันทึกไว้ เพื่อให้มีบันทึกการตรวจสอบที่สมบูรณ์สำหรับการปฏิบัติตามข้อกำหนดด้านความปลอดภัยในสภาพแวดล้อมสำนักงานหรือห้องปฏิบัติการที่ทันสมัย