家里的智能化設(shè)備越來(lái)越多了,比如我現(xiàn)在家里用的門鎖可以使用密碼或者指紋解鎖,相比之前只能用鑰匙開(kāi)門的老式機(jī)械鎖,就沒(méi)有了忘記帶鑰匙而進(jìn)不去家門的煩惱了。但是我住的小區(qū)是一個(gè)90年代的老小區(qū),單元門禁還是非常老式的門禁系統(tǒng)。開(kāi)單元門只能通過(guò)樓下鑰匙,或者樓下按房間號(hào)樓上電話機(jī)開(kāi)鎖鍵開(kāi)鎖。
這種受限的開(kāi)鎖方式給日常生活帶來(lái)了一定的不便利性,比如平時(shí)上班家里沒(méi)人時(shí),經(jīng)常會(huì)有快遞員去送快遞卻進(jìn)不去單元門的問(wèn)題。此外自己偶爾也會(huì)忘記帶鑰匙,恰好碰上家里也沒(méi)人,樓下也沒(méi)人進(jìn)出的話,就會(huì)出現(xiàn)尷尬進(jìn)不去的狀況。
作為一個(gè)嵌入式工程師,咱能不能把單元門禁改進(jìn)一下,不用鑰匙使用手機(jī)就能開(kāi)鎖呢?
答案當(dāng)然是可以的!
我家里的門禁系統(tǒng)是立林的,室內(nèi)電話機(jī)型號(hào)是JB-2002II-F06,四根線和樓下的主機(jī)連接。
為了不破壞原有主機(jī),我在網(wǎng)上又單獨(dú)買了一個(gè)電話機(jī),專門用來(lái)做改造,一不小心型號(hào)買成了JB-2001II-F06,不好還好這個(gè)型號(hào)也能用,買來(lái)后連接接線端子,樓下按房間號(hào):000,就會(huì)建立起連接。如果要改為自己家的房間號(hào),需要去剪斷下圖紅框中的部分連接引腳,它對(duì)應(yīng)樓層和房間號(hào)的編碼。
要實(shí)現(xiàn)控制,首先需要了解此單元門禁的工作機(jī)制。
電話機(jī)的供電來(lái)自于樓下主機(jī),不過(guò)不是常供電,可以用萬(wàn)用表去量那幾根線,兩兩之間是沒(méi)有電壓的。只有在樓下按下房間號(hào)后,主機(jī)才會(huì)給相應(yīng)的房間電話機(jī)供電。當(dāng)室內(nèi)電話機(jī)鈴聲響起時(shí),在一定的時(shí)間內(nèi)拿起電話機(jī),再按下確認(rèn)鍵,就可以實(shí)現(xiàn)看門了。
樓下不按房間號(hào),直接用電話機(jī)是開(kāi)不了門的,另外電話鈴響起時(shí)不摘機(jī)也是開(kāi)不了門的。
要實(shí)現(xiàn)遠(yuǎn)程控制,就需要對(duì)原有的電路板做一定的修改,我們要實(shí)現(xiàn)的就是模擬摘機(jī)和按下開(kāi)鎖鍵的動(dòng)作。同時(shí)還要考慮不影響原來(lái)正常的手動(dòng)摘機(jī)開(kāi)鎖的功能。
拆開(kāi)之后,首先找到開(kāi)鎖鍵對(duì)應(yīng)的信號(hào)點(diǎn),當(dāng)按下開(kāi)鎖鍵時(shí)下圖紅框中的兩個(gè)點(diǎn)會(huì)短接。
摘機(jī)對(duì)應(yīng)的是一個(gè)叉簧開(kāi)關(guān),平時(shí)叉簧開(kāi)關(guān)是按下的狀態(tài),摘機(jī)的時(shí)候?qū)?yīng)開(kāi)關(guān)彈起來(lái)。叉簧開(kāi)關(guān)有6個(gè)引腳。
當(dāng)電話機(jī)一直掛在上面的時(shí)候,PCB上的3-1通,3-5斷,4-2通,4-6斷。然后電話摘機(jī)后,3-1斷,3-5通,4-2斷,4-6通。并且3-4是不通的。
這里我們可以通用繼電器去控制,3和4接繼電器的公共端,5和6接繼電器的常開(kāi)端,1和2接繼電器的常關(guān)端。
但是問(wèn)題來(lái)了,如果電話一直是掛機(jī)狀態(tài),3-1和4-2就一直是通的狀態(tài),你用繼電器去控制,怎么能讓其斷開(kāi)呢?
把叉簧開(kāi)關(guān)的A腳拔出來(lái),接到繼電器的NC上,繼電器的公共端接PCB的A,繼電器的NO接C腳,就可以解決上述問(wèn)題。
電話機(jī)正常使用時(shí):
因?yàn)槔^電器沒(méi)有控制,叉簧開(kāi)關(guān)的A和PCB的A接在一起,和之前叉簧開(kāi)關(guān)正常焊接時(shí)的情況是一樣的:掛機(jī)狀態(tài)下, PCB的AB通,AC斷。摘機(jī)狀態(tài)下,PCB的AB斷,AC通。
遠(yuǎn)程控制使用時(shí):
電話機(jī)處于掛機(jī)狀態(tài),還是PCB的AB通,AC斷。
繼電器一旦控制,叉簧開(kāi)關(guān)的A和PCB的A會(huì)斷開(kāi),所以PCB的AB不會(huì)再通了,而PCB的AC會(huì)通。和手動(dòng)摘機(jī)的效果完全一樣。
要實(shí)現(xiàn)遠(yuǎn)程控制,我這里使用了一個(gè)ESP-C3的小板子,加上3個(gè)繼電器,借助WIFI連接就可以實(shí)現(xiàn)遠(yuǎn)程控制。
軟件使用樂(lè)鑫提供的rainmaker示例,https://github.com/espressif/esp-rainmaker,可以在examples/led_light的例子上做簡(jiǎn)單修改,
添加上GPIO控制繼電器的代碼,再配合手機(jī)Rainmaker APP, 就可以實(shí)現(xiàn)遠(yuǎn)程開(kāi)鎖了。