Domotique pour un voilier avec Android
Domotique sur un Voilier
Ce projet est pour le coup inhabituel notre client possède un voilier avec une quille amovible : « une dérive », mais quesque c’est qu’une dérive ? Un voilier à besoin d’avoir sous sa coque un poids appelé quille il permet à celui-ci de remonter au vent (anti-dérive) il agit comme un levier car au dessus de lui il y a les voiles et le vent pousse celles-ci et le fait gîter(pencher). Il existe différents type de quilles les fixes (de différente forme) et les dérive une lame qui descend ou remonte pour pouvoir poser le bateau sur une plage, certains comme celui de mon client à une quille de type « saumon » c’est-à-dire une quille longue coller à la coque d’environ 1m de haut avec en sont centre une dérive amovible comme une lame qui peu descendre à 1m90 et remontée dans le saumon soit totalement relevée. Voici pour la petite histoire. Mon client veut motoriser la dérive et la piloter à partir du poste de navigation à l’extérieur car celle-ci d’origine ce relève par un « bout » (corde) sur un « winch » (treuil avec une poignée qui s’emboite) le tout à l’intérieur du bateau et suivant les conditions de navigation c’est vite compliqué et surtout mon client fait un peu de course avec sont voilier donc le réglage change souvent suivant dans quelle direction viens le vent…
Copie écran sur la Tablette 10″ en Application Android
La dérive et son saumon
Les demandes du client :
- Motoriser la dérive.
- Avoir les informations et le pilotage sur une tablette Android.
- Récupérer l’information de l’angle de la barre (barre pour faire tourner le bateau ou barre à roue avec le safran).
- Créer un baromètre avec un historique sur la pression pour surveiller la météo.
- Créer un thermomètre (pour le fun).
- Créer un GPS avec valeur en temps réel, sauvegarde de la vitesse max, direction, reset pour effacer.
- Créer un Inclinomètre (gitomètre) Angle en temps réel plus sauvegarde angle max gauche et droit.
- Le tout doit être rapide de compréhension par un simple regard visuel, donc intégrer des images ludiques.
Réflexion :
Piloter un moteur rien de bien compliqué j’utilise des moteurs plus ou moins puissants pour piloter des portes ou trappes donc il faut prendre en compte la force car la dérive pèse 80kilo mais j’ai l’habitude de prévoir large et je choisis souvent un moteur avec une bague à effet hall qui me permet de compter les tours et de savoir la position de celui-ci car le client veut un réglage comme ceci :
Haute, sortie de 20%, sortie de 40%, sortie de 60%, sortie de 80% et totalement basse.
Fonctionnement de la dérive
Le retour des infos sur une tablette c’est pratique car si la tablette est abîmée il suffit de la changer et d’installer l’application Android sur mesure de type de fichier APK.
Pour le baromètre j’utilise un module Bosh qui est fiable il fait également la température donc c’est parfait.
Pour le GPS j’ai fabriqué pas mal de compteur de voiture de sport avec justement les mêmes fonctions mais en Km/h donc juste à convertir en nœuds pour la voile. Le client veut les mêmes valeurs qu’une station qu’il à déjà à bord nous allons donc comparer nos trois GPS :
- Celui de sa station de marque B&G model Zeus 2 en 9pouces.
- Celui par défaut dans la tablette Android.
- Et celui que j’ai l’habitude d’utiliser dans mes montages un NEO 7M
Pour l’inclinaison idem il existe des modules (drone) pour connaitre dans tout les axes une position.
Pour gérer tout çà il me faut 2 modules programmables de type Arduino, j’utilise donc un ESP32 comme çà je peux créer un réseaux wifi propre au bateau pour piloter à distance les commandes.
Réalisation:
Test de la maquette ESP32 GPS BARO & Android
J’ai commencé par chercher le matériel qu’il me fallait pour commencer les tests j’ai commandé plusieurs matériels car comme d’habitude certains sont de mauvaise qualité je savais que les Arduino ESP32 sont très fiable j’en ai qui tourne depuis des années et transmets beaucoup de données sur des bases de données pour site web (capteurs) donc là ok.
Ensuite coté GPS idem le NEO7M est fiable et rapide sont codage est simple en quelques ligne çà fonctionne.
Pour le capteur barométrique j’ai pris donc un de précision de marque Bosch mais du coup les valeurs change souvent (avantage ou inconvénient…).
J’ai eu un souci avec un capteur de gite pour l’angle du bateau je suis passé sur une autre version qui fonctionne correctement.
Pour le capteur de barre (de combien l’angle du safran est il tourné) j’ai pris un capteur simple il en existe un seul sur le marché et ce n’est pas top en termes de valeur peu précis donc je l’ai modifié je me sers que de sa partie mécanique de fixation mais j’ai modifié la partie électronique et là c’est précis 1° comparé à 10° d’origine ce qui est énorme pour avoir l’information en course.
En gros vues la conception du bateau je devais avoir 3 endroits :
- Le cockpit de navigation pour la tablette en sans-fil.
- Au-dessus du mécanisme de barre (angle du safran : pilotage du bateau) ici j’ai choisi de mettre la centrale de commande avec les capteurs car j’avais de la place et pas de risque qu’une personne y touche.
- Pour la dérive là c’est le plus compliqué car il faut faire un système de palan qui viens ce fixer sur le moteur électrique à fort ampérage plus les fixations et l’électronique le tout en dessous de la table intérieur dit « le carré ».
Vue que nous somme sur du sans fil je créé un réseau wifi ou tout le monde ce connecte entre eux et sécurisé.
Codage matériel ESP32:
Je commence toujours par les problèmes je ne veux pas perdre de temps à la fin je préfère commencer par ce que je n’ai pas l’habitude de faire et ensuite coder ce que je connais déjà car là je vais beaucoup plus vite.
Une fois testés tout les capteurs, moteur, réseaux wifi, ordres donnés entres les deux ESP32 et Android j’ai donc établit un protocole de communication comme par habitude en json c’est en gros un format texte avec des commande exemple : dérive :80 l’autre programme interroge toutes les secondes cherche le mot dérive et extrait la valeur 80. Il faut aussi sécuriser la valeur il renvoi en gros j’ai reçu dérive 80 c’est ok ? Oui c’est ok et là le moteur règle le moteur pour arriver que la dérive sorte à 80%…
Pour Android vers le module de programmation Arduino ESP32 lui à deux fonctions :
- Récupérer les infos pour les afficher donc la technique Json est parfaite
- Envoyer les commandes soit pour la dérive + haut et – pour bas.
J’ai donc utilisé un serveur web intégré à mon ESP32 maitre et j’envoi des commandes comme son adresse ip et h par exemple pour haut ou b pour bas et c’est instantané ensuite le module créé les nouvelles valeurs en json et intègre aussi les autres infos des capteurs et le tour est joué…
Application Android sur mesure:
L’avantage d’une tablette avec Android c’est que vous pouvez choisir la qualité de la tablette là c’est assez important pour la qualité d’écran car elle serra dehors au soleil il faut que ce soit visible…
Pour les photos c’est une veille tablette de test 10pouces en Leonovo model 7600F d’origine elle est en Android 4.4 que j’ai mis à jour en Android 7.1 pour plus de compatibilité pour la programmation de l’application ce n’est pas simple à mettre à jour il faut vraiment être conscient que le plantage peut être irréversible…
Pour la taille je devais avoir la même taille que celle du client pour faire un visuel sympa et complet.
Je peux programmer pas mal de choses sur Android comme communiquer avec une base de données sur un site web pour une entreprise etc… Récupérer des capteurs ou sondes à distances et les rendre visibles sur une page web ou une application Android Reims-digital programme pour vous ce que vous souhaitez.
Conclusion:
J’ai apprécié faire ce projet qui n’est pas totalement fini car en test en ce moment à la création de ce post 25/08/2022. Les tests de GPS sont en cours et de la dérive aussi (mesure d’ouverture sous l’eau).
J’ai mis autant de temps à coder la partie mécanique hardware que l’application Android mais en moyenne chaque problème à été réglé. L’avantage c’est que c’est évolutif des deux coté le matériel et l’application Android. Le moteur coût assez cher pour avoir de la qualité et la charge supportée avec une marge importante. En gros c’est presque 50/50 : moteur vs le reste du matériel.
Toutes mes compétences ont été utilisées pour ce projet : la partie mécanique, l’électronique, le codage, application Android, réseau wifi, serveur web…
N’oubliez pas Reims-digital code pour vous de l’application Android au site web vitrine ou boutique en ligne. Contactez-moi pour en discuter.
Alexandre