Dans le post précédent, le code modifié tenant compte de mes derniers ajustements.
Comment fait on pour replier un code afin qu'il ne prenne pas trop de place?
Est ce que cette fonction est activée ici?
Autre petite question : L'idée serait de faire un programme qui n'attende plus qu'on touche à un menu déroulant pour effectuer ses opérations, mais un programme qui teste les changements.
Je pense qu'on peut faire une boucle avec interrogation d'un changement d'état mais n'y a t il pas une possibilité que le système nous prévienne lors d'un changement?
Communiquer avec module USB RFID (ACR 122 et autres)
-
- Messages : 67
- Inscription : mer. 27/sept./2006 12:45
Re: Communiquer avec module USB RFID ACR 122?
Fichier > Préférence > Editeur > [X] Pliagetotorcalais a écrit :Comment fait on pour replier un code afin qu'il ne prenne pas trop de place?
(Tu peux ajouter tes propres éléments de pliage. On met souvent ;{ et ;} pour plier d'office ce qui ne sert plus)
Si ton programme affiche de lui même des nouvelles infos (dans un gadget Editor) à chaque présentation de carte, tu peux suivre le changement de texte avec #PB_EventType_Changetotorcalais a écrit :Autre petite question : L'idée serait de faire un programme qui n'attende plus qu'on touche à un menu déroulant pour effectuer ses opérations, mais un programme qui teste les changements.
Je pense qu'on peut faire une boucle avec interrogation d'un changement d'état mais n'y a t il pas une possibilité que le système nous prévienne lors d'un changement?

-
- Messages : 67
- Inscription : mer. 27/sept./2006 12:45
Re: Communiquer avec module USB RFID ACR 122?
Merci pour tes infos sur le forum 
Concernant cette demande, auquel tu as eu la gentillesse de répondre,
Je veux faire un dispositif autonome de contrôle de cartes qui logue le passage et (s'il y a lieu) réalise une action (ouverture, son,info affichée sur écran,...)).
En général, soit on interroge sans relâche, soit c'est le système qui alerte le programme d'un changement (ici, départ d'une carte et/ou arrivée d'une autre).
Windows permet il le second cas (c’est à dire remonter une info d'un périphérique usb)?

Concernant cette demande, auquel tu as eu la gentillesse de répondre,
totorcalais a écrit :Autre petite question : L'idée serait de faire un programme qui n'attende plus qu'on touche à un menu déroulant pour effectuer ses opérations, mais un programme qui teste les changements.
Je pense qu'on peut faire une boucle avec interrogation d'un changement d'état mais n'y a t il pas une possibilité que le système nous prévienne lors d'un changement?
Ma question n'était pas sur l'editorgadget mais sur le lien entre le lecteur RFID (où peuvent être approchée une carte RFID à un instant T , c'est a dire n'importe quand) et l'ordinateur de gestion.Si ton programme affiche de lui même des nouvelles infos (dans un gadget Editor) à chaque présentation de carte, tu peux suivre le changement de texte avec #PB_EventType_Change
Je veux faire un dispositif autonome de contrôle de cartes qui logue le passage et (s'il y a lieu) réalise une action (ouverture, son,info affichée sur écran,...)).
En général, soit on interroge sans relâche, soit c'est le système qui alerte le programme d'un changement (ici, départ d'une carte et/ou arrivée d'une autre).
Windows permet il le second cas (c’est à dire remonter une info d'un périphérique usb)?
Re: Communiquer avec module USB RFID (ACR 122 et autres)
Je ne pense pas que Windows remonte tout seul une alerte système quand on lui présente une carte dans un lecteur.
D'après la doc de certains lecteurs il faut mettre le lecteur en mode pooling (par commande) et checker les retours.
Un lecteur RFID en mode attente de carte doit émettre en permanence afin de "réveiller" la puce des cartes qu'on lui présente (la puce de la carte se "réveille" et démarre dès qu'elle reçoit du courant par induction de la part du lecteur) (mais tu dois déjà connaitre le principe)
Dès qu'une carte répond, le lecteur passe mode réception tout en continuant à alimenter la carte, puis passe en revue les différents protocoles.
Tu peux donc gérer ce flux, mais le plus simple est donc que tu écrives les données reçues (via API?) dans un EditoGadget, car celui-ci peut changer tout seul d'état dès que son contenu change (peut importe la source) et donc faire le lien avec la recherche dans la base de donnée utilisateurs autorisés.
Sinon, il faut faire du pooling chaine par chaine (avec les expressions régulière c'est facile)
Donc, effectivement tu interroge sans relâche le flux où tu laisse PB via un gadget se rendre compte du changement de contenu.
PS. En plus la solution EditorGadget te permet de monitorer et logger toutes les erreurs dans un fichier.
D'après la doc de certains lecteurs il faut mettre le lecteur en mode pooling (par commande) et checker les retours.
Un lecteur RFID en mode attente de carte doit émettre en permanence afin de "réveiller" la puce des cartes qu'on lui présente (la puce de la carte se "réveille" et démarre dès qu'elle reçoit du courant par induction de la part du lecteur) (mais tu dois déjà connaitre le principe)
Dès qu'une carte répond, le lecteur passe mode réception tout en continuant à alimenter la carte, puis passe en revue les différents protocoles.
Tu peux donc gérer ce flux, mais le plus simple est donc que tu écrives les données reçues (via API?) dans un EditoGadget, car celui-ci peut changer tout seul d'état dès que son contenu change (peut importe la source) et donc faire le lien avec la recherche dans la base de donnée utilisateurs autorisés.
Sinon, il faut faire du pooling chaine par chaine (avec les expressions régulière c'est facile)
Donc, effectivement tu interroge sans relâche le flux où tu laisse PB via un gadget se rendre compte du changement de contenu.
PS. En plus la solution EditorGadget te permet de monitorer et logger toutes les erreurs dans un fichier.
Re: Communiquer avec module USB RFID (ACR 122 et autres)
Qu'un périphérique prenne la main sur un pc est devenu compliqué de nos jours.
Dans le passé, sous DOS comme aujourd'hui avec les microcontrôleurs, on utilisait les interruptions matériels. C'était assez simple.
Avec nos OS préemptifs, pour faire à peu près la même chose, il faut programmer au niveau du kernel (noyau), en mode ring 0 ou ring 1 et ce n'est pas de la tarte.
https://fr.wikipedia.org/wiki/Anneau_de_protection
https://en.wikipedia.org/wiki/Protection_ring
Il faut donc créer un driver.
Le même russe qui a créé la lib USB pour PureBasic, a donné une procédure pour créer un driver :
http://www.purebasic.fr/english/viewtop ... 14&t=53460
Sinon si t'as un ingénieur réseau sous la main, tu branches le lecteur sur un raspberry pi configuré en serveur web, lui-même connecté au réseau local ou directement sur le PC. Quand le lecteur de carte se "réveille", le serveur envoie une page html sur le pc, soit dans un firefox allumé en permanence soit dans un soft créé avec Purebasic, la page html sera détectée et affichée dans un webgadget.
Si t'as un ingénieur électronicien sous la main, tu remplaces le raspberry pi par un boitier électronique sur mesure, un driver électronique qui renverra les signaux sur l'usb du PC (driver-suiveur) et une page web sur une carte réseau du PC.
Après, je ne vois pas d'autre solution qu'une boucle qui serait gérée par l'OS avec un service Windows ou un logiciel (solution de Marc56)
Tu peux créer un service Windows avec :
http://www.purebasic.fr/english/viewtop ... it=service
Un service qui scannerait les ports usb en permanence ou qui scannerait le registre windows, et plus particulièrement une clé en rapport avec le port usb où est branché le lecteur.
Ou tu peux t'inspirer de ce code qui détecte l'insertion d'une carte mémoire de type sdcard
http://www.purebasic.fr/english/viewtop ... 13&t=47960
Je suppose que t'as épluché l'api smartcard et qu'il n'y a rien à ce propos ?
https://msdn.microsoft.com/fr-fr/librar ... s.85).aspx
https://msdn.microsoft.com/en-us/librar ... e/dn631754
Mesa.
Dans le passé, sous DOS comme aujourd'hui avec les microcontrôleurs, on utilisait les interruptions matériels. C'était assez simple.
Avec nos OS préemptifs, pour faire à peu près la même chose, il faut programmer au niveau du kernel (noyau), en mode ring 0 ou ring 1 et ce n'est pas de la tarte.
https://fr.wikipedia.org/wiki/Anneau_de_protection
https://en.wikipedia.org/wiki/Protection_ring
Il faut donc créer un driver.
Le même russe qui a créé la lib USB pour PureBasic, a donné une procédure pour créer un driver :
http://www.purebasic.fr/english/viewtop ... 14&t=53460
Sinon si t'as un ingénieur réseau sous la main, tu branches le lecteur sur un raspberry pi configuré en serveur web, lui-même connecté au réseau local ou directement sur le PC. Quand le lecteur de carte se "réveille", le serveur envoie une page html sur le pc, soit dans un firefox allumé en permanence soit dans un soft créé avec Purebasic, la page html sera détectée et affichée dans un webgadget.
Si t'as un ingénieur électronicien sous la main, tu remplaces le raspberry pi par un boitier électronique sur mesure, un driver électronique qui renverra les signaux sur l'usb du PC (driver-suiveur) et une page web sur une carte réseau du PC.
Après, je ne vois pas d'autre solution qu'une boucle qui serait gérée par l'OS avec un service Windows ou un logiciel (solution de Marc56)
Tu peux créer un service Windows avec :
http://www.purebasic.fr/english/viewtop ... it=service
Un service qui scannerait les ports usb en permanence ou qui scannerait le registre windows, et plus particulièrement une clé en rapport avec le port usb où est branché le lecteur.
Ou tu peux t'inspirer de ce code qui détecte l'insertion d'une carte mémoire de type sdcard
http://www.purebasic.fr/english/viewtop ... 13&t=47960
Je suppose que t'as épluché l'api smartcard et qu'il n'y a rien à ce propos ?
https://msdn.microsoft.com/fr-fr/librar ... s.85).aspx
https://msdn.microsoft.com/en-us/librar ... e/dn631754
Mesa.
-
- Messages : 67
- Inscription : mer. 27/sept./2006 12:45
Re: Communiquer avec module USB RFID (ACR 122 et autres)
Salut,
En fait, ma demande était plus dans l'esprit d'intercepter l'info que voit windows lorsqu'une carte est à portée du lecteur rfid et sur le comment faire (en espérant que quelqu'un s'était déjà attelé sur l'affaire pour détecter par exemple des changements de carte USB, ou autres périphériques).
En fait, ma demande était plus dans l'esprit d'intercepter l'info que voit windows lorsqu'une carte est à portée du lecteur rfid et sur le comment faire (en espérant que quelqu'un s'était déjà attelé sur l'affaire pour détecter par exemple des changements de carte USB, ou autres périphériques).
Cette option me semble se rapprocher le plus de mon interrogation car deux périphériques apparaissent dans les périphériques lorsque je branche le lecteur : le lecteur à proprement parler et, lorsque une carte est détectée, apparaît un périphérique intitulé "carte à puce" (sans autre information) qui disparaît tout aussitôt que cette carte s'éloigne du lecteur.Mesa a écrit : ...
Ou tu peux t'inspirer de ce code qui détecte l'insertion d'une carte mémoire de type sdcard
http://www.purebasic.fr/english/viewtop ... 13&t=47960
...
Mesa.