RFID READER RASPBERRY PI with buzzer / relay
read rfid tag
[{"id":"bc3f258a.c27458","type":"tab","label":"Flow 1","disabled":true,"info":""},{"id":"5e5b3ef8.d653","type":"ui_button","z":"bc3f258a.c27458","name":"Open Door","group":"fc1712da.6700a","order":1,"width":"0","height":"0","passthru":false,"label":"Open Door","tooltip":"Click To Open Door","color":"white","bgcolor":"","icon":"","payload":"0","payloadType":"str","topic":"Open Door","x":110,"y":160,"wires":[["92d18d9d.95e7a","1966e4d1.d7ad5b"]]},{"id":"92d18d9d.95e7a","type":"rpi-gpio out","z":"bc3f258a.c27458","name":"Relais","pin":"40","set":true,"level":"1","freq":"","out":"out","x":510,"y":180,"wires":[]},{"id":"1966e4d1.d7ad5b","type":"delay","z":"bc3f258a.c27458","name":"","pauseType":"delay","timeout":"1","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":300,"y":240,"wires":[["1f1df09.525e00f"]]},{"id":"1f1df09.525e00f","type":"change","z":"bc3f258a.c27458","name":"switch","rules":[{"t":"set","p":"payload","pt":"msg","to":"1","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":490,"y":280,"wires":[["92d18d9d.95e7a"]]},{"id":"baedd369.637bb","type":"function","z":"bc3f258a.c27458","name":"JSON to Object","func":"msg.payload = JSON.parse(msg.payload);\nglobal.set(\"cardUID\",msg.payload);\nreturn msg;","outputs":1,"noerr":0,"x":400,"y":360,"wires":[["1ab74a07.15d3e6"]]},{"id":"1ab74a07.15d3e6","type":"debug","z":"bc3f258a.c27458","name":"Card State","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":670,"y":400,"wires":[]},{"id":"b1690c5f.6e764","type":"mysql","z":"bc3f258a.c27458","mydb":"2d8f8588.b9f5ba","name":"DB_RPI","x":280,"y":560,"wires":[["3700411.1ae37be"]]},{"id":"cc3eac5e.e90f5","type":"function","z":"bc3f258a.c27458","name":"VERIFICATION","func":"//msg.payload = JSON.parse(msg.payload);\nvar myJSON = JSON.stringify(msg.payload);\n\nvar uid = myJSON.substring(13, 21);\nglobal.set(\"uid\",uid)\nmsg.topic=\"SELECT * FROM users Where uid_users='\"+uid+\"'\";\nreturn msg;","outputs":1,"noerr":0,"x":300,"y":460,"wires":[["b1690c5f.6e764"]]},{"id":"3700411.1ae37be","type":"function","z":"bc3f258a.c27458","name":"Confirmation","func":"if (msg.payload == 0) \n{\n node.warn(\"BAD UID\");\n msg.payload = 0;\n return msg;\n}\nelse\n{\n var mem_prenom = msg.payload[0]['firstname_users'];\n var mem_nom = msg.payload[0]['lastname_users'];\n global.set(\"mem_nom\", mem_nom)\n global.set(\"mem_prenom\", mem_prenom)\n msg.payload =1;\n return msg;\n}","outputs":1,"noerr":0,"x":370,"y":700,"wires":[["84ff797b.339bf8","defaed4e.9db7c","b3f58a44.8a3bd8","b7859591.2706a8"]]},{"id":"84ff797b.339bf8","type":"function","z":"bc3f258a.c27458","name":"Envoie données","func":"var recup_uid=global.get(\"uid\")\nvar recup_nom=global.get(\"mem_nom\")\nvar recup_prenom=global.get(\"mem_prenom\")\n\nvar now = new Date(); \nvar year = now.getFullYear();\nvar month = now.getMonth()+1; \nvar day = now.getDate();\nvar hour = now.getHours();\nvar minute = now.getMinutes();\nvar second = now.getSeconds(); \nif(month.toString().length == 1) {\nvar month = '0'+month;\n}\nif(day.toString().length == 1) {\nvar day = '0'+day;\n} \nif(hour.toString().length == 1) {\nvar hour = '0'+hour;\n}\nif(minute.toString().length == 1) {\nvar minute = '0'+minute;\n}\nif(second.toString().length == 1) {\nvar second = '0'+second;\n} \ntimestamp = year+'-'+month+'-'+day+' '+hour+':'+minute+':'+second;\nvar out =\"INSERT INTO Passage(idreader_Passage,uid_Passage,firstname_Passage,lastname_Passage,newvisit_Passage)\";\nif (msg.payload == 1)\n{\n out = out + \"VALUES ('YAP-02','\"+recup_uid+\"','\"+recup_nom+\"','\"+recup_prenom+\"','\"+timestamp+\"')\";\n msg.topic= out;\n return msg;\n}\n\n","outputs":1,"noerr":0,"x":370,"y":800,"wires":[["22db8f8a.a8ef"]]},{"id":"defaed4e.9db7c","type":"debug","z":"bc3f258a.c27458","name":"Confirmation status","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":630,"y":580,"wires":[]},{"id":"22db8f8a.a8ef","type":"mysql","z":"bc3f258a.c27458","mydb":"2d8f8588.b9f5ba","name":"DB_RPI","x":360,"y":920,"wires":[["560a1a61.3fc164","9c2fb937.177898"]]},{"id":"560a1a61.3fc164","type":"debug","z":"bc3f258a.c27458","name":"Insertion status","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":580,"y":880,"wires":[]},{"id":"b1ebdd2b.d2616","type":"change","z":"bc3f258a.c27458","name":"on","rules":[{"t":"set","p":"payload","pt":"msg","to":"0","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":230,"y":320,"wires":[["92d18d9d.95e7a","1966e4d1.d7ad5b"]]},{"id":"b3f58a44.8a3bd8","type":"switch","z":"bc3f258a.c27458","name":"","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"1","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":500,"y":500,"wires":[["b1ebdd2b.d2616"]]},{"id":"b7859591.2706a8","type":"function","z":"bc3f258a.c27458","name":"build array","func":"var recup_uid=global.get(\"uid\");\nvar recup_nom=global.get(\"mem_nom\");\nvar recup_prenom=global.get(\"mem_prenom\");\nvar arr =[[recup_uid,recup_prenom,recup_nom]];\n \nif(msg.payload == 0) \n{\n msg.payload = msg.payload ;\n return msg;\n}\nelse\n{\n \n msg.payload = arr;\n return msg;\n}\n\n","outputs":1,"noerr":0,"x":630,"y":780,"wires":[["f3e4a1f.7547b6","b3b09741.4f9a28"]]},{"id":"f3e4a1f.7547b6","type":"ui_template","z":"bc3f258a.c27458","group":"fc1712da.6700a","name":"Current Passage","order":3,"width":0,"height":0,"format":"<!DOCTYPE html>\n<html>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<head>\n<style>\ntable {\n width:100%;\n}\ntable, th, td {\n border: 1px solid black;\n border-collapse: collapse;\n color:Black;\n}\ntd {\n padding: 20px;\n text-align: center;\n color:Black;\n}\nth{\n padding: 10px;\n text-align: center;\n}\ntable#t01 tr:nth-child(even) {\n background-color: #eee;\n}\ntable#t01 tr:nth-child(odd) {\n background-color: white;\n}\ntable#t01 th {\n background-color: black;\n color: white;\n}\n</style>\n</head>\n<body>\n\n<table id=\"t01\" border=\"1\" style=\"width:100%\">\n <tr>\n <th>uid<br></th>\n <th>Prenom</th> \n <th>Nom</th>\n </tr>\n <tr ng-repeat=\"row in msg.payload\">\n <td ng-repeat=\"item in row\" >{{item}}</td>\n </tr>\n</table>\n<br>\n</body>\n</html>","storeOutMessages":false,"fwdInMessages":true,"templateScope":"local","x":770,"y":1020,"wires":[[]]},{"id":"9c2fb937.177898","type":"function","z":"bc3f258a.c27458","name":"selection","func":"msg.topic=\"SELECT firstname_Passage,lastname_Passage,newvisit_Passage FROM Passage order by id_Passage Desc\";\n\nreturn msg;","outputs":1,"noerr":0,"x":350,"y":1040,"wires":[["34f5b0e.b415d5"]]},{"id":"34f5b0e.b415d5","type":"mysql","z":"bc3f258a.c27458","mydb":"2d8f8588.b9f5ba","name":"DB_RPI","x":500,"y":1040,"wires":[["8e0cb64c.758e28"]]},{"id":"8e0cb64c.758e28","type":"function","z":"bc3f258a.c27458","name":"Generation Template","func":"//var mem_uid= msg.payload[0]['uid_Passage'];\nvar mem_prenom = msg.payload[0]['firstname_Passage'];\nvar mem_nom = msg.payload[0]['lastname_users'];\nvar mem_visit =msg.payload[0]['newvisit_Passage'];\nreturn msg;","outputs":1,"noerr":0,"x":380,"y":1160,"wires":[["a304183d.2d1078"]]},{"id":"a304183d.2d1078","type":"ui_template","z":"bc3f258a.c27458","group":"98d11cc5.b2a56","name":"Passage Table","order":1,"width":"10","height":"21","format":"<!DOCTYPE html>\n<html>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<head>\n<style>\ntable {\n width:100%;\n}\ntable, th, td {\n border: 1px solid black;\n border-collapse: collapse;\n color:Black;\n}\ntd {\n padding:40px;\n text-align: center;\n}\nth {\n padding:20px;\n text-align: center;\n}\ntable#t01 tr:nth-child(even) {\n background-color: #eee;\n}\ntable#t01 tr:nth-child(odd) {\n background-color: #fff;\n}\ntable#t01 th {\n background-color: black;\n color: white;\n}\np {\n margin: 0px 0px 100px 100px;\n padding: 20px;\n}\n</style>\n</head>\n<body>\n<table id=\"t01\" border=\"1\" style=\"width:100%\">\n <tr>\n <th>Prenom</th> \n <th>Nom</th>\n <th>date/heure</th>\n </tr>\n <tr ng-repeat=\"row in msg.payload\">\n <td ng-repeat=\"item in row\" >{{item}}<br></td>\n </tr>\n</table>\n<br>\n</body>\n</html>","storeOutMessages":false,"fwdInMessages":true,"templateScope":"local","x":780,"y":1160,"wires":[[]]},{"id":"b3b09741.4f9a28","type":"debug","z":"bc3f258a.c27458","name":"build array status","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":630,"y":680,"wires":[]},{"id":"8aa49591.e4ba08","type":"delay","z":"bc3f258a.c27458","name":"","pauseType":"delay","timeout":"0.1","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":250,"y":120,"wires":[["f246d377.8a3cc"]]},{"id":"f246d377.8a3cc","type":"change","z":"bc3f258a.c27458","name":"switch","rules":[{"t":"set","p":"payload","pt":"msg","to":"1","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":430,"y":120,"wires":[["b0177191.d56f2"]]},{"id":"b0177191.d56f2","type":"rpi-gpio out","z":"bc3f258a.c27458","name":"Buzzer","pin":"7","set":true,"level":"1","freq":"","out":"out","x":460,"y":20,"wires":[]},{"id":"70e1e96b.21f348","type":"change","z":"bc3f258a.c27458","name":"Declenche Buzzer","rules":[{"t":"set","p":"payload","pt":"msg","to":"0","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":130,"y":40,"wires":[["b0177191.d56f2","8aa49591.e4ba08"]]},{"id":"85727cc5.03fcc","type":"daemon","z":"bc3f258a.c27458","name":"RFIDReader","command":"python","args":"-u /home/pi/rfidreader.py","autorun":true,"cr":true,"redo":true,"op":"string","closer":"SIGKILL","x":70,"y":400,"wires":[["baedd369.637bb","cc3eac5e.e90f5","70e1e96b.21f348"],[],[]]},{"id":"fc1712da.6700a","type":"ui_group","z":"","name":"","tab":"7c1b9fdd.94064","order":2,"disp":true,"width":"8"},{"id":"2d8f8588.b9f5ba","type":"MySQLdatabase","z":"","host":"127.0.0.1","port":"3306","db":"rpi","tz":""},{"id":"98d11cc5.b2a56","type":"ui_group","z":"","name":"YAPO door","tab":"7c1b9fdd.94064","order":1,"disp":true,"width":"10","collapse":false},{"id":"7c1b9fdd.94064","type":"ui_tab","z":"","name":"Controll Access","icon":"dashboard","disabled":false,"hidden":false}]