開門大師製作成功!!!~~~以後可以用磁扣、悠遊卡、Combo 信用卡、公司的門卡來開自家門了~
前陣子買了 RFID RC522 (13.56 MHz) 就一直很想拿掃描機來作個應用
週末有空就作個開門大師
整理一下遇到的問題
家裡的對講機是2、30年前姨丈來安裝的鳥牌門鎖與明治對講機
對講機的最下面「米」鍵按鈕,是開門按鈕
上網找了一下對講機開門的功能,找到了一個影片
https://www.youtube.com/watch?v=8DrBirOzoZo
弱電通小羅分享
另一個分享是 yee 分享的 修復門鈴對講機 Repair doorbell intercom
這個對講機的設計跟我家的長得很像,十分感謝
看完影片大置上理解,只要 EL 與 - 接在一起,就等於按下開關讓開門的功能作動
開門的電是 AC 聽說是 24V (羽山量到的好像是 66V)
總之最難的這步要先會才行,來到二樓對講機
拿起話筒,話筒蓋著一顆小支的十字螺絲,拆開
就可以把面板蓋往上拿起來,設計的相當好
拆開的樣子
另一個角度,相當複雜混亂,2、30年沒人去動它
以前的材料都很耐用
按鈕蓋上、下二顆十字拆下,可以發現只有二條電線連接
手指的這個 EL 接點就是開門的接點,接觸面很多銹
等會拿砂紙磨一磨
然後面板最下面的電線,黑線鎖在最下面那排的鐵片
裡面應該就是一個彈簧,按鈕按下會回彈,接點的地方也有點生銹
這時就要去找 EL 接去哪,然後開關連去哪
EL 就是這,食指與中指,指的這二個
磨完接點,用三用電表確認是短路,接點找出
然後按鈕座與這個-應該是負極,連在一起
所以只要連接 EL 與 -門就會打開
上蝦皮找的配線圖,我一開始看配線圖以為要接 B 與 CS
這裡也感謝小奈奈在 FB 裡提醒我怎麼接
果然把不會的東西往 FB 一貼,會的人就會教你^^
確定對講機的接點 EL 與 - 後,先把對講機裝回
拿出 Nodemcu 練習 Relay 電路,Relay 會使用 Com 與 NO 去接對講機的開關
當 Nodemcu 收到 mqtt 開門的指令,就讓 Relay 運作 300ms
即可以開門
羽山每次用這個現成的模組都用得很頭大,不知道為啥很常發生靈異現象
我把 VCC 接 5V GND 接地
然後拿起子直接插著 GND、IN 短路,明明是低電位,繼電器還在那亂跳
用的很無語,後來受不了,直接把電路板剪掉,直接留繼電器的原始接點...
剪掉後的電路圖,練習一下能不能正常運作
這樣就不會沒事亂開門了...
而且這個電路一定要多測幾次,比如剛過電,Relay 絕對不可以動作
不然門會開,多測幾次,最終使用的Nodemcu 腳位是 D2
再接下拉電阻 10KΩ
電路圖,羽山使用 Nodemcu V1 開發
使用電晶體 5609 驅動 5V Relay
5609 是 NPN 型
也可以用常見的 2SC1815 或 8050 替代
Relay 導通時間我是設 300ms
Relay導通電阻我量起來是 68.6 Ω (算70Ω)
I=V/R , so
5/70 = 0.071A = 71mA
P = V*I , so
5*0.071 ~= 0.357w
電流跟瓦特都很小,電晶體應該沒啥問題
另外就是 Relay 要接一個二極體(flyback diode)
可以避免突波弄壞東西
總之就作好了,這就是開門大師的核心~~
利用室內 wifi 與 mqtt 去控 relay 讓 EL 與 - 導通開門
端子作好了
再次確認
接上
OK
開門大師 Ring Relay 插電,開始運作
完成度 50 %
繼電器的雷區:
1、D2 跟 D1 接腳太近,加上中間有一些焊油,就發生虛接,繼電器沒事就一直開開關關,門也開開關關
2、接腳的選擇,要避免一過電就先 HIGH 的接腳,可能跟後來羽山接下拉電阻10KΩ後就修正也有關係
3、On boot up pins go high! Issue
digitalWrite(RELAY_PIN, LOW); // ☆☆☆
pinMode(RELAY_PIN, OUTPUT);
digitalWrite(RELAY_PIN, LOW); //HIGH 時開門
在宣告 pinMode 前,就先 LOW 它,一般書裡好像沒這樣教,不過實際後好像可以
詳細也可以參考 PeteKnight 的回答:
https://community.blynk.cc/t/on-boot-up-pins-go-high/10845/41?page=3
感謝 PeteKnight
不過我覺得下拉電阻更重要,反正全都作…
第二步就是大門的 RFID 掃描
插板練習 RFID
接個蜂嗚器,刷卡時會嗶
之前買了一些 W2812B Pixel LED 5V 也拿來作呼吸燈效果
練習成功
這是整理後的電路圖
實測後,羽山後來不接 RST 這支腳
因為遇到「RFID stops reading after some hours」
其實也不用到數小時,大概5~10分鐘,就沒反應了
可參閱:https://github.com/miguelbalboa/rfid/issues/540
參照 ScreamZ 的分享
把 RST 移除,然後宣告
MFRC522 mfrc522(SS_PIN,RST_PIN);
改成 ↓↓↓
MFRC522 mfrc522(SS_PIN,MFRC522::UNUSED_PIN);
目前測試下來就正常了,才不會用一段時間後就沒反應...
練習差不多了,組裝
RFID 大小 長,約6.5cm
寬 約 4cm
本來想用 ABS 板作,但手太憨
作完實在沒啥美感
最後去小北百貨先買個盒子裝著,考量 debug 可能還會拆拆裝裝,這樣比較好施工
等穩定後,再把盒子移到家裡,把線拉出門即可
裝好了,盒子鑽幾個孔,束帶拉二條,通電
呼吸燈~~~
夜晚與白天的亮度可調整,白天不太需要亮,用 MQTT 把亮度調小
mqtt 讀取 payload 判斷
0 不開門亮紅燈
1 可以開門亮綠燈
另外再加上呼吸燈的亮度可調 30 ~ 5
白天呼吸燈沒啥用,調 5 省些電,晚上再調亮些炫炮
RGB 144 W2812B Pixel LED 燈條真是好東西
可以進門的卡片管控
刷卡就發 notify 與即時影片、影像
開門大師相當成功,希望運作順利
2024-08-31 補充:
自製開門大師目前也用了二個月,第一個禮拜遇到 wifi 斷線、mqtt 斷線,增加修正如下:
1. 增加了每10秒 ping 一次 3wa 主機
如果 ping 不到就重連 wifi 與 mqtt,重連三次仍無法連線的話會進行 ESP.restart(); 重開機
2. 斷線時也會改亮黃燈,久久會看到一次,不過都能在5秒內恢復運作
3. 即將重開機亮紅燈
4. 日間 RGB 亮度再減半
5. 利用 mqtt RGB 顏色
運作得相當好,開門沒失敗過,喜歡 DIY 的同學是個很好專題
對面的鄰居跟媽媽聊天聊到這個藍色呼吸盒子是做什麼,我媽快樂的展示開門功能,哈哈哈