Sheild téléinfo et port série

Bonjour à tous,

Je dispose d'un arduino UNO et d'un sheild téléinfo de CARTELECTRONIC (permettant de capter le signal téléinfo d'un compteur électrique). Ci-dessous le code fourni avec le sheild téléinfo. J'arrive actuellement à visualiser la trame téléinfo avec un terminal série sur pc avec l'arduino branché sur usb. J'aimerais que les données passent par les broches 0 et 1 de l'arduino (RS232). Quels seraient les modifications à apporter au code pour que cela soit possible. L'objectif est juste d'avoir les données qui transitent par les bornes 0 et 1 (je n'utilise pas les fonctionnalités du programme comme l'enregistrement de l'historique de consommation)

Je précise que je n'y connais absolument rien à la programmation.

programme : https://drive.google.com/open?id=0B0g7oNn9HpUZNU9EV3doRHRaaGs

Merci d'avance.

Dans la spec de la carte arduino (uno) il est dit

Serial: 0 (RX) and 1 (TX). Used to receive (RX) and transmit (TX) TTL serial data. These pins are connected to the corresponding pins of the ATmega8U2 USB-to-TTL Serial chip.

Je ne vois marqué nulle part et RS-232 mais il est bien dit que les pins 0 et 1 sont utilisées pour parler déjà sur votre port USB en passant par le composant ATmega8U2

Si vous expliquiez ce que vous souhaitez faire ?

L'objectif est que l'arduino capte la trame d'information téléinfo et l’émet sur son port série. Cette ligne série est ensuite branchée sur un module qui permet d'envoyer cette trame en wifi a n'importe quel PC connecté à ce module ( en créant un port série virtuel sur le pc connecté)

Merci pour votre réponse rapide.

JFRA:
L'objectif est que l'arduino capte la trame d'information téléinfo et l’émet sur son port série. Cette ligne série est ensuite branchée sur un module qui permet d'envoyer cette trame en wifi a n'importe quel PC connecté à ce module ( en créant un port série virtuel sur le pc connecté)

Merci pour votre réponse rapide.

bonjour
pourquoi un arduino ,
un simple adaptateur RS232/USB fera l'affaire

Une photo du module UNO + téléinfo avec ses câbles

Photo:

Avec les ports dispo l'adaptateur RS232/USB ne fait pas l'affaire.

La trame lue depuis un PC avec un cordon usb B sur un terminal est correcte par contre la trame reçu du module de conversion RS232/wifi est incompréhensible. (trame lue sur le terminal USR-VCOM du module de conversion)
Les paramètres ont été vérifiés (7 bits parité E, 1 bit stop).

J'ai mis une photo partielle du montage en pièce jointe sur le précédent post.

Merci ....

Quand tu dis "la trame reçu du module de conversion RS232/wifi" c'est vraiment du RS232 ou c'est une liaison UART en niveau logique 5V?

J'ai relu plusieurs ce fil et je ne vois toujours pas à quoi te sert l'Arduino là-dedans dans la mesure ou le shield TELEINFO délivre déjà un message série.

Si je ne me trompe pas :

  • je reçois un signal en UART du compteur EDF sur le shield téléinfo et "normalement" le programme doit renvoyer la trame en liaison série RS232 sur les PIN 0 et 1.

Si il y a d'autres solutions ou un autre programme qui me permet de lire ma conso depuis le terminal du module de conversion je suis preneur...

JFRA:
Si il y a d'autres solutions ou un autre programme qui me permet de lire ma conso depuis le terminal du module de conversion je suis preneur...

est ce vraiment la finalité le "terminal du module de conversion" ou il y a encore un traitement après ?
il y a des solutions de serveur web de teleinfo en wifi à partir d'un ESP8266 (ou de transmission sur une base de données distante)

Effectivement, la finalité est d'envoyer les données sur un serveur web.
J'avais acheter un module Arduino shield wifi que j'installais au dessus du shield teleinfo mais celui ci ne fonctionnait pas, je precise :

uno + shield wifi ok
uno + shield teleinfo ok
uno + shield teleinfo + shield wifi pas bon (dans cet ordre)

Pardon dans cet ordre : uno + shield wifi + shield teleinfo l'inverse ne passe pas à cause des composants

je reçois un signal en UART du compteur EDF sur le shield téléinfo et "normalement" le programme doit renvoyer la trame en liaison série RS232 sur les PIN 0 et 1.

il me semble (post #1) vous avoir déjà donné une indication que les Pins 0 et 1 n'ont sont pas du RS-232 (pas de tension négative sur les pins)

le sandwich de vos cartes ne fonctionne pas sans doute parce que les mêmes pins sont utilisées... Par exemple le shield Téléinfo utilise les lignes RX et TX de la carte Arduino... (ainsi que les pin 4, 5, 6 et 10,11,12,13)

Ok merci,
Serait-il donc possible de lire et d'envoyer les infos du shield téléinfo sur les pin 2 et 3 (libres) ?

pour votre question oui, vous pouvez déclarer un port "Software Serial" sur les pins 2 et 3 et envoyer en Série les data (cf la librairie SoftwareSerial).

Si vous avez absolument besoin de RS232 alors il vous faudra un adaptateur Serial <-> RS-232

L'arduino que vous attachez au shield téléinfo doit avoir un programme que vous chargez et qui pilote cette communication avec le shield. Si vous voulez envoyer les infos ailleurs il vous faudra comprendre et modifier ce programme.

Ce serait donc bien d'expliquer ce que vous voulez vraiment essayé de faire.

L'idée c'est avec une carte uno + un shield téléinfo de renvoyer les informations de la consommation d'un compteur triphasé sur un convertisseur IOT RS232/wifi http://www.usriot.com/p/serial-rs232-wifi-server/ pour pouvoir suivre la consommation en temps en réel depuis un PC.

Je dispose en plus d'une carte MAX232 et d'un shield wifi, qui peut être pourrait servir à trouver une autre solution...

Merci

JFRA:
L'idée c'est avec une carte uno + un shield téléinfo de renvoyer les informations de la consommation d'un compteur triphasé sur un convertisseur IOT RS232/wifi 4G LTE/5G Cellular Routers/Gateways/Modems for Industrial IoT devices - PUSR pour pouvoir suivre la consommation en temps en réel depuis un PC.

Je dispose en plus d'une carte MAX232 et d'un shield wifi, qui peut être pourrait servir à trouver une autre solution...

Merci

bonjour
il te faut un adaptateur TTL/RS232
c'est quoi ta carte MAX232 ?

attention , il semblerait qu'il faut aussi gerer du controle de flux hardware sur ton USR-WIFI232-602

Support RS232 interface with RTS/CTS flow control

La carte MAX232 est justement un adaptateur TTL/RS232. Je l'ais installée juste avant le module wifi IOT mais je n'ai toujours pas de communication avec l'Arduino (sur sortie USB toujours).
J'ai régler le contrôle du flux à 9600 bauds 8bits 1 stop parité none. J'ai mis le code en pièce jointe, il s'agit du code fournit avec la carte teleinfo (site http://www.cartelectronic.fr/teleinfo-compteur-erdf/11-shield-teleinfo-arduino.html) sui envoie la trame sur le port USB quand on envoi une requête "echo_usb"

teleinfo.txt (27.5 KB)

Oui mais le soft en question il modifie la liaison série pour qu'elle fonctionne à 1200 bauds sur 7 bits (le format du compteur électrique) alors évidemment la console de l'IDE elle comprend rien et elle est pas prête de comprendre quelque chose.
Voilà ce qui est fait au début du setup()

// initialisation du port 0-1 lecture Téléinfo
    Serial.begin(1200);
      // parité paire E
      // 7 bits data
    UCSR0C = B00100100;

Il faut dissocier la liaison entre le shield et l'arduino de la liaison entre l'arduino et le monde extérieur.
Il faut soit utiliser un software serial pour communiquer avec l'extérieur ou passer sur un arduino disposant de plus de liaison série matériel (une Mega par exemple)

Mes nouvelles recherches mon permis de trouver le problème pour l'empilement mes cartes uno + wifi + teleinfo, le problème venait de la carte SD dans le shield wifi, je l'ai simplement enlever.

Je sollicite donc encore votre aide car je souhaite toujours récupérer et envoyer les données de mon compteur EDF sur un serveur web interne.

Est ce que quelqu'un pourrait m'aider à créer un code pour ça ?

Merci