RFID TAG NFC RC522 et ou ARC122U-A9 usb

Photographie ultra-rapide, pilotage d'imprimante 3D ou de CNC, fabrication de bière.... Enfin tout ce que le Raspberry peut gérer trouvera sa place dans cette rubrique

Modérateur : Francois

flipper07
Messages : 2
Enregistré le : sam. 17 déc. 2016 09:29

RFID TAG NFC RC522 et ou ARC122U-A9 usb

Message par flipper07 » mer. 4 sept. 2019 17:52

Bonjour a tous
Utilisateur de Raspberry depuis plusieurs année (Domoticz, Recalbox, serveur Impression 3D).
ça fait plusieurs jours que je cherche sur le net, sans trouver la bonne solution..
Je suis en train de voir pour un projet avec des tag rfid .
Je m'explique:
j'aurais plusieurs tag fixer sur chaque pièce (chambre, wc, salle de bain, etc...)
Mon but c'est de pourvoir passer avec un lecteur nfc pour que quand je passe sur le tag il m'affiche la tache a faire sur chaque pièce, (affichage de la photo, heure de passage, tache a faire etc..)
j'avais pense d'utiliser mon téléphone (avec le lecteur nfc intégrer au téléphone) aussi mais il faudrai avoir ou pouvoir faire une application qui pourrai le faire..(ca aurai été le mieux mais je n'est pas trouver)

j'ai penser au raspberry (même arduino) je possède les 2 lecteurs : RC522 et ou ARC122U-A9 usb
J'ai trouver quelque tuto pour lire les tag nfc sur raspberry.
Mais j'ai un peut de mal a trouver pour pouvoir faire le bon programme.
Il est vrais que je suis pas très bon pour la programmation j'essaye un peut de bidouiller mais aimerai bien mi mètre un peut.
je pense qui doit falloir crée une base de données pour pouvoir mettre les informations pour chaque tag.
Je crois que les informations (donnée du nom, photo etc..) de chaque tag ne seront pas dans le tag mais dans la base de donnée.
J'espere avoir été clair et pas trop long dans ma description.
Merci pour l'aide pour mon projet
Un grand merci par avance

cbalo

Re: RFID TAG NFC RC522 et ou ARC122U-A9 usb

Message par cbalo » mer. 4 sept. 2019 21:28

Bonjour,
Bon moi ça fait 20 ans que je développe des appli (web ou pas) de gestion associée à une base de données. doncsur ce point, si tu as des questions, je pourrais t'aider.

Pour le stockage, tu as raison :
En effet, les badges RFID ne permettent que de stocker très peux d'informations (quelques octets).
Ils vont te fournir :
- leur identifiant unique (codé en dur dans le badge)
- ce que tu as stocker dessus (quelques octets, par ex : un nom d'une personne, d'une pièce mais pas plus)

Mais ce n'est pas un problème :
En effet, il suffit que le badge te fournisse un identifiant unique (celui déjà présent ou un autre que tu stockes dedans) qui fasse le lien avec ta base de données.
Si ta bases de données contient admettons 4 tables :
- une des chambres (avec le même identifiant unique que ton badge) contenant le nom de la pièce.
- une des employés (chaque employé ayant son propre identifiant unique)
- une des tâches à accomplir (sans référence aux pièces, chaque tâche ayant son identifiant unique)
- une qui fait le lien entre tâches et pièces (une même tâche peux devoir ou être fait dans plusieurs pièces et dans une pièce il faut en faire plusieurs) avec en plus l'identifiant de l'employé qui a réalisé la tâche si celle-ci a été faite.

Donc il te faudra une base de données. Du coup un raspberry.
Après quel type de base de données ?
-nosql ? si tu aimes (je trouve ça horrible à appréhender même si c'est léger et performant)
- ou à base de sql (facile à apréhender car utilise un language naturel (le SQL))
Si tu choisis une base sql, je n'utiliserai pas mysql car c'est une éborme usine à gaz donc les fonctionnalités changent d'une version à l'autre sans garder de compatibilité, je choisirai firebird (100% sql compliant, super stable, léger, s'installe en 2 minutes, gratuit, le code fait il y a 15 ans fonctionnera toujours avec la dernière version), certains penseront peut-être à postgre, pas mal non plus.

Tu pourrais le faire en fichier texte (bon c'est pas beau mais ça fonctionnerait) mais seulement si tu est un pro de la programmation (champion des boucles, des tris et des rapprochements de tableaux ??)

En tout cas, si tu t'y connais pas en dev, tu devras apprendre beaucoup de chose pour aboutir.
Bon courage

flipper07
Messages : 2
Enregistré le : sam. 17 déc. 2016 09:29

Re: RFID TAG NFC RC522 et ou ARC122U-A9 usb

Message par flipper07 » lun. 16 sept. 2019 09:17

Merci de ta réponse dsl mais je n'ai pas eu de notification pour ta réponse, je viens de la voir aujourdui
Je ne connais pas firebird je vais l'installer
Et je vais essayer de regarder tous ce que tu ma dit
Il y a bien des tutaux sur le net pour le apprendre le dev je vais essayer de voir
je vais regarder aussi pour les notifications par mail sur le forum pour les réponses

Encore merci

cbalo

Re: RFID TAG NFC RC522 et ou ARC122U-A9 usb

Message par cbalo » lun. 16 sept. 2019 10:46

Salut,
Si tu choisis Firebird, il y a un bon client léger gratuit, pour mettre au point tes requetes SQL ou créer la base de données et qui existe pour tout OS ! (y compris windows), c'est "Flamerobin".
Une autre info aussi, Firebird (en mode serveur) exploite le port 3050 TCP par défaut.
Et depuis peux, pour des raisons de sécurité, ils ont interdit par défaut certains accès (qu'on peut réouvrir bien sur) , dans le fichier firebird.conf
Ex :
- la connexion avec un client d'une version antérieure est bloquée par défaut (mais réactivable)
- le connexion distante est bloquée par défaut (mais réactvable)
etc...
le fichier firebird.conf est assez bien documenté sur le web.

Autre point aussi, comme firebird tourne sur n'importe quel os (y compris windows), tu peux très bien l'installer sur ton PC sous windows pour mettre au point ta base de données avec plus de confort avant de la créer sur ton rapsi.
Python possède des bibliothèques d'accès à Firebird (je crois qu'elle s'installe via sudo pip install fb).


Bon courage.

cbalo

Re: RFID TAG NFC RC522 et ou ARC122U-A9 usb

Message par cbalo » lun. 16 sept. 2019 12:44

J'oubliai l'essentiel :
La 1ère chose à faire est de prendre un papier et un crayon (ou un bloc note) pour construire ta base de données.
On commence comme ça :
1) déterminer les différents éléments de la base de données (j'en compte 3, sauf erreur : chambres, tâches, individu)
2) qu'est-ce qui identifie de manière unique chaque élément (ex : le numéro de badge pour une chambre ? un numéro artificiel pour une tâche ? un numéro d'immatriculation pour un employer ?)
3) déterminer les relations entre les élements (dans une chambre il peut y avoir plusieurs tâches de réalisés au cours de sa vie par exemple ou encore, un individu réalisera plusieurs fois la même tâche dans la même chambre, une tâche à réaliser concerne une chambre et une seule ? )
4) pour chaque élément, quels sont les propriétés 'ex : pour l'employé : nom, prénom; pour la chambre : un numéro ? un étage ? pour la tâche à réaliser : la chambre concernée ? un texte explicatif ?
Ceci te donnera les tables nécessaires, leurs relations entre elles et les colonnes de chaque tables.
(je pense que tu aura besoin d'une table de jointure pour les tâches réalisées : une table "artificielle" qui relie individus aux taches à réaliser: ex la tâche 1 a été faite pour l'employé A le xx/xx/xxxx mais aussi le yy/yy/yyyy

Ensuite, tu détermines le type de chaque propriété
ex : ceci est une date, ceci est du texte, ceci est un nombre entier ....., ceci un nombre décimal

N'hésites pas à dessiner des "patates" pour représenter les éléments sur ta feuille de papier et à faire des flèches, c'est comme ça qu'il est le plus facile de se représenter intellectuellement le modèle.

Tout cette étape te permettra de réaliser ce qu'on appel le modèle conceptuel de données. (MCD).
Il n'est pas nécessaire pour cela de connaitre le moindre langage ou outil informatique : on ne fait fonctionner pour faire un MCD qu'une seule chose : la logique du cerveau humain.
Une fois la méthode expliquée avec 2, 3 exemple, c'est à la portée d'un ado de 15 ans (pour les base de données relativement simples)

Puis tu passeras à ce qu'on appelle le modèle physique de données (c'est quasiment le code SQL de création de la base de données, toutes les tables, les relations, les colonnes)

Bon courage.

destroyedlolo
Raspinaute
Messages : 1585
Enregistré le : dim. 10 mai 2015 18:44
Localisation : Dans la campagne à côté d'Annecy
Contact :

Re: RFID TAG NFC RC522 et ou ARC122U-A9 usb

Message par destroyedlolo » lun. 16 sept. 2019 14:56

Hum, une BDD sur une SD, elle risque de ne pas aimer bien longtemps.
Ou alors, il faut au moins s'assurer que les WAL (pour postgresql, je ne sais pas pour les autres), ne sont pas stocké dessus.
On perd certe en fiabilité, mais ca évite de flinguer sa carte en moins de 2.

A+
  • BananaPI : Gentoo, disque SATA de 2 To
  • Domotique : 1-wire, TéléInfo, Tablette passée sous Gentoo, ESP8266
  • Multimedia par DNLA
  • Et pleins d'idées ... et bien sûr, pas assez de temps.
Un descriptif de ma domotique 100% fait maison.

cbalo

Re: RFID TAG NFC RC522 et ou ARC122U-A9 usb

Message par cbalo » lun. 16 sept. 2019 15:02

Aucun problème avec Firebird.
Sur qu'avec l'usine à gaz de mysql ce ne serait pas pareil.
J'utilise des BDD en Firebird sur Raspberry depuis le début : jamais eu de problème.
Vise un peu :
148 tables
83 vues
130 procédure stockées
Plus de 20000 lignes en tout, plus de 1000 colonnes en tout.
elle ne pèse que 20 Mo et n'écrit que dans 2 fichiers : l'unique fichier fdb de la base et un petit fichier de log qui ne contient que ce qu'écrit le service (start, stop, fail : autrement dit 3 lignes).
Sous Mysql ça écrirait partout et ça ferait 400 Mo.

destroyedlolo
Raspinaute
Messages : 1585
Enregistré le : dim. 10 mai 2015 18:44
Localisation : Dans la campagne à côté d'Annecy
Contact :

Re: RFID TAG NFC RC522 et ou ARC122U-A9 usb

Message par destroyedlolo » lun. 16 sept. 2019 17:58

La question est surtout de savoir le nombre d'écriture que tu y fais :)
  • BananaPI : Gentoo, disque SATA de 2 To
  • Domotique : 1-wire, TéléInfo, Tablette passée sous Gentoo, ESP8266
  • Multimedia par DNLA
  • Et pleins d'idées ... et bien sûr, pas assez de temps.
Un descriptif de ma domotique 100% fait maison.

cbalo

Re: RFID TAG NFC RC522 et ou ARC122U-A9 usb

Message par cbalo » dim. 22 sept. 2019 21:06

Bien sûr,
Mais je rappelle le nombre impressionnant de projets mettant en oeuvre une base de données (souvent MySQL, quelque fois dans sa version MariaDB)
Et que même juste en installant RaspAP (ce dont on parle beaucoup dans le forum), une base de données est installée.
En effet, les statistiques réseaux sont fournis par le programme vnstat lequel stocke des données dans une base de données (certe pas SQL)
On pourrait aussi dire que les logs de l'OS et des softs (et il y en a des logs !) sont une base de données générant beaucoup d'écriture voir même journalctl le nouveau gestionnaire de log.

Oui bien sur il faudra être parcimonieux pour ne pas créer un "monstre" mais on a quand même un peu de marge.
La mienne c'est à peu prêt 200 000 lignes insérées par an (pour l'ensemble des tables) et ce, depuis 7 ans : aucun problème.
Mais elle ne repose que sur 2 fichiers : un fichier fdb unique pour toute la base (donc pour 148 tables) , puis un petit fichier de log interne à firebird qui stocke les dernières erreurs du service (en fait, juste les derniers redémarrages du service puisque ça ne plante jamais) c'est pas comme mysql ou il y a un fichier par table + un fichier par indexe etc.. etc...

domos
Messages : 75
Enregistré le : lun. 9 mars 2015 19:17

Re: RFID TAG NFC RC522 et ou ARC122U-A9 usb

Message par domos » mar. 24 sept. 2019 12:59

Bonjour

Pourquoi pas une simple base SqlLite ?
Un seul fichier pour stocker les données, peut-etre suffisant pour le besoin.

Répondre

Retourner vers « Les applications spécialisées du Raspberry Pi »