Code

Page créée le : 14/10/2020 Auteur : Christophe Delannoy

Récupérer le Code

  • Sur GitLab, prendre la version HTTPS : Lancer une console (Git Bash sur Windows), se placer dans votre répertoire Sketches

    git clone https://gitlab.com/tontonCD/myMoss.git

  • Par la suite pour récupérer des mises à jour il suffira de faire

    git pull

  • dupliquer et renommer (ou simplement renommer) ces deux fichiers :

    • credential.exemple en credential.h,
    • settings.exemple en settings.h

Ces fichiers, qui vont contenir vos paramètres, ne sont pas versionnés, ils ne seront pas écrasés lors d'une mise à jour.

Vous ne devriez pas avoir à modifier d'autres fichiers (mais regarder les "commentaires" inclus si vous le devez).

Ce qui suit représente (en partie) le readme.md du dépôt GitLab.


principe

Le"Sender" capture les données (gyroscope) et les transmet au "Serveur" en HTTP (voir plus en détail dans fonctionnement).

Le projet (xx) comporte les deux codes Client et Serveur, il suffit de changer la valeur #define MODE xxx dans settings.h, en #define MODE modeClient_NoDeepSleep ou #define MODE modeServer_viaRouter et éventuellement le Port (Outils>Port) dans Aruido.App si les deux modules1 sont branchés en même temps sur le même PC2.

pour commencer

  1. modifier :
  • dans credential.h : vos noms d'utilisateur, nom de routeur (SSID) et mot-de-passe selon votre réseau local,

calibration du capteur

La calibration doit être faite une seule fois.

Il s'agit du réglage initial de la puce34, ne pas confondre avec la Calibration du myMoss (voir ce châpitre).

Dans le fichier settings.h :

  • choisissez le mode Client (#define MODE modeClient_NoDeepSleep),
  • choisir votre capteur, par exemple #define USE_GYRO_SENSOR_MPU9250 true, les autres doivent être à false
  • vérifiez que #define DO_CALIBRATION est bien à true
  • relier le modules au PC en USB, choisir le Port Série (Outils>Port), Téléverser le programme (Croquis>Téléverser).
  • repérer les lignes AK8963 mag biases (mG) et AK8963 mag scale (mG) dans le Monitor5, copier les valeurs respectives et les coller en face de # define MAG_BIAS et # define MAG_SCALE dans settings.h.
  • vous pouvez mettre #define DO_CALIBRATION à false.

Consulter pour chaque mode, dans le Moniteur, les infos à renseigner pour l'autre mode (voir graphiques).


Librairies utilisées

Si ce n'est fait, installer ces librairies en utilisant le Libraries Manager (Arduino : Outils > Gérer les Bibliothèques) :

  • "wire"
  • https://github.com/zischknall/BohleBots_BNO055
  • "Adafruit BNO055" (Arduino : Outils > Gérer les Bibliothèques)

Road Map

  1. Server: get and serve data : ok 10/02
  2. Activate the DeepSleep mode (Client/Server)
  3. Server: clear data on demand
  4. Client: send more data at a time
  5. Server: get more data at a time
  6. Publish pages on Web : ok, needs update
  7. Publish code via GitLab
  8. Gérer ESP_DoubleResetDetector pour switcher le mode deepsleep ?
  9. Chercher interrupteurs à gravité (nom ?)
  10. Convertir Angle en Densité (Server / Client / app ?)
  11. Densité VS Plato ?
  12. Regarder : il n'est pas tenu compte de la température pour corriger la valeur (note : la correction n'est pas la même pour un Réfractomètre et un Densimètre)

Suite : Configuration

1

j'appelle "module" la partie matérielle 2: on peut utiliser les deux modules , mais comme on ne peut choisir qu'un Port, le Monitor (Arduino.app) n'affichera que celui qui a été choisi). 3: Plus d'infos sur la Calibration : - https://www.firediy.fr/article/calibrer-le-capteur-mpu6050-avec-un-arduino-drone-ch-5 - https://diydrones.com/profiles/blogs/advanced-hard-and-soft-iron-magnetometer-calibration-for-dummies - https://www.woolseyworkshop.com/2018/08/17/interfacing-an-mpu6050-gyroscope-accelerometer-sensor-module-to-an-arduino-uno/ 4: Calibration du MP9250 : - https://github.com/kriswiner/MPU6050/wiki/Simple-and-Effective-Magnetometer-Calibration - https://fr.mathworks.com/help/fusion/ug/Estimating-Orientation-Using-Inertial-Sensor-Fusion-and-MPU-9250.html 5: pour le 9250 ils faut déplacer le capteur dans toutes le positins possibles (faire des '8') durant la calibration, juste après le message "Wave device in a figure eight until done!" ; si vous ne l'avez pas fait, ou mal, faire reset sur le module et recommencer.