[嵌入式 + Node.js] Node.js + orange pi 開發版的門禁系統
发布于 4 年前 作者 kevinbird61 2041 次浏览 来自 分享

鑑於這個版上非常活躍 所以在上一篇<基於 json/markdown 生成網頁及LaTeX pdf 格式的 document 生成器>後,繼續分享之前做過的一個專案:門禁控制系統

項目源碼 硬體系統概觀 使用手冊

簡單說明一下當時這個系統使用的場合 是基於原有門禁是透過紅外線感應遙控器做開關門的動作 但基於原本遙控器數量不足、並且出於好玩的心態下,做了這個專案 透過間接方式來操控原本的門禁系統

硬體部份: 當初用了個簡單的麵包版加上繼電器做控制 把原本門禁系統的電源拉出來,透過我們的系統做接、斷電的動作 這麼一來,當原本系統門禁的電源是開起(也就是原本門禁系統狀態為鎖住)時,我們就可以從這裡使用我們剛剛做的模組強迫他斷電做開門、控制這段開門時間、並且再時間結束後把電源接上,達到一個擁有原本功能的狀態

硬體模組:

手繪大概控制的概念:

軟體部份: 使用 node.js 建置一個網路登入的簡單介面(express),讓使用者在連上相同網域下,可以連接此服務開啟的 port 來做使用 只要輸入系統管理者為自己設定好的密碼後,就可以做開門的動作了 那麼這兩邊的結合,就要透過開發版 - orange pi 來做使用 在上面藉由 node.js 來呼叫 wiringOP (透過 c 程式來做 “開” “關” 兩種不同 pin 腳的方式,再從 nodejs 這邊呼叫 child_process 來執行這兩支程式)做到開與關的動作

透過 wiringOP 做開關動作的 demo 影片

而在使用時,本程式碼也會紀錄每個登入者再幾點幾分開過門,以便系統管理者在當內部發生失竊或是一些事件時,可以追溯責任歸屬!

Orange PI:

這麼一來,如果系統建制時,沒有 RFID 讀卡機,也可以建立一套門禁系統! 也可以針對原本已有的門禁系統上加上這套系統,做更彈性的控制

假設有 RFID 讀卡機,對於 node.js 來說也有 node-pcsc 模組來做讀取卡片的動作,可以直接針對本程式碼中的管理帳號部份做更改即可加入 RFID 功能!

電腦版:

手機版:

以上是小弟之前做過的一個自認挺有趣的專案,在此與各位分享 如果有什麼問題也歡迎發問 也希望有同好可以一起分享經驗,謝謝!

3 回复

之前在openwrt上搭建过流媒体服务,有时间可以一起探讨下,给你👍。

@burning0xb 同好呀~ 前些日子也在 LinkIt7688 上搭載 openwrt 運行 node.js 來做一定區域內位置資訊更新的服務 不得不說 openwrt 真的很厲害

不過 node 在這些嵌入式裝置上遇到的問題就比較特別就是了 遇到問題往往會花上一些時間才解決

@kevinbird61 openwrt处理性能还不错,我的联系方式 yeling700355

回到顶部