<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[Navigation et bricolages]]></title><description><![CDATA[Open Sailing]]></description><link>https://sail.khetz.al/</link><image><url>https://sail.khetz.al/favicon.png</url><title>Navigation et bricolages</title><link>https://sail.khetz.al/</link></image><generator>Ghost 5.2</generator><lastBuildDate>Wed, 31 Dec 2025 10:46:03 GMT</lastBuildDate><atom:link href="https://sail.khetz.al/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[Ajouter un checksum NMEA0183 avec OpenPlotter]]></title><description><![CDATA[<p>J&apos;ai rencontr&#xE9; un soucis avec ma girouette. En effet, celle ci &#xE9;tant un mod&#xE8;le assez ancien, elle n&apos;&#xE9;met pas de checksum.</p><p>La longueur du c&#xE2;ble &#xE9;tant faible (la communication se fait entre la girouette et la base via</p>]]></description><link>https://sail.khetz.al/ajouter-un-checksum-nmea-avec-openplotter/</link><guid isPermaLink="false">5b2bd4c1955d4c2881f54f9a</guid><category><![CDATA[nmea0183 checksum]]></category><category><![CDATA[node-red]]></category><category><![CDATA[openplotter]]></category><category><![CDATA[pypilot]]></category><category><![CDATA[add nmea checksum]]></category><category><![CDATA[ajouter checksum nmea]]></category><dc:creator><![CDATA[Dimitri]]></dc:creator><pubDate>Mon, 09 Jul 2018 09:26:56 GMT</pubDate><media:content url="https://sail.khetz.al/content/images/2018/07/op3-1.png" medium="image"/><content:encoded><![CDATA[<img src="https://sail.khetz.al/content/images/2018/07/op3-1.png" alt="Ajouter un checksum NMEA0183 avec OpenPlotter"><p>J&apos;ai rencontr&#xE9; un soucis avec ma girouette. En effet, celle ci &#xE9;tant un mod&#xE8;le assez ancien, elle n&apos;&#xE9;met pas de checksum.</p><p>La longueur du c&#xE2;ble &#xE9;tant faible (la communication se fait entre la girouette et la base via un c&#xE2;ble coaxial, on va partir du principe que cette connexion est fiable, le nmea &#xE9;tant &#xE9;mis par le bo&#xEE;tier &#xE0; la base connect&#xE9; en nmea0183), sur un bus rs422 (Nmea0183), on peut consid&#xE9;rer le risque d&apos;erreurs faible (d&apos;autant plus qu&apos;il y a un champ nmea, le dernier, qui indique qui est &#xE0; A si la donn&#xE9;e est valide).</p><p>Cependant, certains logiciels ont besoin d&apos;un checksum et le v&#xE9;rifient. Utilisant OpenPlotter, j&apos;ai donc d&#xE9;cid&#xE9; d&apos;ajouter ce checksum avant arriv&#xE9;e des donn&#xE9;es sur le bus principal, ce qui est assez simple &#xE0; faire.</p><p>Tout d&apos;abord, il faut fixer le p&#xE9;riph&#xE9;rique pour que node-red y acc&#xE8;de toujours avec le m&#xEA;me chemin. Pour cela, dans openplotter, s&#xE9;rie, s&#xE9;lectionner l&apos;appareil, puis lui mettre le nom voulu (ici ttyOP_wind), affectation &quot;aucun&quot; (pour pouvoir l&apos;affecter &#xE0; node-red), puis appliquer. Ici j&apos;utilise l&apos;adaptateur usb-nmea0183 qui a fait l&apos;objet d&apos;un autre article sur le blog, je le m&#xE9;morise par vendeur/produit (pas d&apos;autre adaptateur avec le m&#xEA;me num&#xE9;ro).</p><figure class="kg-card kg-image-card"><img src="https://sail.khetz.al/content/images/2018/07/op1.png" class="kg-image" alt="Ajouter un checksum NMEA0183 avec OpenPlotter" loading="lazy"></figure><p>Ensuite, ouvrir le navigateur, il y a un raccourcis Node-RED, cliquer dessus.</p><p>Sur input, mettre un &quot;serial&quot;. Le configurer ainsi:</p><figure class="kg-card kg-image-card"><img src="https://sail.khetz.al/content/images/2018/07/op2.png" class="kg-image" alt="Ajouter un checksum NMEA0183 avec OpenPlotter" loading="lazy"></figure><p>Sur output, j&apos;ai fait une sortie tcp pour Pypilot (Type: Connect to, port 20220, ip 127.0.0.1), une pour Kplex (Type: Listen On, port 40440 sur lequel je viens ensuite connecter kplex si n&#xE9;cessaire), puis j&apos;ai ajout&#xE9; un function.</p><figure class="kg-card kg-image-card"><img src="https://sail.khetz.al/content/images/2018/07/op3.png" class="kg-image" alt="Ajouter un checksum NMEA0183 avec OpenPlotter" loading="lazy"></figure><p>J&apos;ai nomm&#xE9; ce function &quot;Calculate checksum&quot;.</p><p>Dans la partie code (Function), j&apos;ai mis le code suivant:</p><pre><code>var nmea = msg.payload;
var checksum = 0;


var nmea_stripped = nmea.substring(1, nmea.indexOf(&apos;\r\n&apos;));

for(var i = 0; i &lt; nmea_stripped.length; i++)
{
    checksum = checksum ^ nmea_stripped.charCodeAt(i);
}


checksum = checksum.toString(16);

padding = typeof (padding) === &quot;undefined&quot; || padding === null ? padding = 2 : padding;

while (checksum.length &lt; padding) {
    checksum = &quot;0&quot; + checksum;
}

msg.payload = &apos;$&apos; + nmea_stripped + &apos;*&apos; + checksum.toUpperCase() + &apos;\r\n&apos;;
return msg;
</code></pre><p>Il suffit ensuite de relier le tout.</p><p></p><p>Note: on peut aussi se servir de Node-Red en tant que multiplexeur au lieu de Kplex. Il suffit d&apos;ajouter une fonction multiplexeur, qui ne fait rien (juste return msg;), et d&apos;y c&#xE2;bler toutes les entr&#xE9;es et sorties que l&apos;on veut. C&apos;est bien plus fin que Kplex et pratique. </p>]]></content:encoded></item><item><title><![CDATA[Convertisseur NMEA-USB Diy]]></title><description><![CDATA[Convertisseur fait maison et pas cher d'un bus nmea0183 (en rs422) vers de l'usb.]]></description><link>https://sail.khetz.al/nmea_converter/</link><guid isPermaLink="false">5b0672dce459a5271ea246c5</guid><category><![CDATA[nmea0183]]></category><category><![CDATA[usb]]></category><dc:creator><![CDATA[Dimitri]]></dc:creator><pubDate>Thu, 24 May 2018 09:40:20 GMT</pubDate><media:content url="https://sail.khetz.al/content/images/2018/05/photo_2018-05-17_14-59-41-3.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://sail.khetz.al/content/images/2018/05/photo_2018-05-17_14-59-41-3.jpg" alt="Convertisseur NMEA-USB Diy"><p>Suite &#xE0; mon article sur Hisse et oh, je me d&#xE9;cide &#xE0; ouvrir ce blog sur les diff&#xE9;rents bricolages possibles pour pas cher sur un voilier. Cela me permettra d&apos;une part de garder une trace, mettre &#xE0; jour facilement les articles, et potentiellement de les traduire.</p><!--kg-card-begin: markdown--><p>Pour le premier article, je vais donc tout simplement recopier ce que j&apos;ai fait sur <a href="http://www.hisse-et-oh.com/forums/equipements/messages/2339082-adaptateur-nmea-0183-vers-usb-pour-1-5">hisse et oh</a>.</p>
<!--kg-card-end: markdown--><p>Comme j&apos;ai un peu gal&#xE9;r&#xE9; &#xE0; trouver les bons branchements (&#xE9;tonnamment, &#xA0;je suis peut &#xEA;tre pass&#xE9; &#xE0; cot&#xE9; mais je n&apos;ai pas trouv&#xE9; de topic ni d&apos;article sur internet qui &#xA0;expliquait &#xE7;a clairement), je vais vous expliquer comment faire un &#xA0;adaptateur nmea-0183 (rs422) vers usb propre, bidirectionnel, et full &#xA0;duplex pour 1,5$ de composants. Je vais mettre des liens vers la boutique Aliexpress o&#xF9; j&apos;ai &#xA0;command&#xE9;, mais vous pouvez tr&#xE8;s bien prendre ailleurs (c&apos;est juste pour &#xA0;la &quot;r&#xE9;f&#xE9;rence&quot;). J&apos;ai test&#xE9;, &#xE7;a marche avec un Raspberry Pi faisant tourner <a href="http://www.sailoog.com/openplotter">OpenPlotter</a> et &#xA0;mon Elite 5 Ti Lowrance (d&apos;ailleurs du coup juste en prenant les &#xA0;couleurs &#xE7;a doit marcher avec n&apos;importe quel sondeur Lowrance prise &#xA0;bleu). Tout d&apos;abord, il vous faut un classique adaptateur usb-ttl, disponible par exemple <a href="     http://s.click.aliexpress.com/e/swtZYhw">ici</a>.</p><p>Si vous comptez faire plusieurs adaptateurs, je vous conseille de &#xA0;prendre des mod&#xE8;les diff&#xE9;rents (marques diff&#xE9;rentes), comme &#xE7;a &#xA0;Openplotter peut reconna&#xEE;tre l&apos;appareil au num&#xE9;ro de s&#xE9;rie de &#xA0;l&apos;adaptateur. Sinon, il peut reconna&#xEE;tre le port physique, mais il faut &#xA0;le brancher toujours au m&#xEA;me.</p><p>Il vous faut ensuite l&apos;adaptateur <a href="     http://s.click.aliexpress.com/e/bVU5KrT6">rs422 vers ttl</a>.</p><p>Pour la connexion des 2 adaptateur, c&apos;est simple, rxd sur rsd, txd sur txd, gnd sur gnd et 3.3v sur vcc.</p><figure class="kg-card kg-image-card"><img src="https://sail.khetz.al/content/images/2018/05/photo_2018-05-17_14-59-41-2.jpg" class="kg-image" alt="Convertisseur NMEA-USB Diy" loading="lazy"></figure><!--kg-card-begin: markdown--><p>Pour la connexion vers le nmea, j&apos;ai du un peu t&#xE2;tonner.<br>
Sur le lowrance, &#xE7;a donne<br>
vert Y<br>
orange Z<br>
jaune B<br>
bleu A</p>
<p>Baud &#xE0; mettre &#xE0; 4800 des 2 cot&#xE9;s (sur openplotter et sur l&apos;appareil), si je met un baud plus &#xE9;lev&#xE9;, sur mon Elite 5 les donn&#xE9;es &quot;clignottent&quot;, je ne sais pas si c&apos;est une limitation mat&#xE9;rielle ou logicielle du &#xE9;lite 5.</p>
<p>Ce qui nous donne de fa&#xE7;on g&#xE9;n&#xE9;rique d&apos;apr&#xE8;s le manuel du &#xE9;lite:</p>
<p>Sur la carte Z sur le nmea Reception RX_A<br>
Y Reception RX_B<br>
B Transmission TX_A<br>
A Transmission TX_B</p>
<p>Voila, c&apos;est simple, mais sans doc, on peut tatonner un bon moment.<br>
L&apos;avantage du bidirectionnel: on peut r&#xE9;cup&#xE9;rer le gps sur l&apos;openplotter, mais je recup&#xE8;re aussi le compas magnetique de mon IMU sur le GPS (et &#xE7;a bizarrement en nmea wifi avec l&apos;elite 5 ti ca ne fonctionnait pas, seule l&apos;emission de donn&#xE9;es marchait).</p>
<!--kg-card-end: markdown-->]]></content:encoded></item></channel></rss>