Scartata l'ipotesi Rfid, per il costo del singolo chip Rfid scrivibile intorno ai 3-4 euro ciascuno e per il costo del programmatore di chip, una possibile soluzione e' quella di usare una Raspberry e delle normali chiavette USB per registrare i dati del passaggio
In pratica il concorrente deve inserire la chiavetta nella Raspberry ed in automatico devono inseriti i dati e la chiavetta deve essere estrarre senza smontare esplicitamente il dispositivo
La soluzione e' stata quella di usare una Raspbian minimale (senza Xwindow) ed il pacchetto Usbmount che crea automaticamente i device /media/usb, /media/usb0/ (apt-get install usbmount)
Per intercettare l'evento di inserimento della chiavetta e poter scrivere i dati sulla stessa si puo' modificare lo script /etc/usbmount/mount.d/00_create_model_symlink aggiungendo al termine del file (prima dell'exit) qualcosa del tipo
echo "luca" > /media/usb0/file.txt
in generale il sistema funziona bene anche se non e' velocissimo perche' impiega circa 5 secondi per la scrittura
ho provato anche un altro sistema ovvero creare una regola /etc/udev/rules.d/100-miaregola.rules con questo contenuto
ACTION=="add", SUBSYSTEM=="block", KERNEL=="sd[a-z]1", RUN+="/home/luca/usb.sh"
nella home ho poi ho messo uno script che doveva scrivere il file sul dispositivo USB. Curiosamente, nonostante l'evento di inserimento della penna USB venisse correttamente intercettato (ho usato logger per scrivere in syslog e verificare) la scrittura del file, nonostante tutti i tentativi di svuotare le cache, avveniva solo alla disconnessione della penna USB e quindi sul disco fisso (cioe' in /media/sdb1 ma solo quando il device era stato smontato)
scusa la chiavetta la estrai senza smontarla ? non ci sono problemi?
RispondiEliminail problema e' che questo sistema doveva funzionare headless (ovvero senza tastiera, mouse e monitor). Ho completamente cambiato sistema utilizzando una Arduino come da questo post
Eliminahttp://debiaonoldcomputers.blogspot.it/2015/08/arduino-e-ch376s.html