tomo

指紋認証によるドアの開錠について 2022/08/09

使用したもの

  • DS-K1T502DBWX-C・・・指紋認証機器
  • KNXスイッチアクチュエーター
  • ドア・・・24VDCの電流が流れると開錠
  • 24DC

使用するツール

  • ETS5
  • Node-RED

指紋の登録について

「DS-K1T502DBWX-C」のIPアドレスをwebに入力するとログイン画面が出てきます。

ログイン後左部にある「Person Management」を選択します。(登録した名前が記載されているため、添付している画像はぼかしています)

上部の「+Add」を押し「Employee ID」に他と登録した番号が被らないように数字を割り当てます。

下にスクロールすると下記の画面が出てくるので「+Add Fingerprint」を押し、指紋の追加を行います。

認証に成功すると下記の画像が表示されるので「Save」を押し、画面下部の「Save」を続けて押します。

下記は指紋認証の際の映像になります。

指紋認証からドア開錠までの経路について

青い四角はスイッチアクチュエーター、白い四角はドアを表しています。

指紋認証で指紋によってON/OFFにする番号をスイッチアクチュエーターに送っています。

スイッチアクチュエーターと24VDCを繋げ、スイッチのON/OFFを行うことでドアの開錠のON/OFFを行うことができます。

ETS5の設定について

グループアドレスで4つの「Lock On/Off」を作成します。

カタログから「AKS-0816.03 Switch Actuator 8-fold, 6SU, 16A」を追加します。

デバイスから「AKS-0816.03 Switch Actuator 8-fold, 6SU, 16A」のパラメーターに移動します。

パラメーター内の「Channel selection」に移動し、ChannelA~Dを「switching」から「switch impulse」に変更します。

「グループ・オブジェクト」に移動し、ChannelA~Dの「Swich pulse」それぞれにグループアドレスで作成したLock1~4をリンクさせます。

ETS5でダウンロードを押し、スイッチアクチュエーターの赤丸の部分を1秒以上押します。

Node-REDでの操作について

下記コードよりダウンロードすることができます。

[{"id":"b9f8869d33aa26e7","type":"hikvisionUltimateAccessControlTerminal","z":"10731819ba0fbc48","name":"","topic":"","server":"bb7245752565e5b5","filtermajorevent":0,"filterminorevent":"0","x":630,"y":180,"wires":[["6309133eec794a8b"],[]]},{"id":"6309133eec794a8b","type":"switch","z":"10731819ba0fbc48","name":"","property":"payload.name","propertyType":"msg","rules":[{"t":"eq","v":"tomo","vt":"str"},{"t":"eq","v":"mory","vt":"str"},{"t":"eq","v":"Taka","vt":"str"},{"t":"eq","v":"subaru","vt":"str"},{"t":"else"}],"checkall":"true","repair":false,"outputs":5,"x":830,"y":240,"wires":[["7d6da49a45fddaa2","c9f48b7705eb4f45"],["4ceabc9557961de5","6a3bc198c047ec37"],["f3352b5834097af5","f0daa65a87e45544"],["75c2bdd6aaa71f93","85eab3f05215c639"],["7c83fa5c97664804"]]},{"id":"c58609afe98ca92d","type":"knxUltimate","z":"10731819ba0fbc48","server":"087b1d6b1914833d","topic":"0/1/1","outputtopic":"","dpt":"1.001","initialread":0,"notifyreadrequest":false,"notifyresponse":false,"notifywrite":true,"notifyreadrequestalsorespondtobus":false,"notifyreadrequestalsorespondtobusdefaultvalueifnotinitialized":"0","listenallga":false,"name":"","outputtype":"write","outputRBE":true,"inputRBE":false,"formatmultiplyvalue":1,"formatnegativevalue":"leave","formatdecimalsvalue":999,"passthrough":"no","x":1540,"y":240,"wires":[["01eca66a6e888c0d"]]},{"id":"7c83fa5c97664804","type":"debug","z":"10731819ba0fbc48","name":"debug 19","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1120,"y":540,"wires":[]},{"id":"14c9f8e62b892317","type":"knxUltimate","z":"10731819ba0fbc48","server":"087b1d6b1914833d","topic":"0/1/0","outputtopic":"","dpt":"1.001","initialread":0,"notifyreadrequest":false,"notifyresponse":false,"notifywrite":true,"notifyreadrequestalsorespondtobus":false,"notifyreadrequestalsorespondtobusdefaultvalueifnotinitialized":"0","listenallga":false,"name":"","outputtype":"write","outputRBE":true,"inputRBE":false,"formatmultiplyvalue":1,"formatnegativevalue":"leave","formatdecimalsvalue":999,"passthrough":"no","x":1540,"y":120,"wires":[["01eca66a6e888c0d"]]},{"id":"7d6da49a45fddaa2","type":"change","z":"10731819ba0fbc48","name":"ex","rules":[{"t":"set","p":"payload","pt":"msg","to":"true","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":1170,"y":120,"wires":[["14c9f8e62b892317"]]},{"id":"c9f48b7705eb4f45","type":"delay","z":"10731819ba0fbc48","name":"","pauseType":"delay","timeout":"0.5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":1110,"y":60,"wires":[["1118f95518192768"]]},{"id":"1118f95518192768","type":"change","z":"10731819ba0fbc48","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"false","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":1280,"y":60,"wires":[["14c9f8e62b892317"]]},{"id":"4ceabc9557961de5","type":"change","z":"10731819ba0fbc48","name":"ex","rules":[{"t":"set","p":"payload","pt":"msg","to":"true","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":1190,"y":240,"wires":[["c58609afe98ca92d"]]},{"id":"6a3bc198c047ec37","type":"delay","z":"10731819ba0fbc48","name":"","pauseType":"delay","timeout":"0.5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":1130,"y":180,"wires":[["d820484c5047571e"]]},{"id":"d820484c5047571e","type":"change","z":"10731819ba0fbc48","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"false","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":1300,"y":180,"wires":[["c58609afe98ca92d"]]},{"id":"85eab3f05215c639","type":"change","z":"10731819ba0fbc48","name":"ex","rules":[{"t":"set","p":"payload","pt":"msg","to":"true","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":1170,"y":380,"wires":[["c65c36e44950564a"]]},{"id":"75c2bdd6aaa71f93","type":"delay","z":"10731819ba0fbc48","name":"","pauseType":"delay","timeout":"0.5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":1130,"y":440,"wires":[["2da1f6b36071532f"]]},{"id":"2da1f6b36071532f","type":"change","z":"10731819ba0fbc48","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"false","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":1300,"y":440,"wires":[["c65c36e44950564a"]]},{"id":"c65c36e44950564a","type":"knxUltimate","z":"10731819ba0fbc48","server":"087b1d6b1914833d","topic":"0/1/3","outputtopic":"","dpt":"1.001","initialread":0,"notifyreadrequest":false,"notifyresponse":false,"notifywrite":true,"notifyreadrequestalsorespondtobus":false,"notifyreadrequestalsorespondtobusdefaultvalueifnotinitialized":"0","listenallga":false,"name":"","outputtype":"write","outputRBE":true,"inputRBE":false,"formatmultiplyvalue":1,"formatnegativevalue":"leave","formatdecimalsvalue":999,"passthrough":"no","x":1520,"y":400,"wires":[["01eca66a6e888c0d"]]},{"id":"f3352b5834097af5","type":"change","z":"10731819ba0fbc48","name":"ex","rules":[{"t":"set","p":"payload","pt":"msg","to":"true","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":1230,"y":280,"wires":[["da9d0791f3a9d131"]]},{"id":"f0daa65a87e45544","type":"delay","z":"10731819ba0fbc48","name":"","pauseType":"delay","timeout":"0.5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":1190,"y":340,"wires":[["a95e91ca8d51865f"]]},{"id":"a95e91ca8d51865f","type":"change","z":"10731819ba0fbc48","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"false","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":1360,"y":340,"wires":[["da9d0791f3a9d131"]]},{"id":"da9d0791f3a9d131","type":"knxUltimate","z":"10731819ba0fbc48","server":"087b1d6b1914833d","topic":"0/1/2","outputtopic":"","dpt":"1.001","initialread":0,"notifyreadrequest":false,"notifyresponse":false,"notifywrite":true,"notifyreadrequestalsorespondtobus":false,"notifyreadrequestalsorespondtobusdefaultvalueifnotinitialized":"0","listenallga":false,"name":"","outputtype":"write","outputRBE":true,"inputRBE":false,"formatmultiplyvalue":1,"formatnegativevalue":"leave","formatdecimalsvalue":999,"passthrough":"no","x":1540,"y":300,"wires":[["01eca66a6e888c0d"]]},{"id":"01eca66a6e888c0d","type":"debug","z":"10731819ba0fbc48","name":"debug 20","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1800,"y":260,"wires":[]},{"id":"bb7245752565e5b5","type":"AccessControl-config","host":"192.168.1.80","port":"80","name":"Access Control Device","protocol":"http","deviceinfo":"{\"?xml\":\"\",\"DeviceInfo\":{\"deviceName\":\"Access Control Device\",\"deviceID\":255,\"deviceDescription\":\"ACS\",\"deviceLocation\":\"hangzhou\",\"systemContact\":\"Hikvision.China\",\"model\":\"DS-K1T502DBFWX-C\",\"serialNumber\":\"DS-K1T502DBFWX-C20221219V010702ENAA7043003\",\"macAddress\":\"bc:5e:33:56:9f:8d\",\"firmwareVersion\":\"V1.7.2\",\"firmwareReleasedDate\":\"build 221219\",\"encoderVersion\":\"V1.7.2.build 221219\",\"deviceType\":\"ACS\",\"supportBeep\":false,\"supportVideoLoss\":true,\"alarmOutNum\":1,\"RS485Num\":1,\"bspVersion\":\"V1.5.0.524831 build 2022-12-08,15:06:25\",\"dspVersion\":\"1.7.1.530786 build 2022-12-06,11:23:59\",\"OEMCode\":0,\"marketType\":2,\"customizedInfo\":\"\"}}","authentication":"digest"},{"id":"087b1d6b1914833d","type":"knxUltimate-config","host":"192.168.1.66","port":"3671","physAddr":"15.15.22","hostProtocol":"TunnelUDP","suppressACKRequest":false,"csv":"","KNXEthInterface":"Wi-Fi","KNXEthInterfaceManuallyInput":"","statusDisplayLastUpdate":true,"statusDisplayDeviceNameWhenALL":true,"statusDisplayDataPoint":false,"stopETSImportIfNoDatapoint":"stop","loglevel":"error","name":"KNX Gateway","localEchoInTunneling":true,"delaybetweentelegrams":"50","delaybetweentelegramsfurtherdelayREAD":"1","ignoreTelegramsWithRepeatedFlag":false,"autoReconnect":"yes"}]

「Access Control Terminal」ノードで「DS-K1T502DBWX-C」からの信号を受信するために「DS-K1T502DBWX-C」のIPアドレスを設定しています。

「switch」ノードでは指紋登録の際に登録した「name」で区別しています。区別後、該当した番号に「false」が送られるので、ドアを開錠させるために「change」ノードで「true」に変更しています。

「KNX DEVICE」ノードでは「Gateway」にIPアドレス、「Group Addr.」にETS5で作成したグループアドレスの値を入植します。

このままだと指紋認証後にONのみの命令が送られてしまっており、2度目の連続した開錠命令は「KNX DEVICE」ノードでblockされてしまうため、「delay」ノードを使用し「false」を「KNX DEVICE」ノードに送るようにしています。

下記は実際にドアの開錠を行っている映像になります。