Dopo aver presentato RFIDer, mostrando quindi come ottenere dati da un lettore rfid, e aver presentato un modo per gestire il rilevamento di movimento su una telecamera D-Link DCS-960L, ecco come unire le due cose in modo da accendere/spegnere il sistema di rilevamento tramite token rfid.
Come al solito monteremo il tutto sfruttando come unità di controllo un RaspberryPI.
Step 1: scaricate rfider (da github), copiate l’eseguibile in /home/pi/ e dategli i permessi di esecuzione.
Step 2: create in file /home/pi/cam.sh , dategli i permessi di esecuzione e poi al suo interno copiate il codice presentato nell’articolo sul controllo della D-Link DCS-960L.
Step 3: create il file /home/pi/exec.sh , dategli i permessi di esecuzione e poi al suo interno copiate il codice che segue:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
#!/bin/sh # list of valid tokens TOKENS="TOKEN1 TOKEN2 TOKEN3" # token read by RFIDer TOKEN="" # read token value sent by RFIDer read TOKEN < /dev/stdin # check if the token read is in the "valid list" OK= for CHKTOKEN in $TOKENS ; do if [ "$CHKTOKEN" = "$TOKEN" ]; then OK=1 fi done # if the token is valid call the camera ... if [ "$OK" = "1" ]; then ACTION="toggle" if [ -e /home/pi/cam.sh ]; then . /home/pi/cam.sh fi fi exit 0 |
Ricordate di sostituire TOKEN1, TOKEN2 e TOKEN3 con i numeri dei token che volete siano abilitati (nel mio caso essi sono sequenze numeriche di 10 cifre).
Step 4: cercate in /dev/input/by-id/ il file che rappresenta il vostro lettore rfid
Step 5 : modificate il file /etc/rc.local inserendo nelle righe prima di exit 0 il comando:
1 |
/home/pi/rfider -d DEVICE /home/pi/exec.sh & |
Ricordate di sostituire DEVICE con il percorso associato al vostro lettore rfid.
Step 6: riavviate il RaspberryPI.
A questo punto ogni volta che passerete un token valido vicino al vostro lettore il sistema invierà un comando di “inverti stato” al sistema di rilevamento della telecamera, così da accenderlo/spegnerlo.