python智能识别的门禁系统_用PythonPi实现门禁系统-示例
和分布式智能控制系統類似,首先實現了Python接口的API,基于圖形界面的管理界面以后視情況提供。
先看示例的接線圖:
這個示例是用樹莓派的spi接口連接了一個rc522讀卡器,以15號gpio口連接了一個led作為電鎖動作的指示,16號gpio口連接了一個開關按鈕作為出門按鈕,1號gpio口連接了一個開關按鈕模擬門狀態。實現代碼如下:
from cn.ijingxi.corpuscle.python import active
from cn.ijingxi.corpuscle.python import input
from cn.ijingxi.corpuscle.python import door
from cn.ijingxi.corpuscle.python import admin
#添加卡,卡號:-741925061
admin.addPeople(admin.PeopleType_RC522,-741925061,"people1")
#為該卡指定角色
admin.addRoleMap(admin.PeopleType_RC522,-741925061,"role1")
#定義一個門
d=door("testDoor")
#添加鎖動作,開門與關門,15號gpio口
a1=active.getGPIO("/pi1/15",active.HIGH)
a2=active.getGPIO("/pi1/15",active.LOW)
d.addLockOpen(a1)
d.addLockClose(a2)
#添加出門按鈕,16號gpio口,帶上拉電阻,提供防抖動功能
es=input.getGPIO("/pi1/16",input.PULL_UP,input.Flitter)
d.addExitSwitch(es)
#添加鎖狀態,1號gpio口,帶上拉電阻,提供防抖動功能
ls=input.getGPIO("/pi1/1",input.PULL_UP,input.Flitter)
d.addLockState(ls)
#添加讀卡器
r=input.getRC522("/pi1/rc522_r1")
d.addRecognizer(r)
#許可哪個角色可通過
d.addRole("role1",r)
#設置完畢,開始初始化
d.init()
將上述代碼在“在線編程”頁面中的代碼輸入框中輸入,點擊執行即實現了一個普通的單門門禁系統:
刷卡(卡號:-741925061),led亮,代表電鎖解除鎖門,5秒后led滅,即開門后延時5秒啟動電鎖鎖門(只是下達了鎖門的動作,如果此時門還沒有開著則電鎖不能鎖上)
按下16號gpio口所連的出門按鈕,led亮,代表電鎖解除鎖門,5秒后led滅,即開門后延時5秒啟動電鎖鎖門
門開(led亮)后,如果不按下1號口所連接的開關按鈕(代表門關閉了),led熄滅后再不會亮起。因為不關門,代表門一直開著,所以不會再次開門
刷卡或按下出門按鈕后,不等led自動熄滅就按下1號口所連接的開關按鈕,此時led立刻熄滅。即開門后只推了下門卻沒外出,所以立刻關門
刷其它卡無反應
這幾行代碼就能實現這么多功能?!這是因為door這個組件封裝了場景組件并預設了上述功能,下次我們再來詳細講解其是如何實現的
====================================================================================================
關注我的公眾號及時獲取推送的最新文章
總結
以上是生活随笔為你收集整理的python智能识别的门禁系统_用PythonPi实现门禁系统-示例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微星Z390主板双SSD+HDD,win
- 下一篇: z390能装2012服务器系统,z390