Tableau de bord bateau via arduino & Raspberry Pi ou arduino mega + arduino due

Bonjour à tous,

je viens a vous pour vous présenter un projet que j'ai depuis quelques temps, mais que je commence a concrétiser depuis que je découvre les carte Arduino.

Le projet :
Je suis en cours de rénovation d'un bateau et j'ai presque tout a refaire, électronique compris.
Du coups je me disais que je tenterais bien de faire un tableau de bord / centrale de navigation.

Pardon si je ne suis pas au bon endroit :slight_smile:

Du coup le principe serait :

Coté acquisition de donnée une carte arduino mega, elle récupérera les information :
RPM, Tension, intensité, température, niveau de carburant, débit mètre, trim du moteur .....

Coté IHM (tableau de bord) : Ecran du genre 10" (tactile)
Affichage de ces information sous forme de jauge/compteur, vitesse GPS, position GPS , compas /boussole, cartographie (optionnelle : et juste position pas de traçage de route) et détaille de certaine information sur des page différente. (historique des consommation, distances parcourues, suivi des vitesse en fonction de la position GPS ...)

pour le coté IHM je suis un peut perdu :
j'hésite entre une raspberry PI relié via BUS CAN à l'arduino

La partie Acquisition ne m’effraie pas trop, c'est presque que de la lecture de GPIO.
Coté IHM.... c'est plus flou, je ne suis pas un grand fan de la raspberry Pi, enfin surtout de la couche linux quelle embarque, mais c'est l'ocasion de s'y mettre.

Voila je viens a vous pour vos conseil de réalisation dans un premier temps du schéma bloc :wink:

En vous remerciant !

Bonjour,

pourquoi ne pas centraliser toutes les informations sur un arduino pour ensuite les diffuser en WIFI. De l'autre coté une tablette tactile fera l'affaire. Soit vous faites un serveur web sur un arduino assez puissant pour une connexion directement sur un navigateur web , soit vous développez une application web coté client pour récupérer uniquement les données de l'arduino à afficher.

Soit vous faites un serveur web sur un arduino assez puissant pour une connexion directement sur un navigateur web

Ou plutôt un ESP12E ou ESP32 qui embarquent le WIFI, beaucoup plus à même d'héberger un serveur WEB qu'un ARDUINO.
Côté raspberry ou smartphone ou tablette, utiliser un simple navigateur.

@+

Merci pour votre retour !

Concernant la communication vers l'IHM, il est vrais que je partait naturellement sur une technologie filaire.
je ne m’étais pas posé la question du wifi.
le wifi est-il aussi robuste que le CAN ?

pour la partie IHM.
c'est la que le me pose plus la question, il est vrais que se serait pas mal de partir sur une tablette, mais alors pour le coup je ne vois pas du tout avec quel outil développer, la c'est l’inconnu.

après il y a le débat arduino / raspberry pour le coter server web /affichage. :wink:

mais vaut 2 idées me plaisent bien :slight_smile:
Je vais me pencher sur les solution ESP32, peut être plus simple a mettre en œuvre que le CAN.

pour la partie IHM.
c'est la que le me pose plus la question, il est vrais que se serait pas mal de partir sur une tablette, mais alors pour le coup je ne vois pas du tout avec quel outil développer, la c'est l'inconnu.

Il n'y a rien à développer sur la tablette ou la RASPBERRY. On utilise le navigateur et on entre l'adresse IP de l'ESP32 ou l'ESP12E.

après il y a le débat arduino / raspberry pour le coter server web /affichage. :wink:

Le serveur WEB est sur l'ESP32 ou l'ESP12E.

@+

ah !
J'avoue ne pas bien comprendre alors.

A quel moment se fait le développement de l'IHM ? (mise ne page, jauges, indicateurs ...)

En fait sur la partie écran / tablette je voudrais afficher quelque chose de ce genre :

Mails il faut bien le développer quelque part en HTML ?

Bien entendu, sur le serveur WEB, c'est à dire l'ESP32 ou ESP8266.

Quand tu te connectes sur un site WEB avec ta tablette ou ton PC, on est bien d'accord que le code HTML, CSS, JAVASCRIPT est envoyé à ton navigateur par le serveur, et que tu n'as rien à développer sur le client Firefox ou Chrome pour afficher tout ça ?
Avec un ESPXXXX c'est pareil.

@+

Oui, il te suffira de placer sur ta page html des objets Javascript (ou jquery) comme celui-ci. Il ne restera plus qu'à les mettre à jour avec un flux de données (ajax ou websocket).

ah ben oui... suis je bête !!!

Ok, ca prends forme petit a petit dans ma tête.

je vais travailler sur le diagramme bloc dans ce sens !

Merci !! :wink:

bon Zlika, la c'est tout comme si tu me parlais chinois :wink:
HTML c'est bon, j'ai... Javascrip... c'est plus lointain déjà mais je cite... mais le reste !! :wink:

T'inquiètes pas, quand tu seras à cette étape, on t'expliquera. Pendant que j'y suis un autre lien pour les gauges. :wink:

Sans javascript cela va être difficile d'afficher une jauge ou un compteur.
En HTML pur tu pourras afficher simplement :

Vitesse : 65

@+

Disons pour simplifier que le html va te permettre de dessiner ta page dans son ensemble, mais cela restera statique. Pour avoir des objets animés, on utilise un code de programmation qui est le Javascript qui, comme le language arduino, rendra cette objet réactif au moyen de méthodes, d'événements, de propriétés. Cependant, tu ne va pas recharger en permanence ta page pour actualiser tes données, ce ne serait pas fluide. Il faut donc mettre en place un 'canal' pour le transfert des données (ajax ou websocket) pour modifier les propriétés des objets Javascript.

Je pense qu'un débutant devrait commencer par du HTML pur et ensuite faire évoluer la chose en expérimentant petit à petit. Pas la peine de se noyer dans l'excès de technologie.

Commencer également par recenser les besoins afin de choisir le module ESP8266 qui convient. Combien de GPIOs, de canaux ADC, sans oublier I2C, SPI, etc.

@+

Le développement d'un projet se fait étape par étape. Faire simple au début pour définir le squelette et faire évoluer ton code module par module. Quoi qu'il en soit, tu sais que par la suite, les outils sont déjà disponible pour obtenir le résultat attendu. Mais comme tout développement, ca va prendre du temps...
Bon courage :wink:

Si l'IHM a vocation à être affichée à tout endroit du bateau, le wifi et la tablette sont justifiés. Sinon, un simple écran (tactile) TFT branché sur l'ESP32 fera l'affaire et ce sera plus simple à développer.

En cherchant sur Google 'arduino analog gauge tft' on trouve des exemples :

Merci pour votre aide en tout cas.

Le HTML je connais un peu en effet, j'ai fait 2 site WEB. ( tout simple sans artifice) :wink:

je vais essayer de construire mon schéma bloc ce WE.
En effet il faut recenser l'ensemble des GPIO, ADC, BUS coté HW
et les fonctionnalité coté IHM.

En effet, le dashboard n'a pas vocation à être mobile, il remplacerait l'ensemble de mes gauges complétement oxydées !

pour le moment je pense tout de même partir sur un seul écran plutôt qu'une multitude de petit écran.
Mais ma préférence serai pour un ecran complétement dédié à la fonction dashboard.

Apres l'exercice discuté plus du server, me plait pour le coté "informatique" que je ne maitrise pas trop trop.
Coté électronique pas de soucis :wink: c'est mon truc !

aller petit bilan :

Solution avec Webser + tablette :
Produit fini : +++
résistance à l'humidité et éclaboussure : + (plus nettoyage / rinçage à la maison)
Facilité de mise en œuvre à mon niveau : +/-
Solution dédié à se stricte usage : --
1 seul écran multifonction : +++
Délais de disponibilité de la solution (temps nécessaire pour que les données soient affichées une fois l'APC à ON): --

Solution avec écrans:
Produit fini : --- (nécessite la mise au point d'une mécanique, qui sera plus "grossière")
résistance à l'humidité et éclaboussure : +/- (dépend de la mécanique)
Facilité de mise en œuvre à mon niveau : +
Solution dédié à se stricte usage : +
1 gauge =1 ecran = 1 arduino ---> 7 gauges = 7 Ecrans = 7 arduino ? : ---
Délais de disponibilité de la solution (temps nécessaire pour que les données soient affichées une foit l'APC à ON): ++

Pourquoi une seule gauge par écran ? Tu as montré un exemple avec dix sur le même écran. S'il est suffisamment grand, ça sera lisible

Bonjour, bonsoir !
Désolé de ne pas répondre plus promptement :wink:
J’ai un amour de petite fille depuis juillet, du coup pas évident de me dégager du temps :wink:

Mais j’avance un peu, et cela prends forme dans ma tête.

Alors pour répondre sur l’ecran.
En fait se qu il se fait sur le marché en terme de visualisation numérique, fait dans les 15/20 pouces.
Les écran Arduino que j’ai trouvé, pour le moment font dans les 7 pouces.
Cela est donc trop petit pour un Dashboard principal.

Et puis j’en voudrais profite de ce Projet pour me lancer dans la programmation informatique (haut niveau)
Et je parcours ici et La des choses en JavaFX qui me semblent intéressentes à étudier.

Je métrais et vous présenterais Les schéma bloc lordqu’il Sera présentable.
Mais à priori ce serait :

Arduino + tablette + développement logiciel

Enfin avec de l’aide :wink: