หน้าแรก ดูโปรเจกต์ทั้งหมด
Expert

โปรเจกต์ Access Control ด้วย Ruby on Rails + ESP32 + RFID

โปรเจกต์ต้นแบบ Access Control โดยใช้ Ruby on Rails ร่วมกับ ESP32 และ RFID

โปรเจกต์ Access Control ด้วย Ruby on Rails + ESP32 + RFID

วิดีโอสาธิต

Video

▶ กดเพื่อดูวิดีโอสาธิตโปรเจกต์

รายการอุปกรณ์และเครื่องมือ

1x Pushbutton Switch, Pushbutton
-
1x NeoPixel Ring: WS2812 5050 RGB LED
🛒 สั่งซื้อ
1x RFID Module (Generic)
🛒 สั่งซื้อ
1x RGB LCD Shield Kit, 16x2 Character Display
-
}

รายละเอียดและวิธีทำ

***นี่คือการทดสอบแนวคิด (Proof of Concept) สำหรับธุรกิจของเรา***

ความต้องการของเรา

เราต้องการระบบ Access Control System ที่อ่านข้อมูลจาก Server (ขอเรียกว่า "Contracts Server") เพื่อตรวจสอบว่าผู้เช่าได้รับอนุญาตให้เข้าห้องทำงานของตนเองหรือไม่ โดยพิจารณาจาก:

  • เป็นห้องทำงานของเขาใช่หรือไม่?
  • หัวหน้าอนุญาตให้พนักงานอยู่ในห้องทำงานก่อนที่หัวหน้าจะมาถึงหรือไม่
  • จ่ายค่าเช่าเรียบร้อยแล้วหรือไม่?
  • ระบบควรจะรองรับสองภาษา

ดังนั้น หากไม่ใช่ห้องทำงานของเขา หรือผู้เช่าไม่ต้องการให้พนักงานอยู่ในห้องทำงานเมื่อตนเองไม่ได้อยู่ หรือหากค้างชำระค่าเช่า การเข้าถึงห้องทำงานจะถูกปฏิเสธ โดย ERP ที่เรากำลังพัฒนานั้นถูกพัฒนาด้วย Ruby on Rails

การพัฒนา Proof Of Concept:

ขั้นแรก เราสร้าง Application แบบง่ายๆ เพื่อตรวจสอบบัตร RFID โดย App ตัวนี้ยังขาดมาตรการความปลอดภัยและความถูกต้องของข้อมูล ซึ่งถูกสร้างขึ้นมาเพื่อทดสอบ Code ที่จะนำไปใช้ใน ESP32 เท่านั้น

นี่คือวิดีโอขั้นตอนการสร้าง APP

การสร้าง App บน Server ด้วย Ruby on Rails

การทดสอบ App บน Server

การปรับปรุง Code เพื่อตอบสนองต่อ ESP32

การทดสอบการตอบสนองจาก Server

การทำงานร่วมกันระหว่าง ESP32 และ Ruby on Rails App

สิ่งที่จะพัฒนาเพิ่มเติมสำหรับเวอร์ชันใช้งานจริง(production):

  • App จะควบคุมประตูมากกว่า 60 บาน ดังนั้นเราจะติดตั้ง DS2401 Transistor ในแต่ละวงจร เพื่อให้มีหมายเลข Serial Number ที่ไม่ซ้ำกัน สำหรับใช้เชื่อมโยงแต่ละประตูกับวงจร ซึ่งวงจรนั้นๆ อาจมีบัตร RFID เชื่อมต่ออยู่หลายใบ
  • Code บน Server ยังต้องปรับปรุงอีกมาก เช่น เรื่องความปลอดภัย, การตรวจสอบข้อมูล (Validation), การตั้งเวลา (Scheduling), การบันทึกกิจกรรม (Logging) ของบัตร RFID และอื่นๆ
  • เราต้องหา Library สำหรับการเข้ารหัสข้อมูลแบบ 2 ทาง (2-way encryption) ที่ส่งระหว่าง ESP32 และ Server เพื่อป้องกันการโจมตี (Hacking)
  • การสร้างเคสสำหรับวงจร (พิมพ์ด้วยเครื่องพิมพ์ 3D Printer)
  • การกำหนดกลไกต่างๆ ที่สามารถปรับใช้กับมือจับประตูที่มีอยู่ในปัจจุบันได้

Code

🔒 ปลดล็อก Code

สนับสนุนเพื่อรับ Source Code หรือแอปพลิเคชันสำหรับโปรเจกต์นี้

รหัสอ้างอิงโปรเจกต์: access-control-with-ruby-on-rails-esp32-rfid-d25b91
2450 บาท
PromptPay QR Code