# Github 前端 link: https://lostmypillow.github.io/rarclient/ 前端GitHub: https://github.com/lostmypillow/rarserver 後端 link: https://rarserver.lostmypillow.duckdns.org/api/docs 後端GitHub: https://github.com/lostmypillow/rarserver ## 發想 我們在學校不管是在先鋒大樓或圖書館,進入時都需要刷卡,以確認身分,但如果遇到訪客時往往很麻煩只能人手動開啟門,或給工程卡,會大大讓整體安全性降低,所以我們希望可以開發一個系統,可以使用網站方便的更新以及管理所有我們可以進入的ID,提升安全性,並讓整個維護性提升 ## 使用情境 ### 維修站管理 在維修站中,每次維修和保養後,技師需要刷RFID卡記錄維修和保養的時間。這些信息將通過系統自動登錄至雲端系統,以便於管理和追蹤。 - 技師刷卡:技師在完成維修或保養後,使用RFID卡進行刷卡操作。 - 記錄時間:系統會記錄刷卡的時間,標記技師完成工作的時間點。 - 雲端登錄:所有的記錄會自動上傳至雲端系統,方便管理者查看和統計維修保養的歷史數據。 #### 可以改善的原因 1. 提升透明度: - 實時監控:管理者可以實時監控技師的工作狀態,確保每個維修和保養工作都被記錄。 - 追溯責任:記錄詳細的維修和保養時間,便於追溯責任,提升維修站的透明度和可信度。 2. 提高安全性: - 防止個人財產被竊取:通過記錄每次維修和保養的詳細信息,可以防止車輛或車內物品在維修期間被竊取。 - 保護個人資訊:系統化的管理可以防止維修過程中個人資訊被不當使用或泄露,增強客戶的隱私保護。 ### 出租車管理 每張RFID卡片對應至不同的出租車,並且記錄每次出車和還車的時間,以便於管理車輛的使用情況。 - 卡片對應車輛:每輛出租車配備一張RFID卡片,司機在出車和還車時需要刷卡。 - 出車還車記錄:系統會記錄每次出車和還車的時間,幫助管理車輛的使用狀況。 - 數據統計:管理者可以通過雲端系統查看各車輛的使用記錄,進行車輛調度和維護計劃。 #### 可以改善的情境 1. 勤務車:緊急服務車輛只能由授權人員啟動,防止車輛被不當使用。 2. 貨運管理:貨運司機刷卡啟動車輛,記錄每趟運輸的駕駛員、路線、時間以及負責運送的貨物序號。 ## Team Cooperation ### Arduino Side #### 分工 楊其康 ##### Task List 1. 讀卡機成功可以讀取ID,並顯示到serial monitor; Serial.begin(9600) 2. Arudino 與 樹梅派 通訊 (1) 收到從樹莓派 知道允許的ID (2) 傳送到樹莓派 請求的ID - 參考文件(https://maker.pro/raspberry-pi/tutorial/how-to-connect-and-interface-raspberry-pi-with-arduino) ### Raspberry Pi #### 分工 林家民 1. 可以與Server 的 資料庫 請求所有可以通過的ID 2. LCD 顯示請求ID 以及狀態 3. 傳送URAT 傳送給Arudino - 參考文件(https://maker.pro/raspberry-pi/tutorial/how-to-connect-and-interface-raspberry-pi-with-arduino) ### Server Side #### 分工 張高偉 劉韶軒 #### API Server(code 寫好再給我放到我的Server) 1. 拿取目前狀態 2. 讀取目前請求狀態 3. 新增通過ID 4. 刪除通過ID #### Web Side(code 寫好再給我放到我的Server) 1. 顯示狀態網頁 2. 管理ID網頁 ## 實現架構 1. RFID Card 讀取 2. RFID卡片(UID:A1 B2 C3 D4)被讀取器讀取,並將UID傳送至Arduino。 Arduino處理 3. Arduino接收到UID,並將UID傳送至Raspberry Pi(RPI)。傳送UID到伺服器 4. Raspberry Pi將接收到的UID傳送至Django伺服器進行驗證。伺服器檢查UID 5. Django伺服器檢查接收到的UID是否在允許列表中,並記錄每日和總計的嘗試次數。伺服器回應驗證結果 6. 伺服器將驗證結果(“Yes”或“No”)發送回Raspberry Pi。傳送指令到Arduino 7. Raspberry Pi根據伺服器的回應,將相應的指令(“9”或“0”)傳送給Arduino。控制LED燈 Arduino根據接收到的指令,控制LED燈的開啟或關閉。