Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

acquisizione dati da lettore di badge

317 views
Skip to first unread message

Antonio Biso

unread,
Sep 28, 2010, 3:03:10 AM9/28/10
to
Devo intervenire per realizzare un gestionale di una palestra.
Hanno già un software ma vogliono prendere qualcosa di personalizzato.

Il mio problema più grosso è la gestione degli accessi, con la lettura del
badge.

Esiste già il lettore che sblocca il tornello se l'utente ha pagato
l'abbonamento o ha acquistato un corso.
E va beh.

Ma non ho mai lavorato con l'acquisizione, immagino su seriale, di un
lettore di badge.

Come arrivano i dati normalmente al PC? Quale è il metodo migliore poi di
gestire questi dati ricevendoli da fuori?
So che è come l'input da tastiera in una maschera collegata ad una tabella,
però ecco, mi manca un po' di base.

Consigli?
Dove trovare un po' di documentazione in merito?

Grazie

Antonio

P.S.
Ho in mente di far sostituire il lettore di badge con una tastierina per
inserimento di pin (evita la dimenticanza del badge).
Cosa cambia? Dove cercare per questo acquisto?


BFS

unread,
Sep 28, 2010, 5:02:37 AM9/28/10
to

io per comunicare con i registratori di cassa ho preso spunto da qui

http://support.microsoft.com/kb/639415

credo sia la stessa cosa per il tuo caso...si tratta di inviare dati
alla seriale e di leggere le risposte e viceversa...
ovviamente nel manuale del badge dovresti avere la sintassi delle
stringhe da inviare e ricevere

ciao
BFS

BFS

unread,
Sep 28, 2010, 5:05:24 AM9/28/10
to
Il 28/09/2010 09:03, Antonio Biso ha scritto:

qui trovi pure un mdb di test
http://www.riolab.org/attachments/140_rs232.zip


ciao
BFS

Antonio Biso

unread,
Sep 30, 2010, 9:58:48 AM9/30/10
to
"BFS" <B...@BFSBFS.it> ha scritto nel messaggio
news:4ca1afdf$0$12119$4faf...@reader4.news.tin.it...

Mi sto guardando queste cose, però una cosa mi sfugge:

come si fa a far interfacciare continuamente il software in access con il
lettore seriale?
Come scrive l'accesso in tabella, per poi lanciare le funzioni di controllo
accessi e eventuamente tutte quelle che interagiscono con le lezioni
prenotate e cose di questo tipo, insomma codice per modificare i dati in
tabella?


Antonio


pablitomf

unread,
Sep 30, 2010, 10:29:45 AM9/30/10
to
On 30 Set, 15:58, "Antonio Biso" <ab...@libero.it> wrote:
> "BFS" <B...@BFSBFS.it> ha scritto nel messaggionews:4ca1afdf$0$12119$4faf...@reader4.news.tin.it...

http://msdn.microsoft.com/it-it/library/7ya7y41k%28VS.80%29.aspx

pablitomf

unread,
Sep 30, 2010, 10:31:36 AM9/30/10
to
On 30 Set, 15:58, "Antonio Biso" <ab...@libero.it> wrote:
> "BFS" <B...@BFSBFS.it> ha scritto nel messaggionews:4ca1afdf$0$12119$4faf...@reader4.news.tin.it...

Nello specifico :
http://www.it-lang-vb.net/Documentazione/Articoli/MSCOMM.htm

BFS

unread,
Sep 30, 2010, 12:42:49 PM9/30/10
to

tu mandi stringe e il lettore ti restituisce stringe....devi essere tu a
interpretare la stringa di risposta...elaborarla e popolare le tue
tabelle. Ovviamente serve il manuale tecnico del lettore

ciao
BFS

radicale 001

unread,
Sep 30, 2010, 12:52:07 PM9/30/10
to
On 30 Set, 16:29, pablitomf <pablit...@virgilio.it> wrote:

>
> http://msdn.microsoft.com/it-it/library/7ya7y41k%28VS.80%29.aspx

Minkia ... Interessante !
Come fai a trovare le cose cosi' facilmente in internet ?

Ma spiegami : gli devo fare un ciclo infinito sulla porta, no ?
Del tipo :

do while true
if arrivata_stringa_nuova( ... ) then
s = leggi_stringa( ... )
segnala_come_letta( ... )
gestisci_stringa(s, ...)
endif
loop

Ultima domanda :
come faccio a sapere quale porta e' ?

pablitomf

unread,
Oct 1, 2010, 2:23:55 AM10/1/10
to

Io non credo che lui abbia chiesto ciò... io credo che lui chieda come
fare a "ricevere" informazioni senza inviarne... es. la scheda passa
nel lettore, è il lettore che invia alla seriale del PC e non il
contrario... lui chiede come fare non ad interpretare ciò che riceve,
ma come fa a metter su un sistema vba che "ascolti" ciò che passa
sulla seriale (senza aver chiesto nulla alla seriale)...

pablitomf

unread,
Oct 1, 2010, 2:48:03 AM10/1/10
to
On 30 Set, 18:52, radicale 001 <radicale....@gmail.com> wrote:
> On 30 Set, 16:29, pablitomf <pablit...@virgilio.it> wrote:
>
>
>
> >http://msdn.microsoft.com/it-it/library/7ya7y41k%28VS.80%29.aspx
>
> Minkia ... Interessante !
> Come fai a trovare le cose cosi' facilmente in internet ?

Così?
http://lmgtfy.com/?q=VB+inviare+stringhe+porte+seriali


> Ma spiegami : gli devo fare un ciclo infinito sulla porta, no ?
> Del tipo :
>
> do while true
>     if arrivata_stringa_nuova( ... )  then
>        s = leggi_stringa( ... )
>        segnala_come_letta( ... )
>        gestisci_stringa(s, ...)
>     endif
> loop

Mai affrontato come problematica quindi non ti saprei dire con
certezza, ma non credo che un ciclo infinito sia la risposta... un
"ascoltatore" tipo DataArrival del Winsok sarebbe l'ideale...

> Ultima domanda :
> come faccio a sapere quale porta e' ?

glielo dici tu :
My.Computer.Ports.OpenSerialPort("COM1")

o scegli :
Sub GetSerialPortNames()
' Vedi tutte le porte COM attive
For Each sp As String In My.Computer.Ports.SerialPortNames
Msgobox(sp)
Next
End Sub


radicale.002

unread,
Oct 1, 2010, 3:03:20 AM10/1/10
to
On 1 Ott, 08:48, pablitomf <pablit...@virgilio.it> wrote:

> Mai affrontato come problematica quindi non ti saprei dire con
> certezza, ma non credo che un ciclo infinito sia la risposta... un
> "ascoltatore" tipo DataArrival del Winsok sarebbe l'ideale...

Non ci capisco niente, francamente.
Cioe' voglio dire :
dovrei
a)
installare l' ascoltatore
b)
Referenziarlo caricando la libreria nel progetto
c)
e poi interfacciarlo dall' applicazione

... Na parola ! :-(

> glielo dici tu :
> My.Computer.Ports.OpenSerialPort("COM1")

Cos' il "My" ? Un oggetto intrinseco o lo devo referenziare
aggiungendo una libreria al progetto ?

> o scegli :
> Sub GetSerialPortNames()
>     ' Vedi tutte le porte COM attive
>     For Each sp As String In My.Computer.Ports.SerialPortNames
>         Msgobox(sp)
>     Next
> End Sub

Grandioso.

pablitomf

unread,
Oct 1, 2010, 3:10:28 AM10/1/10
to
> > glielo dici tu :
> > My.Computer.Ports.OpenSerialPort("COM1")
>
> Cos' il "My" ? Un oggetto intrinseco o lo devo referenziare
> aggiungendo una libreria al progetto ?

Ti stai dimenticando una cosa... questo è VB... devi adattarlo...

...
Facciamo che ti riporto la FAQ 8.2 di Karl che ha trattato
l'argomento...

Problema
Nella tua applicazione di Access, vuoi comunicare con la porta seriale
(RS232), cioè leggere e/o scrivere dati.

Soluzione
Un modo facile per comunicare con la porta seriale è dato dal
controllo ActiveX gratuito di Richard Grier:
http://home.comcast.net/~hardandsoftware/xmcomm.htm

MS fornisce l' MSComm32.ocx che, p. e., si ottiene con VB6.
Esso funziona con Access, però ti è consentito utilizzarlo solo se hai
la licenza di VB. Documentazioni:
http://www.it-lang-vb.net/Documentazione/Articoli/MSCOMM.htm
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/comm98/html/vbobjcomm.asp
(inglese)

A parte questo, devi utilizzare codice API complesso per comunicare
con l'interfaccia:
http://support.microsoft.com/?scid=kb;it;639415

radicale.002

unread,
Oct 1, 2010, 3:38:08 AM10/1/10
to
On 1 Ott, 09:10, pablitomf <pablit...@virgilio.it> wrote:
> > > glielo dici tu :
> > > My.Computer.Ports.OpenSerialPort("COM1")
>
> > Cos' il "My" ? Un oggetto intrinseco o lo devo referenziare
> > aggiungendo una libreria al progetto ?
>
> Ti stai dimenticando una cosa... questo è VB... devi adattarlo...
>
> ...
> Facciamo che ti riporto la FAQ 8.2 di Karl che ha trattato
> l'argomento...
>
> Problema
> Nella tua applicazione di Access, vuoi comunicare con la porta seriale
> (RS232), cioè leggere e/o scrivere dati.
>
> Soluzione
> Un modo facile per comunicare con la porta seriale è dato dal
> controllo ActiveX gratuito di Richard Grier:http://home.comcast.net/~hardandsoftware/xmcomm.htm
>
> MS fornisce l' MSComm32.ocx che, p. e., si ottiene con VB6.
> Esso funziona con Access, però ti è consentito utilizzarlo solo se hai
> la licenza di VB. Documentazioni:http://www.it-lang-vb.net/Documentazione/Articoli/MSCOMM.htmhttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/comm...

> (inglese)
>
> A parte questo, devi utilizzare codice API complesso per comunicare
> con l'interfaccia:http://support.microsoft.com/?scid=kb;it;639415

Azz ... Ne sai una piu' del diavolo.
Grazie ! Faro' tesoro di questo 3D.

Alessandro Cara

unread,
Oct 1, 2010, 3:51:28 AM10/1/10
to
Leggesse il file di testo che sti attrezzi generano.
--
ac

BFS

unread,
Oct 1, 2010, 4:04:03 AM10/1/10
to

credevo fosse tipo il classico timbratore presenze...quando ho bisogno
di scaricare i dati devo mandargli un comando...bhe cmq cambia
poco...anzi si semplifica..basta lasciare la porta sempre aperta in
ascolto...presumo che ogni stringa che arriva avrà un terminatore per
capire quando ha finito di trasmettere

ciao
BFS

pablitomf

unread,
Oct 1, 2010, 7:10:14 AM10/1/10
to

Si ma il problema, ripeto, non è l'invio, ma proprio l'ascolto...in
access non c'è un oggetto nativo che "origlia"... devi creare o loop
infiniti di ascolto, o dare in pasto l'ascolto a uno strumento esterno
(winsock?) con il suo DataArival...

pablitomf

unread,
Oct 1, 2010, 7:15:24 AM10/1/10
to
On 1 Ott, 09:51, Alessandro Cara <alessandro.c...@ay-1anetwork.it>
wrote:

certo... ma come detto, credo che la domanda sia rivolta più che altro
a "come far capire ad Access" che il file di sti attrezzi è stato
generato (nel senso di "quando" interrogare l'attrezzo)..
Stando all'utilizzo che lui a quanto pare vuol farne, mi immagino un
tizio che entra in palestra e con il suo badge striscia... l'aggeggio
in questo caso produce una stinga che invia alla seriale... è a questo
punto che deve intervenire Access è "ascoltare" la stringa inviata...
per cui 2 son le cose, o Access sta sempre in ascolto (il che la dice
lunga sulle complicazioni a riguardo), o ci si appoggia a un oggetto
esterno che ascolta per lui, "accenndo" access quando deve.

Alessandro Cara

unread,
Oct 1, 2010, 7:30:02 AM10/1/10
to

E che sara' mai. Qui l'uso dei timer(s) e' frequente come le smentite di
berlusconi. Comunque al tempo, parecchio fa e non con access ma fa lo
stesso, leggevo quel famoso file quando mi serviva (i.e. quando l'utente
faceva qualcosa che richiedeva i dati aggiornati) tempo di attesa
ridicolo non mi perdevo mai nulla e potevo fare anche "recovery"
(situazione da non sottovalutare) quando necessario. Lasciavo fare al
software proprietario, in genere fornito insieme all'hardware, quello
che sapeva fare benissimo mentre io mi occupavo della parte gestionale.
Se dovessi fare un software di gestione del pezzo di ferro non lo farei
certamente in access.
--
ac

pablitomf

unread,
Oct 1, 2010, 11:13:21 AM10/1/10
to
On 1 Ott, 13:30, Alessandro Cara <alessandro.c...@ay-1anetwork.it>

Appunto... roba esterna. ;)

Alessà, hai msn?... volevo chiederti una cosa... il mio è :
pablitomf....(at)....hotmail...(poit)...it

Alessandro Cara

unread,
Oct 1, 2010, 12:10:47 PM10/1/10
to
msn? che e'? Quella roba che fa una specie di chat? Usavo skype e in
momenti di follia usavo anche la CAM ma dopo aver reinstallato il SO un
paio di volte ho lasciato stare. Possiamo usare le e-mail oppure ti
mando il mio numero mobile se e' una cosa piu' intima ;-{)
> pablitomf....(at)....hotmail...(poit)...it
acquisito
--
ac

Pablitomf (da casa)

unread,
Oct 1, 2010, 1:32:35 PM10/1/10
to

>> pablitomf....(at)....hotmail...(poit)...it

> acquisito

La tua mail?


Alessandro Cara

unread,
Oct 1, 2010, 2:36:38 PM10/1/10
to
e' quella in header con la dovuta modifica y-1=x
Ma quella che hai scritto non e' la tua email vero?
--
ac

Pablitomf (da casa)

unread,
Oct 1, 2010, 2:38:07 PM10/1/10
to

"Alessandro Cara" <alessan...@ay-1anetwork.it> ha scritto nel messaggio
news:kTppo.11159$%a.1...@tornado.fastwebnet.it...

si che č la mia mail... con i dovuti accorgimenti, ma č la mia...


Antonio Biso

unread,
Oct 30, 2010, 10:49:09 AM10/30/10
to
"pablitomf" <pabl...@virgilio.it> ha scritto nel messaggio
news:c4dfa21f-0e1d-4b57...@a15g2000yqm.googlegroups.com...

Ritorno sull'argomento, temporaneamente accantonato ma mo me tocca.

Allora, mi sta bene che devo studiare il manuale del tornello per vedere
come sputa stringhe.
Cmq leggera un badge che da un codice e la stringa dirà con qualche sua
sintassi
è passato Ciccio, che devo fa?

A quel punto io devo testare sta stringa, consultare il database per vedere
se Ciccio può passare e così via.

Come faccio a stare sempre in ascolto sulla seriale?
Due problemi distinti in realtà:

1) come sto sempre in attesa?
2) come faccio a leggere la seriale?

1) se uso access l'unico modo che vedo possibile è una maschera nascosta con
timer a 1 secondo che lancia la lettura della seriale
ci sono altre possibilità?

2) come la leggo sta seriale? ocx, winsock, un bordello... non mi fa paura
studiarmi un po' la cosa, ma c'è un riferimento preciso su cui buttarsi?

Grazie

Antonio


Pablitomf (da casa)

unread,
Oct 30, 2010, 6:08:56 PM10/30/10
to
0 new messages