IoT - RFID actif - Projet en Langage C & Qt/C++

Projet réalisé par la SoDevLog à l'aide de puces RFID. Il s'agit de faire communiquer plusieurs puces de une à 7 cartes électroniques RFID Actives, entre elles. Ces puces seront connectées à un PC par l'intermédiaire d'un port de communication de type série (USB) et se transmettront des trames par Radio (RF) sous l'effet de commandes envoyées par l'IHM.

On donnera un ordre de configuration à l'une des puces RFID pour qu'elle se mette en mode de communication par Radio Fréquence, on communiquera la trame à transmettre à la première puce afin qu'elle transmette cette trame (des octets) à la seconde puce. On vérifiera la réception de cette trame par la seconde puce.

Représentation simplifiée du projet IoT - RFID actif

Architecture du projet

Recherche de portabilité

Dans un premier temps, on souhaite développer une application pour Poste PC, mais par la suite on veut pouvoir communiquer entre smartphones de la façon suivante :
Communication entre smartphones grâce aux puces RFID


On va donc développer, une DLL (Logiciel) de Communication qui va assurer la communication entre l'IHM et les ports de communication. Cette DLL sera "portée" sur SmartPhone.

Choix d'Eclipse pour la DLL de Communication en Langage C, compilée avec MinGW et le SDK d'Android. Choix de Qt/C++ pour l'IHM portable sur PC et sur SmartPhone.

DLL de Communication en Langage C sous Eclipse

Assurer la testabilité et la non-regression

La DLL de Communication est rendue testable par l'utilisation d'un logiciel de Tests Unitaires sous Eclipse (Trace Reporter), un émulateur de port de communication et un simulateur de puce RFID ecris en C# avec Visual Studio.

Emulateur de ports de communication
Logiciel de Traces - Trace Reporter
Simulateur de communication en WPF C#
Émulateur de port COM : permet d'émuler un Port COM de façon logicielle, permet ainsi, à deux applications qui sont sur le même poste, de communiquer entre elles comme si elles le faisait au travers du Port COM (Hardware).

Simulateur de port COM : joue alternativement le rôle de la Puce RFID ou le rôle de l'application. Permet d'envoyer des Trames et d'afficher les Trames reçues.

Logiciel de Traces
Développement sous Eclipse avec utilisation du logiciel de Traces :

IDE Eclipse pour le développement de la DLL de communication en Langage C
1. La DLL de communication multithread sous Tests 
2. Logiciel de Traces et Tests Unitaires Multi-ports Comm

Spécificité de la DLL, il s'agit d'une DLL de communication multi-ports dont le multithreading est assuré à l'aide de la DLL Posix en Langage C.

IHM en Langage C++ avec Qt Creator

Utilisation de la DLL de Communication écrite en Langage C avec Qt Creator en C++, présentation de l'IDE :

IDE Qt/C++ Creator pour le développement de l'IHM
On peut distinguer au centre, une partie du design de l'IHM dans Qt Creator l'IDE de Qt/C++. Cette IHM permet d'envoyer des trames, des commandes, aux puces RFID et d'afficher le retour d'exécution des commandes. Cette IHM permet également d'afficher les trames reçues de façon "spontanée".

Download Sources Codes

RFID - CloverWiever - On GitHub

Have fun!

Aucun commentaire:

Enregistrer un commentaire

Merci de prendre le temps de nous écrire un commentaire