Si ce n’est pas encore fait, je vous propose de commencer par lire la présentation générale de ce projet ici
Il est temps de commander automatiquement notre arduino maître à l’aide d’un petit programme!
Dans un premier temps nous nous focaliserons sur sa configuration et son utilisation dans le cadre de la commande de notre premier module météo.
Nous reviendrons sur ce programme dans les parties suivantes pour y intégrer nos futures avancées!
Vous pouvez trouver les sources du programme ici
Matériel nécessaire
- Une machine pouvant exécuter Linux et Java 8, par exemple:
- Un ordinateur
- Un eeePC
- un Raspberry Pi
- …
Installation de l’environnement
L’application est conçue pour tourner sur une machine linux disposant de Java 8. J’utilise un eeePC 701 tournant sous debian 9 avec openjdk. Mais il n’y a à priori pas de soucis pour faire tourner le programme sur n’importe quel autre plateforme Linux avec une JRE 8. Un raspberry pi devrait parfaitement faire l’affaire.
Je n’ai pas testé le programme sous Windows, et je suis preneur de retours, ou d’adaptations du programme.
Vous pouvez récupérer l’application ici:
Déposez le fichier sur la machine que vous avez récupéré pour faire tourner ce programme et décompressez le
unzip ProcessSignal.zip
Installez openjdk (ou équivalent)
apt install openjdk-8-jre
Structure de l’application
- ProcessSignal.jar : Le programme en tant que tel
- launch.sh : le script qui permet de lancer le programme
- connectWifi.sh : Un script qui est exécuté lorsque le réseau n’est plus joignable. J’en ai eu besoin pour gérer les instabilités de ma connexion wifi
- conf : Ce dossier contient les fichiers qui peuvent être paramétrés. Nous reviendrons vers eux plus tard
- lib : Contient les bibliothèques utilisées par l’application
Configurer l’application
librxtx
Dans le dossier lib, vous trouverez un fichier librxtxSerial.so. Ce fichier est dépendant de la plateforme sur laquelle le programme tourne. Vous devrez donc peut être le remplacer par une version compatible avec votre environnement (Notamment si vous utilisez un Raspberry pi)
config.properties
Nous allons maintenant modifier le fichier config.properties afin de le rendre compatible avec notre premier module.
Les paramètres sur lesquels nous nous attarderons ici et dans les prochaines parties sont identifiés par le texte “MODIFIER”.
- jdbc.activated : Active la connexion à la base de donnée. Nous n’avons pas encore de BDD, nous mettrons donc 0
- jdbc.url : Nous n’avons pas de BDD, nous ne le modifions pas pour le moment
- jdbc.test.url : idem
- jdbc.username : idem
- jdbc.password : idem
- mode.meteo1.activated : Ce paramètre correspond à l’activation du module météo que nous n’avons pas encore réalisé. Laissons le donc désactivé : 0
- mode.meteo2.activated : Correspond à l’activation de notre module météo! Activons le : 1
- mode.teleinfo.activated : Gestion de l’interface avec le compteur EDF. Pour l’instant, laissons 0
- mode.chauffage.activated : Gestion du chauffage, laissons 0
- wifi.connecter.path : Correspond au chemin vers le script qui permet de rétablir la connexion internet. Pas d’utilité pour le moment, ne le modifions pas
Lancez l’application
Il est temps de lancer l’application! Branchez l’arduino maître au PC, branchez le module météo ou vous le souhaitez à l’aide d’un chargeur USB et exécutez la commande suivante:
sh launch.sh
L’application devrait démarrer. Par défaut, vous serez sur la page relative au monitoring de votre compteur EDF. Appuyez sur F2 pour obtenir les informations météo. Au bout de deux minutes, un premier appel à votre arduino météo va être effectué, et la température devrait s’afficher!
Un fichier de log va être créé dans le répertoire de l’application. N’hésitez pas à le consulter pour vérifier que tout se passe comme prévu
Conclusion
Enfin un résultat concret et utilisable! La température s’affiche toute seule! Bon, par contre, nous avons passé beaucoup de temps pour obtenir quelque-chose qui n’est pas beaucoup plus utile qu’un vieux thermomètre au mercure… La mise en place d’une base de donnée nous serait bien utile pour conserver l’historique de ces mesures! Ça tombe bien, c’est le sujet de la prochaine partie!
Commentaires