Ecran météo de l'interface utilisateur
Ecran météo de l'interface utilisateur

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!

Dernière modification: 18 octobre 2019

Auteur

Commentaires

Écrire une réponse ou un commentaire

Votre adresse email ne sera pas publiée.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.