MULTIPLEXEUR WIFI

ADDENDUM AVRIL 2019

Les explications qui suivent (notamment en ce qui concerne le YAKKER) ne sont plus d'actualité.

Dès que j'ai 5 mn, je mets à jour toutes les infos. Ceci étant, le descriptif du programme arduino concernant le multiplexeur et sa librairie dédiée reste d'actualité.

P.S. Aussi bien que le YAKKER et pour moins cher, si vous savez un peu bidouiller, je vous conseille le NMEA4Wifi, dont le concepteur est un navigateur, très réactif et très collaboratif (voir fin de page).
De plus, un forum dédié permet de bien avancer...

cool

______________________________________________

ANCIEN TEXTE...

A l'époque, quand j'avais acheté le système YAKKER, je ne connaissais pas bien l'arduino.
Depuis, j'ai fait quelques progrès.

Avec toutes mes bidouilles et toutes les phrases NMEA que j'ai depuis écrites, il me fallait un multiplexeur supplémentaire, le YAKKER n'ayant que 3 entrées.
Plutôt que d'en racheter un nouveau pour le mettre en cascade (ce qui du coup ne me faisait en réalité que 2 entrées en plus), j'ai préféré écrire un petit programme et acheter une carte Mega (+/- 11 roros) pour faire les actions suivantes :

Rappel:
Sur une carte arduino MEGA, il y a 3 entrées/sorties supplémentaires (par rapport à une UNO par exemple) ; ces 3 Serial sont donc RX1/TX1, RX2/TX2 et RX3/TX3 (RX = réception, TX = transmission)

Sur la MEGA (pour mes besoins spécifiques), j'ai donc  les entrées et la sortie suivantes :


 Serial.begin(115200) (c'est la sortie vers PC et/ou WiFi ou un afficheur qui lit le NMEA)   
 Serial1.begin(9600)  …………………….  entrée fuel
 Serial2.begin(57600) …………………… DST800
 Serial3.begin(115200)………………...… YAKKER
 mySerial.begin(4800) …………………… COMPAS DU Pilote automatique

et cela correspond à :

Multiplexeur YAKKER  ------->  SERIAL3 YAKKER (GPS, AIS, VENT,T°ext, Profondeur)
Jauge FUEL                  ------->  SERIAL1 (RPM, Reste_Fuel, Baro, T° int, Humi.)
Capteur DST800           ------->  SERIAL2 (Profondeur, T°eau, STW)
PA Garmin                      ------->  MYSERIAL (cap magnétique du PA)

Remarque :

J'ai retiré du sketch proposé ci-dessous la sortie MySerial qui nécessite la bibliothèque "SoftwareSerial".
 

******* SKETCH MULTIPLEXEUR ***

RAPPEL :

Les // servent à mettre des commentaires ou décommettre une instruction.
Quand il y a plusieurs lignes, on met en début    /*  et à la fin  */ et cela rend les instructions inopérantes.

Avant d'exécuter ce programme (sketch), il est nécessaire d'ajouter la bibliothèque adéquate dans le dossier de l'IDE (généralement dans c:\...\Documents\arduino\libraries\..)

N.B.  : Cette bibliothèque est proposée sur ce site en téléchargement car des modifications de lignes ont été nécessaires pour assurer son fonctionnement avec ce sketch.

Les vitesses indiquées en parenthèses ex : Serial1.begin(9600); correspondent à la vitesse de lecture de l'arduino QUI DOIT correspondre à la vitesse de sortie de l'émetteur.
Exemple : si votre GPS émet en
4800 bds, il faudra indiquer Serial1ou2ou3.begin(4800)...

Pour la sortie, s'il y a plusieurs phrases, autant mettre une vitesse élevée (ici, en l'occurence, Serial.begin(115200) ).

//**********************************************************

 /*

¨Pour les branchements, la vitesse d'entrée sur le MULTIPLEX doit être la même que la vitesse de sortie de l'émetteur
 */
 
  #include <nmea.h>   
  // #include <PString.h>                //   cette librairie n'est pas nécessaire ici (sert à construire des phrases nmea)
  //  #include <SoftwareSerial.h> // pas nécessaire ici
        
  NMEA nmeaDecoder(ALL);  
       
  void setup()
  {
     
  Serial.begin(115200);   // SORTIE VERS WIFI ET OU PC
  Serial1.begin(9600);  // ENTREE FUEL (RPM, Reste_Fuel, Baro, T° int, Humi.)
  Serial2.begin(57600); // ENTREE DST800 (Profondeur, T°eau, STW)
  Serial3.begin(115200); // ENTREE YAKKER (GPS, AIS, VENT,T°ext, Profondeur)
  //  mySerial.begin(4800);  // ENTREE COMPAS MAG. DU PA
   
 // pinMode(8, OUTPUT);
     
  }   
     
  void loop()
  {   

//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// LECTURE DES DATA NMEA
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  

  if (Serial1.available()) {                                          // VERIFIE SI KEKCHOSE PASSE PAR LE SERIAL1
   
   if (nmeaDecoder.decode(Serial1.read())) {                          // VERIFIE SI CE KEKCHOSE EST UNE PHRASE NMEA VALABLE
    Serial.println(nmeaDecoder.sentence());                           // SI OUI, ON LA PUBLIE
    delay(100);
    }
   }

////////////////////////////////////////////////////////
  if (Serial2.available()) {                 
   
   if (nmeaDecoder.decode(Serial2.read())) {   
    Serial.println(nmeaDecoder.sentence());
    delay(100);
    }
   }

///////////////////////////////////////////////////////
  if (Serial3.available()) {                 
   
   if (nmeaDecoder.decode(Serial3.read())) {   
    Serial.println(nmeaDecoder.sentence());
    delay(100);
    }
   }

  }  

//************************************************************

Sur Amazon, on trouve des cartes Arduino/Mega à +/- 14 roros. J'évite les cartes moins chères vendues sur Alibaba et autres Bangood car la fiabilité n'est pas toujours garantie...
https://www.amazon.fr/ELEGOO-ATMEGA-Contr%C3%B4leur-Module-Arduino/dp/B06XNPKSDK/ref=sr_1_5?s=computers&ie=UTF8&qid=1548250625&sr=1-5&keywords=arduino+mega

L'IDE arduino est à télécharger ici
https://www.arduino.cc/en/Main/Software

Plus quelques fils Dupont M/M ou M/F pour les branchements avec des connecteurs Wago pour aller plus vite (dispos également sur Amazon),

Pour une vingtaine d'euros en comptant large, vous disposez d'un multiplexeur NMEA.
Après, en creusant et en s'habituant un peu, il est facile de construire ou reconstruire ses propres phrases NMEA, de n'en extraire pour calcul que certains termes etc...

pavillon_peti.jpg

Pour la petite histoire, après m'être lancé dans l'arduino, je souhaitais des boitiers spécifiques pour héberger ces différents montages. Une connaissance m'avait imprimé un fichier trouvé sur thingiverse, mais très vite les limites sont apparues puisque mes montages sont particuliers.

Ainsi dans le cas du multiplexeur ci-dessus, je souhaitais ajouter ce multiplexeur MEGA au système déjà existant YAKKER (multiplex & Wifi, donc 2 modules), avec un convertisseur 12V/5V.

Après avoir testé le logiciel de conception 3D SolidWorks qui est pas mal mais vraiment trop puissant pour mes petites réalisations, j'ai opté pour FreeCad qui est OpenSource. Il y a de nombreux tutos sur Youtube.
Dans la foulée, le Père Noël m'a apporté une imprimante 3D, j'ai construit des profils sur Symplify3D et hop ! roule ma poule, je me suis lancé dans la conception, réalisation et impression 3D...

Les photos sont agrandissables, il suffit de cliquer...

20181224_110408.jpg 20181224_110156.jpg IMG_20181223_175228.jpg
20181224_110439.jpg 20181224_110419.jpg 20181224_110915.jpg
20181224_110739.jpg IMG_20181223_175104.jpg IMG_20181223_175301.jpg

______________________________________________________

Comme expliqué dans l'addendum, j'utilise actuellement un multiplexer Wifi/NMEA0183  (NMEA4WIFI) que j'ai obtenu à un bon prix (carte montée pour ~ 29 roros !) ce qui - du coup - me ralentit sur le boulot ci-dessous que j'ai commencé et toujours pas finalisé (mais durant l'hiver, quand j'aurais 5 mn, je continuerais...wink ).

scenario.jpg
image agrandissable

Multiplexeur Wifi perso à moins de 15 roros...

Il s'agit tout bêtement d'une carte WeMOS Mega + WiFi R3 ATmega2560 + ESP8266 USB-TTL avec lecteur de carte micro-SD intégré...

WEMOS.jpg
image agrandissable

Le pied, quoi... juste un problème de librairies à harmoniser, mais comme le NMEA4WIFI fonctionne très bien, je ne suis pas pressé et surtout, moins motivé...

yakker 2ecrans2.jpg

yakker2ecrans1.jpg


Date de création : 23/01/2019 13:38
Catégorie : -
Page lue 4251 fois