Projet Smart Buoy : Vue d'ensemble - Construction, Électronique, Impression 3D et Tableau de bord
Composants et fournitures
| Arduino Nano R3 | × | 1 |
| Raspberry Pi Zero Wireless | × | 1 |
À propos de ce projet
Article récapitulatif du projet Smart Buoy
Bonjour à tous ! Voici un résumé (relativement bref) de notre projet de bouée intelligente. Nous allons décomposer la construction technique en articles séparés pour expliquer : l'électronique, l'impression 3D et le tableau de bord.
Matériel nécessaire
Pour la construction complète de la bouée intelligente, il faut BEAUCOUP de choses. Nous aurons le détail des matériaux spécifiques pour chaque étape dans le tutoriel concerné, mais pour le contexte, voici la liste complète :
- Arduino Nano - Amazon
- Raspberry Pi Zero - Amazon
- Batterie (18650) - Amazon
- Panneaux solaires - Amazon
- Diodes de blocage - Amazon
- Contrôleur de charge - Amazon
- Convertisseur buck/boost - Amazon
- Module GPS - Amazon
- GY-86 (accéléromètre, gyroscope, baromètre, boussole) - Amazon
- Capteur température eau - Amazon
- Module surveillance alimentation - Amazon
- Module horloge temps réel (RTC) - Amazon
- Modules radio - Amazon
- Module multiplexeur I²C - Amazon
- Imprimante 3D - Amazon
- Filament PETG - Amazon
- Résine époxy - Amazon
- Peinture apprêt en bombe - Amazon
- Corde - Amazon
- Flotteurs - Amazon
- Colle - Amazon
Tout le code utilisé se trouve sur https://gitlab.com/t3chflicks/smart-buoy.
Que fait-elle ?
Les capteurs à bord permettent de mesurer : hauteur des vagues, période des vagues, puissance des vagues, température de l'eau, température de l'air, pression atmosphérique, tension, consommation de courant et position GPS. Dans un monde idéal, elle mesurerait aussi la direction des vagues - d'après les mesures effectuées, nous étions assez proches de le faire fonctionner. Cependant, c'est assez compliqué et c'est en fait un problème majeur dans la communauté de recherche réelle. Si quelqu'un peut nous aider et suggérer un moyen efficace d'obtenir des mesures de direction des vagues, faites-le nous savoir - nous adorons comprendre comment y parvenir !
Toutes les données collectées sont envoyées via radio vers une station de base, qui est un Raspberry Pi. Nous avons créé un tableau de bord pour les afficher en utilisant Vue JS.
Construction
Boîtier de la bouée
C'est probablement l'impression 3D la plus difficile que nous ayons faite jusqu'à présent. Il y avait tant de choses à prendre en compte car elle allait être en mer, exposée aux éléments et au soleil. Nous en parlerons plus en détail dans un autre épisode de la série Smart Buoy. En bref : nous avons imprimé une sphère presque creuse en deux moitiés. La moitié supérieure a des emplacements pour les panneaux solaires et un trou pour l'antenne radio. La moitié inférieure a un trou pour le capteur de température et une poignée pour attacher la corde.
Après impression en filament PETG, nous l'avons poncée, peint avec un apprêt de remplissage, puis appliqué plusieurs couches d'époxy.
Une fois la coque préparée, nous avons mis toute l'électronique à l'intérieur et scellé le capteur de température, l'antenne radio et les panneaux solaires avec un pistolet à colle. Enfin, nous avons scellé les deux moitiés avec de la colle StixAll (super colle aéronautique).
Et nous avons espéré qu'elle était étanche…





Électronique de la bouée
- Schéma complet du circuit de la bouée
La bouée embarque de nombreux capteurs que nous détaillons dans le tutoriel dédié. Comme ceci est un résumé, nous resterons informatifs mais brefs !
La bouée est alimentée par une batterie 18650, chargée par quatre panneaux solaires 5V. Seule l'horloge temps réel (RTC) est alimentée en permanence. La bouée utilise la broche de sortie de la RTC pour commander un transistor permettant l'alimentation du reste du système. Au démarrage, le système prend les mesures des capteurs - y compris une valeur de tension du module de surveillance d'alimentation. Cette valeur détermine combien de temps le système dort avant la prochaine série de mesures. Une alarme est programmée pour ce moment, puis le système s'éteint lui-même !
Le système comprend de nombreux capteurs et un module radio connectés à un Arduino. Le module GY-86, la RTC, le module de surveillance d'alimentation et le multiplexeur I²C communiquent avec l'Arduino via I²C. Le multiplexeur était nécessaire car le GY-86 et le module RTC que nous avons utilisé ont la même adresse. Le multiplexeur permet de communiquer sans tracas supplémentaires, bien que ce soit peut-être un peu excessif.
Le module radio communique via SPI. À l'origine, nous avions aussi un module carte SD, mais il a causé tant de maux de tête à cause de la taille de la bibliothèque SD que nous avons décidé de l'abandonner.
Regardez le code. Vous avez probablement des questions - et des doutes persistants - et nous serons ravis de les entendre. Les tutoriels approfondis incluent des explications de code, ce qui devrait clarifier les choses !
Nous avons essayé de séparer logiquement les fichiers de code et d'utiliser un fichier principal pour les inclure - une méthode qui a parfaitement fonctionné.



Électronique de la station de base
- Schéma du circuit du Pi
La station de base utilise un Raspberry Pi Zero avec un module radio. Nous avons pris le boîtier sur https://www.thingiverse.com/thing:1595429. Merci beaucoup !
Une fois le code en cours sur l'Arduino, il est assez simple de récupérer les mesures sur le Raspberry Pi en exécutant le code receive.py.
Un membre de l'équipe T3ch Flicks est développeur web et a récemment appris Vue JS. Il a été très enthousiaste quand nous avons décidé de faire un tableau de bord et nous a époustouflés en créant ce tableau de bord très pro.

Tableau de bord
Expliquer comment nous avons fait tout le tableau de bord serait une odyssée car c'était un projet long et complexe. Si quelqu'un veut savoir comment nous l'avons fait, dites-le-nous - le développeur web résident de T3ch Flicks serait plus qu'heureux de faire un tutoriel là-dessus !
Une fois ces fichiers mis sur un Raspberry Pi, vous devriez pouvoir lancer le serveur et voir le tableau de bord avec les données qui arrivent. Pour des raisons de développement et pour voir à quoi ressemblerait le tableau de bord avec de bonnes données régulières, nous avons ajouté un générateur de fausses données dans le serveur. Lancez-le si vous voulez voir l'apparence avec plus de données.
Nous expliquons aussi cela en détail dans un épisode ultérieur.


Version 2 ??
Problèmes rencontrés
Ce projet n'est absolument pas parfait - nous préférons le voir comme un prototype/preuve de concept. Bien que le prototype fonctionne fondamentalement : il flotte, prend des mesures et arrive à les transmettre, il y a beaucoup de choses apprises que nous changerions pour la version 2 :
- Notre plus gros problème : impossibilité de modifier le code de la bouée après l'avoir scellée. C'était une vraie négligence, résoluble efficacement avec un port USB recouvert d'un joint en caoutchouc. Cela aurait toutefois ajouté une complexité supplémentaire à l'étanchéité de l'impression 3D !
- Les algorithmes utilisés étaient loin d'être parfaits. Nos méthodes pour déterminer les propriétés des vagues étaient assez grossières et nous avons passé beaucoup de temps à lire des maths pour combiner les données du magnétomètre, accéléromètre et gyroscope. Ce n'a pas été super utile au final, mais nous avons trouvé cette vidéo intéressante. Si quelqu'un comprend cela et veut aider, nous pensons pouvoir rendre ces mesures beaucoup plus précises.
- Certains capteurs se sont comportés bizarrement. Le capteur de température de l'eau était particulièrement douteux - presque 10 degrés d'écart avec la vraie température par moments. La raison pourrait être un capteur défectueux, ou quelque chose le chauffait...
Améliorations envisagées
L'Arduino était bien, mais comme mentionné, nous avons dû abandonner le module carte SD (qui devait servir de sauvegarde si les messages radio n'arrivaient pas à partir) à cause de problèmes de mémoire. On pourrait passer à un microcontrôleur plus puissant comme un Arduino Mega, un Teensy ou un autre Raspberry Pi Zero. Mais cela augmenterait le coût et la consommation.
Le module radio utilisé a une portée limitée de quelques kilomètres en ligne de vue directe (https://www.youtube.com/watch?v=57pdX6b0sfw). Cependant, avec (très) nombreuses bouées autour de l'île, nous aurions pu former un réseau maillé (https://www.youtube.com/watch?v=xb7psLhKTMA). Il y a tant de possibilités pour la transmission longue distance : LoRa, GSM. Si nous pouvions en utiliser une, peut-être un réseau maillé autour de l'île serait possible !
Utilisation de notre Smart Buoy pour la recherche
Nous avons construit et lancé la bouée à la Grenade, une petite île des Caraïbes du sud. Pendant notre séjour, nous avons discuté avec le gouvernement grenadien, qui a dit qu'une bouée intelligente comme la nôtre serait utile pour fournir des mesures quantitatives des caractéristiques de l'eau. Des mesures automatisées réduiraient l'effort humain et les erreurs, et fourniraient un contexte utile pour comprendre l'évolution des côtes. Le gouvernement a aussi suggéré que des mesures de vent seraient utiles. Aucune idée de comment gérer ça, donc si quelqu'un a des idées… Une mise en garde importante : bien que ce soit une période passionnante pour la recherche côtière, notamment impliquant la tech, il reste un long chemin avant adoption complète.
Merci d'avoir lu cet article récapitulatif de la série Smart Buoy. Si vous ne l'avez pas déjà fait, jetez un œil à la vidéo sur notre chaîne YouTube. Dans la partie 1 de la série, nous montrerons comment nous avons fait les mesures de vagues et de température. Si vous avez aimé notre travail et voulez nous aider à en faire plus, ce serait génial de nous sponsoriser sur Patreon. Merci beaucoup à Giacomo, notre premier sponsor Patreon !

Consultez le prochain article où nous montrons comment nous avons fait les mesures de vagues et température : https://create.arduino.cc/projecthub/t3chflicks/smart-buoy-making-wave-and-temperature-measurements-257ca1
Processus de fabrication
- Top 5 des avantages des systèmes d'entrepôt intelligents pour la logistique moderne
- Success stories NB-IoT : Villes intelligentes, agriculture et réseaux de services publics
- Gestion intelligente des déchets : Comment l'IoT booste l'efficacité et réduit les déchets
- Villes intelligentes : Livrer des bénéfices tangibles via des solutions de connectivité éprouvées
- Barman intelligent : Construisez votre propre station de cocktails alimentée par Raspberry Pi
- Feu de circulation intelligent : Éclairage public adaptatif alimenté par l'IoT
- Poubelle intelligente : Optimiser la collecte des déchets avec capteurs IoT
- Autodesk Smart Manufacturing : Automatisez votre flux de travail et connectez le développement produit
- Smart Manufacturing expliqué : transformer la production avec l'IoT