RaspFR :: Forum

Version complète : Port UART, half-duplex, modbus RTU
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
Bonjour,

D'abord, contexte :
Nous avons des stations de mesures de paramètres environnementaux (météo, hydrologie, sismologie, GPS, ...) qui pour la plupart fonctionnent en autonomie (solaire, batteries). On a de plus en plus de stations, de plus en plus loin et certaine notablement inaccessible (corde), et de moins en moins de monde pour en faire la maintenance. On a donc adopté des système de domotique pour surveiller notre matos de loin, prévenir et/ou diagnostiquer des panne pour des maintenance préventive ou curative. Là on s'est entiché du Raspberry Pi 2 B, qui nous permet d'avoir un micro-ordinateur sur place pour effectuer plein de tâches qu'on ne peut faire à distance.

Voilà mon projet à réaliser :

Il y a un régulateur solaire (un SunSaver DUO de chez Morning Star) dont je souhaite récupérer les valeurs des sondes de tensions intégrées. La communication se fait via une connectique RJ-11 et un protocol modbus RTU.

C'est du half-duplex car le TX et RX passe sur la même pin (cf schéma que j'ai pas encore trouvé comment qu'on le met là dessus).

Ensuite il y a un Raspberry Pi, qui va interroger, récupérer et archiver les valeurs. De là deux solutions :

1 - Morning Star vend un petit boitier, le MSC MeterBus, qui transforme la com du régulateur en RS232 full-duplex. Sur ce petit boitier on installe un convertisseur RS232 - USB pour le brancher au RasPi. Oui, il existe un port série UART sur les GPIO du RasPi mais le RS232 du MeterBus demande un CTS/RTS que le UART ne prend pas en compte. Avec cette configuration du convertisseur, ça marche très bien.

2 - Une évolution de la première qui va demander plus de matière grise : Enlever le MeterBus et le convertisseur pour récupérer les trames directement à la sortie du régulateur. Ca demande d'adapter le niveau logic (3V3 sur le RasPi et encore inconnu sur le régulateur) et d'adapter ça sur le port UART. Il faudra donc également trouver un moyen de faire du half duplex sur le UART...


J'ai les tableaux de registre du régulateur, et donc les commandes "requête" et je connais la syntaxe et donc la traduction de la réponse. Mais je ne sais pas comment adapter le niveau logic et faire du half-duplex sur le UART du RasPi.

Je vous remercie pour votre lecture et par avance pour votre aide ;-)
a+
Tu as résolu ton problème?
Bonjour,
un coup d'oeil pour savoir si cela convient
A+
JB1
jb1 a écrit :Bonjour,
un coup d'oeil pour savoir si cela convient
A+
JB1
Je n'ai pas très bien compris ce que tu veux dire ...
Qu'est-ce qui convient?

Concernant le problème de benjiBoy, vu qu'il s'agit de modbus RTU, il serait normal que la liaison soit de la RS485. Il suffit donc de se procurer un adaptateur RS485 / USB et de connecter les fils sur une RJ11 côté RS485 et le problème est résolu