liaison NMEA2000 - NMEA0183 par RS485CAN-HAT sur Raspberry 4

je propose un fil de discussion dédié pour tester une alternative au projet Muxberry qui utilise un boitier étanche séparé du Rpi 4 contenant un Raspberry Pi 0 et un MCP2515 pour multiplexer tous les signaux bord

l'idée est d'ajouter un chapeau RS485CAN-HAT directement sur le Raspberry Pi 4 et
de connecter les deux fils de données des réseaux NMEA2000 et NMEA0183 sur le HAT
et de gérer le flux de données avec OpenPlotter

Xanadu, à la fin du fil de discussion sur le fil Muxberry, proposait de brancher :
les fils nmea + et - du pilote-automatique à A et B du connecteur RS485 de la carte HAT
et de relier les fils de données du backbone nmea 2000 du bateau au connexions h et l du CAN de la carte HAT, en lieu et place du bouchon de terminaison, car sur la documentation de la carte, la résistance de terminaison de 120 ohms est déjà incluse

les appro sont en cours et sans autre information c'est comme ça que je ferai les branchements.

Enfin, toujours sur les conseils de Xanadu, il faudra porter une attention particulière au page 10 , 13 et 14 du manuel d'utilisation du HAT : www.waveshare.com[...]-en.pdf
Elles concernent le paramétrages du raspberry pi, qui dans sa version de base, n'active pas le port série qui correspond avec le RS485 de la carte.

je vous tiendrai au courant de l'avance en prenant en compte toute éventuelle nouvelle remarque

L'équipage
10 jan. 2022
13 jan. 2022
0

Pour la connexion NMEA0183, sur le forum Raymarine:

"the NMEA 0183 IN+ terminal of the ST2000+ will be interfaced to the NMEA 0183 OUT+ terminal/lead of the NMEA 0183 device.
Additionally, the the NMEA 0183 IN- terminal of the ST2000+ will be interfaced to the NMEA 0183 OUT- terminal/lead of the NMEA 0183 device. "

dans la fiche technique du HAT on lit : Fonction RS485, contrôlée via UART, communication semi-duplex, prend en charge le contrôle automatique TX/RX sans programmation, émetteur-récepteur intégré SP3485

la connexion se fait donc uniquement en deux points du connecteur du pilote
Pilote ................... RS485CAN-HAT sur Raspberry 4
NMEAin+ .................... NMEA 0183 OUT+ en A
NMEAin- .................... NMEA 0183 OUT- en B

avec A sur la voie + et B sur la - comme indiqué sur le Module émetteur-récepteur SP3485 ?
Vous confirmez ?


13 jan. 202213 jan. 2022
0

Bonjour,

je confirme les connexions.

si par hasard cela ne fonctionnait pas du premier coup, vous pourrez faire une inversion des connexions A / B.

Sur des entrées / sorties de type différentielles, cela ne risque pas de fumer ... ( idem pour le CAN H / L par ailleurs )

le blindage du câble peut être relié à GND ou au screen Seatalk 0V, l'immunité aux parasites est meilleure quand le blindage est connecté que d'un seul coté.

Cordialement.


0

Bonjour,
j'ai donc installé un RS485CAN-HAT sur un Raspberry 4B et connecté le HAT au réseau NMEA2000 via les fils bleu et blanc comme indiqué dans le § CAN de Openplotter et appliqué le reste de la procédure.
j'ai aussi appliqué les instructions des pages 13 et 14 du manuel utilisateur du HAT pour activer Serial dans la configuration du Raspberry, mettre enable_uart=1 et entré #dtoverla=pi-minuart-bt (sans savoir à quoi ça sert...)

résultat:
je vois can0 dans le dashboard de Signal K mais il n'est pas actif (ne clignote pas) et la ligne can0 n'apparait pas dans le Data Browser

j'ai tenté d'intervertir les fils bleu et blanc, qlq manipulations dans signal K notamment pour autoriser le GPIO. Si je lance le Check System je n'ai aucun conflit ni aucune erreur de signalée.

Dans la fenêtre CAN-Bus de Openplotter, onglet MCP2515 on peut ouvrir une fenêtre de trafic mais je ne connais pas les commandes pour le visualiser mais a priori rien ne traverse le HAT pourtant mon réseau NMEA2000 est actif puisque je vois des données sur mon tableau de bord.

Quelqu'un aurait une idée de manipulation à effectuer ?
Merci!


Xanadu:Bonsoir,la page 10 du manuel de la carte précise les instructions à ajouter au fichier config.txt pour l'initialisation de la partie CAN de la carte.Ensuite, il vous faudra collecter par ce canal les données NMEA2000 nécessaires au pilote avec signal-K, les convertir en NMEA183, filtrer les trames type RMB pour la navigation au compas et VWR pour la navigation régulateur d'allure et rediriger ce trafic vers la sortie série du raspberry et donc activer le RS485 de la carte vers le pilote. Cette dernière étant unidirectionnelle, c'est sur le pilote lui-même en activant les fonctions automatic track ou wind trim que nous saurons si l'ensemble fonctionne.Il y a un peu de taff quand même ...bon courage.Cordialement.·le 25 jan. 20:01
xtofdel:merci mais je n'arrive pas à appliquer la page 10... je ne sais pas faire! je ne vois pas comment on ajoute ces lignes dans le config.txtAppend these statements to the file:dtparam=spi=ondtoverlay=mcp2515-can0,oscillator=8000000,interrupt=25,spimaxfrequency=100000Pour mettre SPI=on j'ai activé SPI dans la conf du Rpil'oscillateur est un 120000000 et je l'ai rentré en ajoutant le MCP2515 dans la fenêtre dédiée au CAN-Busje n'en suis pas encore à envoyer des données au pilote. il faut d'abord que je les vois dans Signal K... ·le 26 jan. 00:38
Xanadu:Bonjour,vous avez activé le SPI dans la configuration du raspberry, c'est parfait.Ouvrez une fenêtre de terminal, entrez la commande sudo cp /boot/config.txt /boot/config.ancien si vous souhaitez sauvegarder la configuration existante.Entrez la commande sudo nano /boot/config.txt pour modifier la configurationavec les flèches du clavier, (on est en mode console ), trouvez la ligne dtparam=spi=onC'est l'utilitaire de configuration qui génère cette lignepositionnez le curseur à la fin de cette ligne, faites CR pour en ajouter une, écrivez les fameux paramètres dtoverlay=mcp2515-can0,oscillator=8000000,interrupt=25,spimaxfrequency=100000Profitez en pour vérifier la fréquence du quartz de la carte est bonne ( 12 Mhz -- oscillator=12000000ctrl O pour écrire le fichierctrl X pour sortirSi par hasard vous vous ratez dans l'écriture du fichier, ctrl X pour sortir, voulez vous enregistrer les changements N, et vous revenez au point de départ.Pour restaurer un fichier config sauvegardé au préalable, toujours en mode console :sudo cp /boot/config.ancien /boot/config.txtCordialement.·le 26 jan. 10:13
xtofdel:merci, j'ai pu ajouter la ligne dtoverlay.... au config.txt, mais du coup je ne peux plus ajouter le MCP2515 à CAN-BUS. j'ai les messages d'erreur suivant qui apparaissent dans une fenêtre-terminale : wrong external apps format: unexpected EOF while parsing (, line 0)ls: impossible d'accéder à '/sys/bus/w1/': Aucun fichier ou dossier de ce type.Et si j'essaye d'ajouter un MCP2515, quand j'ouvre la fenêtre GPIO un autre message apparait:Vous ne pouvez pas sélectionner ce GPIO pour effectuer cette tâche.Il semble que la ligne ajoutée dans le config.txt bloque le port 25 du GPIO·le 26 jan. 14:47
Xanadu:Bon je suis très mal placé pour donner des conseils de paramétrage dans OpenPlotter que je n'utilise pas ... Ce qu'il faut savoir : que ce soit à la main en mode console, ou à travers le paramétrage d'OpenPlotter, à la fin des fins, tout le monde se retrouve dans /boot/config.txt.Il faut vérifier dans ce fichier la présence de lignes redondante ou divergentes, avec des variantes de paramétrage contradictoires, générées par les paramétrages successifs.Ce qui pourrait expliquer vos déboires. D'un point de vue pratique, vous pouvez faire vos paramétrage dans OpenPlotter et vérifier leurs impacts en listant le contenu de config.txt avec la commande console cat /boot/config.txt qui affiche son intégralité à l'écran.De même, si on veut suspendre une directive de ce fameux fichier le temps d'un test, vous pouvez mettre un dièse en tout début de ligne, cela la transforme en commentaire et elle ne sera pas interprétée au boot.Pour la réactiver, supprimez le dièse.le prix à payer quand on manipule ce fichier, c'est que les modifications ne sont prises en compte qu'au démarrage du raspberry. C'est l'équivalent du célèbre autoexec.bat des systèmes Dos/Windows de nos grands-pères...Bon courage, car en philosophie informatique primaire, c'est toujours le plus têtu qui gagne ...·le 26 jan. 16:59
0

Hello,
Je ne suis pas sur de bien comprendre ce qui tourne en SW sur le PI. La conversion NMEA200/183 est elle faite par OpenPlotter?

Ou bien OpenPlotter genere des trames 183 et 2000 directement?
Ou bien avez vous un transcodeur 183/2000??? Si oui, je suis preneur de l'URL du Git.... :-)

Merci!


0

Bonjour,
Openplotter tourne sur le Rpi avec Signal K pour les conversions
Pour l'instant Openplotter ne génère rien, ce sera l'étape d'après
j'en suis à essayer de lui faire lire les trames NMEA2000 pour les visualiser dans OpenCPN


0

Pourquoi du RS485 ? C'est un protocole bus série pas fait pour faire du série point à point pour le NMEA0183. Certains chip RS485 peuvent être configurés pour faire du RS232, mais en pur RS485 ne NMEA0183 ne passe pas.

Autre point: utiliser un processeur qui consomme au moins 2W, pour faire une opération qui peut tourner sur un microcontrôleur qui en consomme 10 fois moins, me paraît bizarre.


xtofdel:NMEA2000 sur Openplotter·le 25 jan. 23:10
0

je reprends l'installation suite aux conseils de Xanadu que je remercie

j'ai installé le RS485CAN-HAT sur un Raspberry 4B et connecté le HAT au réseau NMEA2000 via les fils bleu et blanc comme indiqué dans le § CAN de Openplotter et appliqué le reste de la procédure: openplotter.readthedocs.io[...]pp.html

Il y a aussi des consignes à appliquer dans les pages 10, 13 et 14 du manuel utilisateur du HAT RS485CAN-HAT : www.waveshare.com[...]-en.pdf
mais dès l'application des consignes de la page 10, le lancement de la vérification conduit à ce rapport d'erreur : erreurs -34 et -52 !

pi@RpiX:~ $ dmesg | grep -i '(can|spi)'
[ 2.066792] systemd[1]: Set hostname to .
[ 7.308938] CAN device driver interface
[ 7.318369] mcp251x: probe of spi0.0 failed with error -34
[ 16.777213] ieee80211 phy0: brcmfcfg80211scan: scan error (-52)
[ 23.940610] can: controller area network core (rev 20170425 abi 9)
[ 23.951099] can: raw protocol (rev 20170425)
pi@RpiX:~ $ ^C
pi@RpiX:~ $

"probe of spi0.0 failed with error -34" !!! ça veut dire quoi ?
là je ne suis pas sur mon bateau et les fils de connexion au NMEA2000 ne sont pas connectés mais je ne pense pas que ça explique cette défaillance de spi0.0...


Xanadu:D'après les forums Internet, cela veut dire que le paramètre oscillator de config.txt ne correspond pas à la fréquence du quartz de la carte ... 1Mhz = 1 000 000·le 26 jan. 20:00
0

je joins une photo de l'oscillateur. la fréquence est clairement affichée mais on ne sais jamais, je ferai un test avec les deux autres fréquences proposées par OpenPlotter
à bientôt pour le résultat


Xanadu:ça ressemble pourtant bien à du 12 Mhz oscillator=12000000 ...·le 26 jan. 21:50
Xanadu:Note: trouvé sur la notice du fabricant ....There are two versions. The only difference betweem these version are the crystal. The old one use 8M and the line added to config.txt file should be:dtoverlay=mcp2515-can0,oscillator=8000000,interrupt=25,spimaxfrequency=1000000The new one use 12M crystal and the line should bedtoverlay=mcp2515-can0,oscillator=12000000,interrupt=25,spimaxfrequency=2000000·le 27 jan. 09:48
xtofdel:je comprends maintenant que le manuel utilisateur du RS485 CAN HAT n'est pas applicable. OpenPlotter fait tout ce qui est décrit dans ce manuel via les fenêtres de configuration. En utilisant les deux procédures on créé des conflits ou on efface ce qu'on vient de faire.Seule la procédure décrite dans Openplotter est applicable et gère l'installation du MCP2515. Le problème c'est que si je l'applique à la lettre, le MCP2515 est bien détecté, on peut l'installer et le connecter à Signal K, can0 apparait dans Signal K mais inactif dans le Dashboard, et il n'est pas dans le Data Browser comme l'indique la procédure!le problème est ailleurs...·le 27 jan. 10:31
Xanadu:L'heure est peut être venu d'alimenter le montage avec un flux nmea2000, histoire de réveiller signal-K et par là Openplotter ...·le 27 jan. 17:05
xtofdel:Bonne idée! c'est bien sûr ce que je fais. Mon bateau est à 5 minutes à pied. c'est là que je fais les tests en ayant vérifié que mes afficheur B&G reçoivent bien des données du réseau NMEA2000. je viens de tout réinstaller proprement j'irai tester ça demain. à suivre...·le 27 jan. 18:48
xtofdel:j'ai enfin trouvé le problème, je l'explique dans le post suivant. j'ai beaucoup trituré Openplotter et le boot/config.txt et ça m'a appris beaucoup. je suis sûr que ça me resservira, mon projet n'est pas terminé et j'en ai d'autres. Merci Xanadu·le 28 jan. 19:10
1

La récupération des données NMEA2000 fonctionne avec le RS485-CAN-HAT!

le problème venait d'une erreur de câblage entre le Backbone NMEA2000 et le RS485-CAN-HAT. les couleurs des fils de la rallonge NMEA2000 étaient les bonnes mais pas sur la bonne borne du connecteur. Se méfier du câblage des rallonges !

la procédure Openplotter est donc très bien faite et il ne faut surtout pas utiliser le manuel utilisateur du RS485-CAN-HAT qui introduit des erreurs dans le boot/config.txt

le RS485-CAN-HAT (environ 10€) permet donc de récupérer les données du réseau NMEA2000 en connectant la borne H du connecteur NMEA2000 à la borne H du HAT. Respectivement L sur L !
Voir la photo du HAT en tête du fil de discussion et je joins le schéma de l'affectation des pinoches du connecteur.

Il reste à envoyer les données vers le pilote auto... à suivre


Xanadu:Bonsoir,je suis très content pour vous, je commence à m'attacher à votre projet ...Blague à part, connecter un pilote Raymarine sur un Raspberry va certainement en intéresser plus d'un et le coté pédagogique de votre fil va trouvé ses adeptes. pour la suite, je vous suggère de travailler d'abord les trames RMB qui sont une pure création OpenCpn. Une fois que vous aurez réussi à les acheminer jusqu'au ST2000, vous pourrez vous attaquer aux VWR, qui sont une traduction nmea2000 -- nmea183 à travers signal-K, et qui doivent suivre le même chemin.Bon courage.·le 28 jan. 20:41

Votre réponse

Merci de contribuer aux réponses sur HISSE ET OH !

Merci de vérifier de bien répondre au sujet. Fournisser des détails sur votre réponse et partager votre expérience et vos recherches !

Mais éviter de …

  • Demander de l'aide ou de répondre à une autre question (utiliser les commentaires dans ce cas).
  • Porter un jugement et manquer de respect dans votre réponse.
  • Pour plus d'information, consulter la FAQ et la Charte de HISSE ET OH !

Déposer un fichier ici ou Cliquer pour envoyer

Calme Norvège

Souvenir d'été

  • 4.5 (56)

Calme Norvège

novembre 2021