Table des matières:

Bouée intelligente [Résumé] : 8 étapes (avec photos)
Bouée intelligente [Résumé] : 8 étapes (avec photos)

Vidéo: Bouée intelligente [Résumé] : 8 étapes (avec photos)

Vidéo: Bouée intelligente [Résumé] : 8 étapes (avec photos)
Vidéo: Красивая история о настоящей любви! Мелодрама НЕЛЮБОВЬ (Домашний). 2024, Novembre
Anonim
Bouée Intelligente [Résumé]
Bouée Intelligente [Résumé]

Nous aimons tous le bord de mer. En tant que collectif, nous y affluons pour des vacances, pour pratiquer des sports nautiques ou pour gagner notre vie. Mais le littoral est une zone dynamique à la merci des vagues. La montée du niveau de la mer grignote les plages et de puissants événements extrêmes comme les ouragans les déciment complètement. Pour comprendre comment les sauver, nous devons comprendre les forces qui conduisent à leur changement.

La recherche coûte cher, mais si vous pouviez créer des instruments bon marché et efficaces, vous seriez en mesure de générer plus de données, améliorant ainsi la compréhension. C'était l'idée derrière notre projet Smart Buoy. Dans ce résumé, nous vous donnons un aperçu rapide de notre projet et le décomposons en conception, fabrication et présentation des données. Oh bouée, tu vas adorer ça..!

Fournitures

Pour la construction complète de la bouée intelligente, vous avez besoin de BEAUCOUP de choses. Nous aurons la répartition des matériaux spécifiques requis pour chaque étape de la construction dans le didacticiel correspondant, mais 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
  • Booster d'argent - Amazon
  • Module GPS - Amazon
  • GY-86 (accéléromètre, gyroscope, baromètre, boussole) - Amazon
  • Capteur de température d'eau - Amazon
  • Module de surveillance d'alimentation - Amazon
  • Module horloge temps réel - Amazon
  • Modules radio - Amazon
  • Module multiplexeur i^2c - Amazon
  • Imprimante 3D - Amazon
  • Filament PETG - Amazon
  • Époxy - Amazon
  • Peinture en aérosol d'apprêt - Amazon
  • Corde - Amazone
  • Flotteurs - Amazon
  • Colle - Amazon

Tout le code utilisé se trouve sur

Étape 1: Que fait-il ?

Image
Image

Les capteurs à bord de la bouée intelligente lui permettent de mesurer: la hauteur des vagues, la période des vagues, la puissance des vagues, la température de l'eau, la température de l'air, la pression atmosphérique, la tension, l'utilisation actuelle et la localisation GPS.

Dans un monde idéal, il aurait également mesuré la direction des vagues. Sur la base des mesures prises par la bouée, nous étions tout près de trouver une solution qui nous permettrait de calculer la direction des vagues. Cependant, cela s'est avéré assez compliqué et c'est un problème énorme dans la communauté de recherche actuelle. S'il y a quelqu'un qui peut nous aider et suggérer un moyen efficace d'obtenir des mesures de la direction des vagues, faites-le nous savoir - nous aimerions comprendre comment nous pourrions le faire fonctionner ! Toutes les données collectées par la bouée sont envoyées par radio à une station de base, qui est un Raspberry Pi. Nous avons créé un tableau de bord pour les afficher en utilisant Vue JS.

Étape 2: Construire - Enveloppe de bouée

Construire - Boîtier de bouée
Construire - Boîtier de bouée
Construire - Boîtier de bouée
Construire - Boîtier de bouée

Cette bouée était probablement la chose la plus difficile que nous ayons imprimée jusqu'à présent. Il y avait tellement de choses à prendre en considération car ce serait dans la mer, exposé aux éléments et à beaucoup de soleil. Nous en reparlerons plus tard dans la série Smart Buoy.

En bref: nous avons imprimé une sphère presque creuse en deux moitiés. La moitié supérieure comporte des fentes pour les panneaux solaires et un trou pour le passage d'une antenne radio. La moitié inférieure a un trou pour le passage d'un capteur de température et une poignée pour attacher une corde.

Après avoir imprimé la bouée avec du filament PETG, nous l'avons poncée, peinte à la bombe avec un apprêt de remplissage, puis appliqué quelques couches d'époxy.

Une fois la préparation de la coque terminée, nous avons mis toute l'électronique à l'intérieur puis scellé la sonde de température d'eau, l'antenne radio et les panneaux solaires à l'aide d'un pistolet à colle. Enfin, nous avons scellé les deux moitiés avec de la colle/adhésif StixAll (super colle pour avion).

Et puis on espérait qu'il était étanche…

Étape 3: Construire - Bouée Électronique

Construire - Bouée Électronique
Construire - Bouée Électronique
Construire - Bouée Électronique
Construire - Bouée Électronique
Construire - Bouée Électronique
Construire - Bouée Électronique

La bouée a beaucoup de capteurs à bord et nous les détaillons dans le tutoriel correspondant. Comme il s'agit d'un résumé, nous essaierons de rester informatif, mais bref !

La bouée est alimentée par une batterie 18650, qui est chargée par quatre panneaux solaires 5V. Cependant, seule l'horloge temps réel est alimentée en permanence. La bouée utilise la broche de sortie de l'horloge en temps réel pour contrôler un transistor permettant au courant d'entrer dans le reste du système. Lorsque le système est allumé, il commence par obtenir des mesures des capteurs - y compris une valeur de tension du module de surveillance de l'alimentation. La valeur donnée par le module de surveillance de l'alimentation détermine combien de temps le système dort avant de prendre la prochaine série de lectures. Une alarme est réglée pour cette heure, puis le système s'éteint !

Le système lui-même est constitué de nombreux capteurs et d'un module radio connecté à un Arduino. Le module GY-86, RealTimeClock (RTC), le module Power Monitor et le multiplexeur I2C communiquent tous avec l'Arduino en utilisant I2C. Nous avions besoin du multiplexeur I2C car le GY-86 et le module RTC que nous avons utilisés ont tous deux la même adresse. Le module multiplexeur vous permet de communiquer sans problème supplémentaire, même si cela peut être un peu exagéré.

Le module radio communique via SPI.

À l'origine, nous avions également un module de carte SD, mais cela a causé tellement de maux de tête à cause de la taille de la bibliothèque SD que nous avons décidé de le supprimer.

Jetez un œil au code. Il est probable que vous ayez des questions - probablement aussi des doutes persistants - et nous serions heureux de les entendre. Les didacticiels approfondis incluent des explications sur le code, alors j'espère qu'ils le rendront un peu plus clair !

Nous avons essayé de séparer logiquement les fichiers de code et d'utiliser un fichier principal pour les inclure, ce qui semblait plutôt bien fonctionner.

Étape 4: Construire - Électronique de la station de base

Construire - Électronique de la station de base
Construire - Électronique de la station de base

La station de base est réalisée à l'aide d'un Raspberry Pi Zero avec un module radio attaché. Nous avons obtenu le boîtier sur https://www.thingverse.com/thing:1595429. Vous êtes fabuleux, merci beaucoup !

Une fois le code exécuté sur l'Arduino, il est assez simple d'obtenir les mesures sur le Raspberry Pi en exécutant le code listen_to_radio.py.

Étape 5: Tableau de bord

Tableau de bord
Tableau de bord
Tableau de bord
Tableau de bord
Tableau de bord
Tableau de bord

Vous montrer comment nous avons fait tout le tableau de bord serait un peu une odyssée car c'était un projet assez long et compliqué. Si quelqu'un veut savoir comment nous l'avons fait, faites-le nous savoir - le développeur Web résident de T3ch Flicks serait plus qu'heureux de faire un tutoriel à ce sujet !

Une fois que vous avez placé ces fichiers sur un Raspberry Pi, vous devriez pouvoir exécuter le serveur et voir le tableau de bord avec les données entrantes. Pour des raisons de développement et pour voir à quoi ressemblerait le tableau de bord s'il était alimenté par de bonnes données régulières, nous avons ajouté un faux générateur de données dans le serveur. Exécutez-le si vous voulez voir à quoi cela ressemble lorsque vous avez plus de données. Nous expliquerons également cela en détail dans un tutoriel ultérieur.

(N'oubliez pas que vous pouvez trouver tout le code sur

Étape 6: Version 2 ?? - Problèmes

Ce projet n'est absolument pas parfait - nous aimons le considérer davantage comme un prototype/preuve de concept. Bien que le prototype fonctionne à un niveau fondamental: il flotte, prend des mesures et il est capable de les transmettre, il y a beaucoup de choses que nous avons apprises et qui changeraient pour la version deux:

  1. Notre plus gros problème était de ne pas pouvoir changer le code de la bouée après l'avoir collée. C'était vraiment un oubli et cela pouvait être résolu très efficacement avec un port USB recouvert d'un joint en caoutchouc. Cela, cependant, aurait ajouté une toute autre couche de complexité au processus d'imperméabilisation de l'impression 3D !
  2. Les algorithmes que nous avons 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 fini par passer beaucoup de temps à lire des mathématiques pour combiner les données des capteurs du magnétomètre, de l'accéléromètre et du gyroscope. Si quelqu'un comprend cela et est prêt à aider, nous pensons que nous pourrions rendre ces mesures beaucoup plus précises.
  3. Certains capteurs ont agi un peu bizarrement. Le capteur de température de l'eau était celui qui se distinguait comme étant particulièrement louche - près de 10 degrés de la température réelle parfois. La raison en est peut-être qu'il s'agit simplement d'un mauvais capteur ou que quelque chose le réchauffait…

Étape 7: Version 2 ?? - Améliorations

L'Arduino était bon, mais comme mentionné précédemment, nous avons dû supprimer le module de carte SD (qui était censé être la sauvegarde des données si les messages radio ne pouvaient pas être envoyés) en raison de problèmes de mémoire. Nous pourrions le changer pour un microcontrôleur plus puissant comme un Arduino Mega ou un Teensy ou simplement utiliser un autre Raspberry Pi zero. Cependant, cela aurait augmenté le coût et la consommation d'énergie.

Le module radio que nous avons utilisé a une portée limitée de quelques kilomètres avec une ligne de vue directe. Cependant, dans un monde hypothétique où nous pouvions mettre de (très) nombreuses bouées autour de l'île, nous aurions pu former un réseau maillé comme celui-ci. Il existe de nombreuses possibilités de transmission de données à longue distance, notamment lora, grsm. Si nous pouvions en utiliser un, peut-être qu'un réseau maillé autour de l'île serait possible !

Étape 8: Utiliser notre bouée intelligente pour la recherche

Utiliser notre bouée intelligente pour la recherche
Utiliser notre bouée intelligente pour la recherche

Nous avons construit et lancé la bouée à Grenade, une petite île du sud des Caraïbes. Pendant que nous étions là-bas, nous avons discuté avec le gouvernement de la Grenade, qui a déclaré qu'une bouée intelligente comme celle que nous avons créée serait utile pour fournir des mesures quantitatives des caractéristiques de l'océan. Les mesures automatisées réduiraient certains efforts humains et erreurs humaines et fourniraient un contexte utile pour comprendre l'évolution des côtes. Le gouvernement a également suggéré que la prise de mesures du vent serait également une fonctionnalité utile à leurs fins. Aucune idée de comment nous allons gérer celui-là, donc si quelqu'un a des idées…

Une mise en garde importante est que bien que ce soit une période vraiment passionnante pour la recherche côtière, en particulier impliquant la technologie, il y a un long chemin à parcourir avant qu'elle puisse être pleinement adoptée.

Merci d'avoir lu le billet de blog récapitulatif de la série Smart Buoy. Si vous ne l'avez pas déjà fait, jetez un œil à notre vidéo récapitulative sur YouTube.

Inscrivez-vous à notre liste de diffusion !

Partie 1: Faire la mesure des vagues et de la température

Partie 2: Radio GPS NRF24 et carte SD

Partie 3: Planification de l'alimentation de la bouée

Partie 4: Déploiement de la bouée

Conseillé: