Projet

Général

Profil

Réécriture Thermo-Bibli

Le projet thermo-bibli, une solution aux problèmes de stockage de livres anciens !

il faut noter que ce document est une esquisse evolutive et qu'il manque des informations sur certains détails qui seront les bienvenus.

Pour l'expliquer simplement, le projet est né suite à la demande de Romain Wenz, conservateur au service du patrimoine documentaire
de l'Université de Bordeaux, pour surveiller la réserve de manuscrits anciens de la faculté de médecine. C'est un boitier équipé d'une grappe
de 5 capteurs qui permettent de connaître la température, l'humidité ainsi que leurs variations au cours du temps grâce
à l'intermédiaire du logiciel Grafana (plateforme opensource de visualisation et d'analyse de données).

- Sommaire de la présentation :
  • Explication du projet
    • Affiche
    • Participants
      • Responsable de projet
      • Bénévoles et étudiants
    • Matériel requis
      • Boitier
      • Batterie
      • Grappe de capteurs
      • Antenne
  • Démarche de production
    • Liens utiles
    • Matériaux
    • Machines
  • Tutoriels
    • Boitier
      • Partie avant
      • Partie arrière
      • Carte mère et microprocesseur
    • Grappe de capteurs
      • Type de capteurs
      • Liaisons capteurs
    • Programmer et utiliser Grafana
      • Découverte du logiciel
      • Visualisation des données
      • Création d'une alerte
    • Changement de batterie
      • Procédure de changement de batterie

- Explication du projet :

Affiche

clipboard-202402221504-a4gig.png

Particpants
Responsable du projet pour le Fablab: Pierre Grangé-Praderas

Bénévoles et étudiants: Quentin Perret, Aurélien Gautier, Théo Canaud, Habib Belaribi, Alexander Dales, Lucas Pallaro, Bastien Boineau, Loris Galland, Noah Cazeaudumec, Nicolas Schmauch, Hugo Genillier, Théo Biron, Marc Moreeuw, Félix Boissié, Carmen Lamarque (on en oublie toujours mais on les rajoute quand on les retrouve)

Matériel requis

Le boitier : Pour la fabrication, on nécessite du filament PLA ou tout autre fil imprimable pour le faire en 3D, sinon armé de patience et de couteaux à bois, il est faisable de former le boitier dans un tronc de noyer. Le boîtier sera composé de trois parties : un boitier, un bloque-fils et un cache pour refermer le tout.

La batterie : Ou plutôt les batteries car c'est 4 INR18650-25R de chez Samsung qui se charge de maintenir la bête en vie. Durée de la charge : supérieure à 10 mois !

La grappe : Elle est constituée de 3 fils (le plus, le moins et un "nominatif" servant à repérer le capteur en cas de défaut) entourés de protections torsadées reliant chacun des 5 capteurs à la carte mère pour les alimenter.

L'antenne : Elle est directement reliée à la carte mère et permet de transmettre toutes les données recupérées par les capteurs via un réseau jusqu'à une base de données.

- Démarche de projet

Liens utiles :
Fichier STL Capot : https://projets.cohabit.fr/redmine/attachments/6283
Fichier STL Bloque fil : https://projets.cohabit.fr/redmine/attachments/6284
Fichier STL Base arrière : https://projets.cohabit.fr/redmine/attachments/6284
Fichier STL Support "hotspot" : https://projets.cohabit.fr/redmine/attachments/6158 (aucune idée de l'utilité de c'te pièce)
Fichier STL Support de capteur : ...
Construction carte mère : https://projets.cohabit.fr/redmine/projects/thermo-bibli/wiki/Carte_m%C3%A8re
Grafana et capteurs : https://projets.cohabit.fr/redmine/projects/thermo-bibli/wiki/Documentation_et_installations_pour_capteur
ESP 32 : https://www.google.com/url?q=https://fr.aliexpress.com/item/1005001593859762.html%3F_randl_currency%3DEUR%26_randl_shipto%3DFR%26src%3Dgoogle&opi=95576897&sa=U&ved=0ahUKEwjwt8fewbWGAxUy1QIHHRBjD4YQgOUECBs&usg=AOvVaw0iy7ku4bvTQxxnJkhYBaz2
Batteries : https://www.nkon.nl/fr/samsung-18650-inr18650-25r-reclaimed.html?srsltid=AfmBOorppIyBHtdsfufyn0ul0q_JE1DN4ZcZlgrTfc6GWLhNZaPcpxhcG4U
Antenne : https://www.google.com/url?q=https://www.mouser.fr/ProductDetail/Fanstel/ANT000%3Fqs%3DXeJtXLiO41THt5r1Vw6Npg%253D%253D%26mgh%3D1%26vip%3D1%26srsltid%3DAfmBOoqJwxMX7HOzwOdaA5s5ISU5QkNuZwelJmynu8rPQAvyoxkzbAoIBcQ&opi=95576897&sa=U&ved=0ahUKEwj2_OuswrWGAxWtxAIHHVAOAb4QgOUECJQE&usg=AOvVaw22zBItEL8qUv8zHU5VJpVF
Fils : https://www.google.com/url?q=https://fr.aliexpress.com/item/1005006735858050.html%3F_randl_currency%3DEUR%26_randl_shipto%3DFR%26src%3Dgoogle&opi=95576897&sa=U&ved=0ahUKEwj3qPPTwrWGAxXC0gIHHW65AG8QgOUECPAD&usg=AOvVaw1ef_m-qxI3cUvKumAJf0kT

Matériau : PLA ou tout autre filament imprimable.

Machine : Imprimante 3D.

- Tutoriels

Boîtier

Le boîtier ressemblera à l'image ci-dessous (imprimé uniquement en 3D) :

________________________________ Ensemble boitier et cache _________________________________

Partie avant

____________________ Cache avant blanc ____________________________ zoom bordure cache avant blanc _________


____________________ Montage cache boitier __________________
PS : Veillez à laisser un ou deux millimètres de jeu fonctionnel entre les deux pièces pour éviter de se retrouver avec des pièces impossible à emboiter ...

Contenu :

Carte mère : Fait maison (infos : plan de masses, entrées analogiques (N?) , entrées numériques (N?) , sorties numériques (N?) , ... )
Microprocesseur : esp32

Type de capteurs : AM2302 DHT22
Montage des capteurs :
Connexion des capteurs : Attention à la partie électrique qui nécessite une attention particulière au niveau de l'isolation aux bornes (ne pas faire toucher le fil bleu et le fil rouge ...).

Programmer et utiliser Graphana

Découverte du logiciel :

Selon le wikipédia, Grafana est un logiciel libre sous licence GNU Affero General Public License Version 32 qui permet la visualisation de données. Il permet de réaliser des tableaux de bord et des graphiques depuis plusieurs sources dont des bases de données temporelles comme Graphite (en), InfluxDB et OpenTSDB.

Visualisation des données :

1. il est nécessaire de prendre possession du git à l'adresse https://git.cohabit.fr/thermo-bibli/code-grappe et de le cloner (dans l'onglet "..." en haut à droite, sélectionner "télécharger le zip" et "cloner dans vsCode").
Le téléchargement de VSCode ainsi que de l'exension "platform.io" (tête de fourmi) inclue dans l'application sera nécessaire pour la suite.

2. Il faudra ensuite dupliquer le fichier "main.cpp" qui se trouve dans "src" sur le git. Il représente le fichier principal et doit être ouvert dans une nouvelle fenêtre VSCode.
Il est nécessaire de vérifier que le code n'a aucune erreur (souvent des bibliothèques à renommer ou à spécifier le chemin en les retrouvant sur le git via VSCode. (la fenêtre en bas de page vous le dira et avec un peu de chance, on aura complété l'onglet README du git) et mettre à jour le wifi, le nom de votre carte "ESPNAME" dans l'onglet secret.h.

_________________________

_________________________

3. Maintenant il vous faut un accès à Grafana pour modifier le tableau de bord en créant un nouveau graphique qui permettra la visualisation des données.
Pensez à modifier les identifiants ou à en recréer en demandant aux administrateurs (au fablab pierre ou jean-baptiste pourra vous fournir cela)
PHOTOS

4. Il ne reste qu'à téléverser le code.
4.1 Brancher la carte du boitier thermo-bibli à l'ordinateur avec un câble type micro-usb.
4.2 Appuyer sur l'icône "->" nommée (platformIO:Upload) en bas à gauche dans le menu sur VSCode. C'est fait !
PHOTOS

5. Retourner sur le Grafana voir si les données ont bien été transmises, si c'est le cas, tout est bon pour l'initialisation du système.
Les prochaines étapes qui pourront vous intéresser sont : les alertes , les nouveaux graphiques ...
Sautez l'étape 6.

6. Si CA NE MARCHE PAS, ne vous inquiétez pas, ça ne devrait pas être trop long. (les erreurs détectées vous seront indiquées dans le terminal du bas de VSCode)

6.1 il faut avant tout prendre conscience du parcours de vos données depuis votre capteur jusqu'à votre Grafana.
(capteur -> wifi -> MQTT -> InfluxDB -> Grafana)

6.2 Si c'est une erreur de wifi, changer le nom ainsi que le code du wifi (la carte n'est pas forcément capable d'accéder au wifi 5 par exemple) dans l'onglet "secret" du git aux lignes 3 et 4.

6.3 Si c'est une erreur de MQTT, c'est sûrement que le wifi que vous utilisez est un wifi qui bloque le passage de la valeur temps qui passe par la variable "NTP", il faut donc changer (encore ...).
PS : Un partage de connexion est souvent une solution efficace mais temporaire (partage de connexion via Apple impossible)

6.4 Si c'est une erreur de InfluxDB, alors il vous faudra des connaissances que l'on a pas nous même pour l'instant. On nous a suggérer de changer de DB pour se simplifier les actions a mener. On essayera donc de passer par du .json.

(il y a aussi une partie du code qui signifierai qu'en parallèle du python servant à alimenter le InfluxDB, "mosquitto_sup" se charge de transmettre les données sur Grafana directement)

-->

6.5 Si c'est une erreur de Grafana, sauvez-vous, c'est tant pis ! En vrai on ne le souhaite pas et comme dit précédemment, nos capacités de compréhension ont atteint leurs limites actuelles sur les questions de data base. On reviendra vers vous si jamais on comprend tout cela.

Création d'une alerte :

Pour créer une alerte, tout se passe sur Grafana.

Changement de la batterie :

Procédure de changement de batterie :

Pour changer les batteries sans compromettre le fonctionnement continu de la station de surveillance, il ne faut surtout pas enlever toutes les batteries simultanément.
En les enlevant 2 par 2, on garde assez de tension pour maintenir le fonctionnement tout en ayant la possibilité de remplacer 2 des 4 batteries par opération.