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 notre 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".

Exécution du projet COM Emulateur - RFID

Notre simulateur d'équipement RFID nous permet d'obtenir l'écran suivant ou l'on peut constater l'ensemble des logiciels interconnectés par l'Emulateur de port de Communication.

Simulateur d'équipement RFID développé avec Visual Studio WPF.
Simulateur d'équipement RFID développé avec Visual Studio WPF simulation d'une communication sur le port COM

Je clique sur mon Simulateur d'équipement RFID pour envoyer la trame "01 01 01" à mon configurateur du puces RFID qui répond par une trame d'acquittement "06".

Download Sources Codes

Retrouvez le communauté des développeurs GitHub des projets OpenSources

RFID CloverViewer on GitHub
RFID CloverViewer on GitHub


Have fun!

Outils de Test & Validation en Langage C

Très rapidement, il faut que je vous fasse part d'un outil de développement.

C'est plutôt une chaîne d'outils, trois briques logicielles qui fonctionnent ensembles appelées le TraceReporter. Cet outil permet de faire des traces depuis les programmes que vous écrivez en Langage C mais également dans d'autres langages moyennant une simple adaptation de l'interface. Ces traces sont transmises via des sockets TCP/IP à une application le Reporter qui les affiche.

Nous avons un site pour présenter cette suite logicielle de Test & Validation en Langage C, c'est en Open Source, il y a également un GitHub dédié. Alors n'hésitez pas à investir votre temps dans la compréhension puis l'utilisation du :

Qu’est-ce que la blockchain ?

La première blockchain est apparue en 2008 avec la monnaie digitale Bitcoin, développée par Satoshi Nakamoto qui est le pseudonyme d'une ou de plusieurs personnes dont on ne connait pas encore la véritable identité...

BitCoin est une blockchain

Le site de Blockchain France :

Blockchain France - Qu'est-ce qu'une blockchain ?

En suite nous avons Ethereum :

Welcome to Ethereum - Ethereum is the community-run technology powering the cryptocurrency ether (ETH) and thousands of decentralized applications.
Downlod Ethreum Wallet for Windows 32 bits (requires Command Line tools)
CREATE YOUR OWN CRYPTO-CURRENCY WITH ETHEREUM

Et puis on peut ajouter encore un site de référence sur la blockchain :

Blockchain.com  - Learning Portal

Ce site vous permettra de mieux comprendre les grands concepts de la BlockChain mais il est plutôt dédié à la blockchain Bitcoin.

Discussion & Informations

Journal Du Net : Pourquoi il faudra 10 ans à la blockchain pour percer dans la finance

Microsoft Ideas - Digital is business

Blockchain : pourquoi toutes les industries sont concernées - nouveau paradigme de gestion de la confiance -

https://rslnmag.fr/innovation/blockchain-revolution-quotidien/

Des contrats d’assurance à votre facture d’électricité, en passant par la traçabilité de ce qui se retrouve dans votre assiette ou la sécurité de vos données personnelles, les technologies blockchain pourraient transformer radicalement votre quotidien, au-delà des cryptomonnaies supportées par ces algorithmes, comme le bitcoin. Une nouvelle révolution technologique est-elle en marche ?

Code C# sur la plateforme GitHub

Comment ça fonctionne ? C'est très simple ... plus de blabla, voici du code

https://blockchainprogramming.azurewebsites.net/

Si vous allez plus loin avec le code C# de Nicolas Dorier, vous verrez que la mise en oeuvre consiste en l'envoi d'une somme de 0.004 Bitcoin sur sa blockchain.

Hall of the Makers - Take a picture to seel how does it evolve

https://github.com/NicolasDorier/BlockchainProgramming

Have Fun !

SoDevLog - Administration de Windows Server - Installation de Plateformes Collaboratives

Vous souhaitez installer une Plateforme Internet sur un Serveur Windows IIS (Internet Integrated Services) :

Ecran d'accueil d'IIS

Nous avons la connaissance de l'installation, de la configuration, de l'administration des Serveurs Windows. Pour vous, nous pouvons :
  1. Commander le serveur 
  2. Installer et configurer IIS (Internet Integrated Services)
  3. Installer et configurer votre plateforme
  4. Administrer cette plateforme
J'ai déjà beaucoup écris sur l'installation d'IIS (Internet Integrated Services) sur la plateforme Windows Server, vous pouvez accéder au Blog :

Administration Windows

Nous pouvons installer toutes sortes de plateformes, voici par exemple l'interface de gestion des Services Internets de Windows Server 2008 R2, configurée avec nombre de plateformes :

Windows Server 2008 R2 - IIS Management

Voici par exemple l'interface Web de notre plateforme Moodle Installée sur ce Serveur :

Moodle Plateforme Sodevlog installée et configurée sur Web Server IIS

Choisissez votre nom de domaine et la plateforme que vous souhaitez installer et nous ferons le reste

Vous souhaitez que nous installions pour vous, une plateforme, n'hésitez pas à nous contacter.

Mise à jour en mars 2019

Nous possédons maintenant une plateforme installée dans le Cloud Azure de Microsoft, n'hésitez pas à nous rendre visite :

Moodle - SoDevLog

La nouvelle page d'accueil d'IIS pour le fun :

Ecran d'accueil d'IIS sur Windows Server 2016

Dynamic Online Showcase is now on GitHub (open source community)

You want to deploy a "showcase application" with ASP.NET in C# to expose your activity on Internet ? Why not use "SoDevLog's Dynamic Showcase" an Open Source Application that you can now download on GitHub.

To see this project on GitHub just follow the link :

SoDevLog Dynamic Showcase project on GitHub

To have a look to this project managed by GitHub

You need some help to deploy your Dynamic Showcase on a Web Server ?

Do not hesited to contact us.

Here is the blog dedicated to this open source project :

http://sodevlog-dynamic-showcase.blogspot.fr/

Have a lot of fun !


Dynamic Online Showcase

This project will be an Open Sources for Online Showcase, this is the moment. I'am going to make an open source project with the sources codes I have developped on Dynamic Showcase.

Take a look at the Home page of the Dynamic Showcase :

Front page Dynamic Site Showcase

Another picture to show you the multi-level managed menu :

Recursive - Multi-level managed menu

Main features :
  • multi authors
  • pages are managed and attached in a recursive menu
  • admin can be notified when a new register is to validate
  • managing of users "authors"
  • style sheet are writable "online" you can change design of te all web site
  • pages can be commented by visitors
  • and much much more ...
This will be seen in more details...

Technologie : ASP.NET C# aspx

Have a look to the Blog dedicated to this project : Dynamic Showcase Blogspot



IoT - Protocole MQTT

Vous souhaitez en savoir plus sur le protocole MQTT. Vous avez-entendu récemment cette nouvelle notion de télécom : "Internet of Things" ou "IoT" c'est à dire en français l'Internet des Objets.

Alors c'est quoi MQTT ?

Internet of Things : Internet des Objets connectés, les objets communiquent entre eux sans passer par l'humain. Exemple : votre pacemaker connecté connait votre humeur du moment en entrant chez vous il demande à vote system audio de jouer une musique en conséquence.

Bon, vous l'aurez compris ce n'est pas un bon exemple, je n'ai pas envie de porter un pacemaker pour écouter la musique correspondant à mon humeur d'autant qu'il existe des devices plus simples. Il y a surement mieux à faire mais c'est pour vous dire que cette nouvelle aire de la télécommunication reste à inventer.

MQTT : Message Queuing Telemetry Transport est un protocole de messagerie basé sur TCP/IP (ça tombe bien, on voit mal un nouveau protocole recommencer tout, de tout en bas du modèle OSI à 7 couches) "publish-subscribe", cela signifie simplement que pour recevoir les messages du Broker il faut s'enregistrer au prêt de celui-ci. Et là c'est la clef de MQTT, un moyen tout simple de faire dialoguer les objets entre eux.

Visitez le site MQTT.org

Mise en oeuvre avec Eclipse

Côté serveur

Il ne reste plus qu'à trouver une implémentation du message broker, sorte de Serveur MQTT. L'installer, le configurer et le faire s'exécuter. Puis de développer un client, un soft capable de s'enregistrer au prêt du message broker pour recevoir et afficher les messages transmis.

Côté client

On imagine que l'on va le développer en langage C avec eclipse et en regardant de plus prêt la communication avec le Broker Mosquitto. Mais il existe, du côté d'Eclipse le projet Open Source nommé : paho

https://www.eclipse.org/paho/clients/c/

MQTT C Client for Posix and Windows

Porte d'entrée vers la compréhension d'MQTT chez IBM

Initiation aux client MQTT

Initiation aux Serveurs MQTT
  WebSphere

Modèle MQTT en Langage Java ou C
Je clique sur le Langage C :

Initiation au client MQTT pour C
On y trouvera du code en Langage C pour Visual Studio ou Eclipse tout ce qu'il faut pour démarrer votre application Client/Serveur MQTT.

Autres serveurs MQTT
Nous avons ici tout pour bien démarrer et faire aboutir un projet dans la maîtrise d'MQTT, Maintenant la vraie question c'est : doit-on investir dans la compréhension et le développement de ce type d'applications tandis que l'on entend parler plutôt de protocoles comme LoRa ou Sigfox pour les applications de l'IoT ...

Littérature
Sur la compréhension des protocoles un article simple et concis :

Frugalprototype/Quels protocoles applicatifs pour l’Internet des Objets ?

Faites vos recherches avec Google sans Cookies

Sur cette page, vous allez pouvoir utiliser le moteur de recherche Google sans les cookies qui sont sur votre ordinateur ou sur votre téléphone. Ici, nous sommes en ligne et les cookies de votre ordinateur ne pourront être pas utilisés pour influencer la recherche Google.

Utiliser Google sans cookies (cookieless)
Utiliser Google sans cookies (cookiesless)

La barre de recherche ci dessous et le bouton associé ont été obtenus par l'insertion d'un script dans ce post. Comparez les recherches ainsi obtenues avec celles que vous effectuez sur votre ordinateur qui  sont influencées par les cookies.

Tapez votre recherche :

Pourquoi faire une recherche ici ?

Pour comparer cette recherche avec celle que vous pouvez faire sur votre ordinateur qui est influencée par vos cookies qui dépendent des recherches déjà effectuées et influence le résultat de la recherche google. Vous verrez la différence !

SoDevLog - Premier article

Voici le premier article du Blog SoDevLog, sur la Société de Développement Logiciel que j'ai créé en 2006 pour débuter mes activités en développement d'applications.

SoDevLog communique sur le thème des "Applications Collaboratives". Bruno a été le créateur et l'animateur du Forum des Applications Collaboratives sur Viaduc à l'époque (entre 2005 et 2013) , Viadéo aujourd'hui. Les Applications Collaboratives sont maintenant devenues : l'économie collaborative avec l'uberisation de la société avec tous les travers que cela entraîne.

Au début Viadéo était payante puis ils ont décidé d'offrir des comptes d'utilisateurs gratuitement et la plateforme fut envahie par les trolls et les gratuits. Aujourd'hui cette plateforme n'est plus qu'une vaste ruine d'échanges commerciaux. Telle est l'économie du gratuit.

Retrouvez le hub des Applications Collaboratives sur Viadéo

Forum des Applications Collaboratives sur Viadéo

Le nerf de la guerre c'est le commerce et la conquête de clients, aussi je m'occupe de marketing et de communication mais ma vraie passion c'est le code, le code source et l'écriture et l'agencement des programmes et de leurs fonctionnalités.

Développement Logiciel en PHP Joomla

Féru d'applications Web et voulant sortir du développement avec le Framework 1.1 C#.NET, je me lance dans l'installation et l'utilisation d'une chaîne de développement en PHP, MySQL.
Joomla en PHP
Pendant 5 mois entre septembre 2008 et Janvier 2009, je vais réaliser un site Joomla pour une startup de l'incubateur Sup-Agro.

Il s'agit de la réalisation d'un site Joomla en PHP. Réalisation d'un portail web d'entreprise avec l'intégration des modules suivants :

  • Boutique en ligne : VirtuMart
  • Forum : FireBoard
  • Gestion des droits utilisateur : GMAccess
  • Gestion des sauvegardes : JoomlaPack

Outils de développement : WAMP (Windows Apache MySQL PHP)
Template de projet : Joomla 1.5

A mon avis ce n'est pas le meilleur environnement que j'ai pu utiliser, à mon goût trop complexe dans l'interopérabilité des modules et leur intégration dans un site web Joomla. Cela a posé à chaque fois des problèmes (mauvaise compatibilité des modules développés par des tiers).

La difficulté c'est le choix entre des modules qui sont "gratuits" et des modules payants mais on ne peut pas estimer le service rendu, il faut les essayer à vos risques et périls.

C'est quand même un beau projet un final et une expérience enrichissasnte de l'utilisation du langage PHP.

Création au RCS de Montpellier

Parution au journal officiel : La Gazette de Montpellier
SoDevLog - Société de Développement Logiciel - 488 203 456 00014