Node red et MySql
Dans cet article, je vous propose de mettre en oeuvre une solution de sauvegarde de données dans une base de données MySql. Nous utiliserons les informations issues du capteur de température du CPU de notre Raspberry Pi toutes les minutes pour peupler la base de données. Nous utiliserons Node Red pour les lire et les présenter sous forme d'un tableau et d'un graphique retraçant l'évolution des dernières mesures. Pour cela il nous faudra procéder à l'installation de MySql sur notre Raspberry. Pour faciliter la gestion des bases de données MySql, nous installerons également un serveur Apache et phpMyAdmin en suivant au choix un de ces tutoriels :
Créer un graphique en php à partir de données de MySQL
Bien souvent, les données collectées grâce aux capteurs sont enregistrées dans une base de données. Considérons que nous disposons du gestionnaire de base de données MySQL, d'un serveur web Apache2, du langage de script php5 et de phpmyadmin.
Nous disposons d'un système de mesure de masse d'une ruche et nous enregistrons tous les jours la masse de cette ruche.
Structure d’un premier objet communicant
Le but de ce tutoriel est de mettre en œuvre une structure type d'un objet communicant basé sur l'utilisation d'une carte Arduino pour la partie acquisition/actionneurs et d'une carte PC embarqué (pcDuino, Raspberry Pi, ...) pour la partie traitement (script Python, programme C/C++, ...), connexion au réseau (filaire ou wifi), stockage local des données (serveur de bases de données SQLigth, MySQL, ...), mise à disposition des données (serveur web Apache2, lighttpd, ginx, ...). La connexion entre ces deux carte se fait naturellement par une liaison série sur USB. Le synoptique ci-dessous représente par exemple un système de surveillance de la hauteur et de la qualité de l'eau d'un cours d'eau. La température, le Ph et la hauteur de l'eau sont mesurés sur demande par la carte Arduino. Le pcDuino via un scritp Python dont l'exécution peut être planifiée avec Cron, effectue la demande puis lit les réponses et les stockent dans la base de données MySQL. Apache2, via une page web php, met à disposition des utilisateurs les informations.
Connexion automatique d’une Arduino avec VisualStudio C#
Ce programme permet de piloter la LED connectée sur D13 sur une Arduino (uno, mega, ...). La connexion à la carte Arduino est automatique. Le système identifie le port sur lequel l'Arduino est connecté et tente d'ouvrir le port. L'utilisateur à la possibilité de modifier la connexion, dans le cas ou plusieurs cartes Arduino seraient reliées à l'ordinateur par exemple.
Les mots de commandes disponibles sont :
- ON : Allumer la LED
- OFF : Eteindre la LED
- STATUS : Demande le status de la LED
Utilisation d’une manette de jeu avec Visual Studio en C#
Le contrôle d'objets mobiles à distance nécessite l'emploi d'une télécommande ou d'une manette. De nombreux shields Arduino existent sur le marché et permettent de satisfaire à ce besoin (ex : http://www.robotshop.com/ca/en/dfrobot-joystick-input-shield-arduino.html). Cependant, la première idée qui vient souvent à l'esprit des élèves est d'utiliser leur vielle manette de jeu Xbox, PS, ou autre compatible.
Leur utilisation dans le cadre d'un projet de développement nécessite l'utilisation de librairies spécifiques (python : pygame, Microsoft : DirectX, SlimDX, XNA, ...). Bien qu'il y ait de nombreux tutoriels sur le net, je n'ai pas trouvé de solution simple, à la porté d'élèves de terminal STI2D novices en programmation.
Toutefois, l'environnement XNA Game Studio met à disposition du développeur un framework qui contient les outils nécessaires à la gestion des manettes connectées à un PC sous Windows. Il peut être utilisé sous Visual Studio dans le cadre d'un projet Windows Form classique.
Je vous propose de réaliser une application de test des principaux contrôles possibles avec une manette compatible Logitech.
OS Linux et Systèmes embarqués
Cours, TP et devoir dispensés en master informatique au CERI d'Avignon sur les systèmes embarqués et plus précisément sur linux dans les systèmes embarqués au premier semestre 2015/2016.
Cours : Systèmes d'exploitations et Linux pour l'embarqué
Formation SIN
La formation SIN (Système d'Information Numérique) débute ce mois de juin dans l'académie d'Aix-Marseille.
Au programme :
- Développement d'applications pour Android (Eclipse), par Sylvain Grimal du lycée Pierre Gilles de Gennes à Digne les Bains.
- Les systèmes communicants par moi-même.
- Les systèmes embarqués, linux dans l'embarqué et la virtualisation.
- Le système d'exploitation, les commandes shell de bases et le développement en C sous linux.
- Le serveur web embarqué, langage HTML et php.
- La carte système embarqué Foxboard G20
- Exploitations pédagogiques, projets
Formation ISN
ISN est la nouvelle spécialité de terminale S qui sera mise en oeuvre la rentrée 2012.
Les professeurs de mathématiques, de Sciences Physiques et de Sciences de l'Ingénieur pourront l'enseigner à la condition d'avoir suivit une formation sur deux ans, dispensée par des enseignants-chercheurs de l'université d'Aix-Marseille et par des enseignants du secondaire en Sciences de l'Ingénieur.
J’interviens dans le cadre de cette formation sur les parties "initiation aux réseaux" et "initiation à la pédagogie de projet".
Projet autour de la Fox Board G20
Le projet à pour but de contrôler à distance quelques fonctions classiques d'une habitation au travers d'une application web implantée dans une carte système embarqué.
Les fonctions de confort choisies sont :
- Le chauffage (radiateurs électriques)
- Le refroidissement (climatiseur ou ventilateur)
- Éclairage extérieur (applique extérieur)
- Volets roulants
- Arrosage automatique
- Vidéo surveillance
Chaque fonction fait l'objet d'une commande de type tout ou rien. La commande tient compte de la valeur d'une grandeur physique caractéristique de la fonction à commander.
L’utilisateur utilise un ordinateur, une tablette PC ou un web phone connecter au réseau pour accéder au système de contrôle par l’intermédiaire d’un simple navigateur internet.
La carte de contrôle choisie est la platine Foxboard G20 de chez Acme System.
Ce projet est mis en oeuvre avec des élèves de première STI2D en spécialité SIN au cours du premier trimestre.
Régler la date et l’heure sur la FOX Board G20
L'enregistrement en base de données d'éléments datés m'a fait prendre conscience que ma fox n'était pas à l'heure, encore moins à la date.
La carte possède bien une pile permettant de sauvegarder ces information dans le RTC mais encore faut-il les avoir réglé au préalable.
Voici comment faire : Réglage de la date et de l’heure