Go Down

Topic: D1 mini + SFH620A + LINKY (Read 88 times) previous topic - next topic

steven63

Mar 14, 2020, 11:59 am Last Edit: Mar 14, 2020, 12:00 pm by steven63
Bonjour

Je me permet de demander de l'aide car je bloque sur un problème pour lire les infos du linky
J'ai essayé avec un arduino UNO j'ai reussi à tous lire mais quand je passe sur mon wemos D1 mini je n'arrive pas à lire les infos.

J'utilise UN OPTO SFH620A avec une résistance 1.2k du coté I1 du linky et une résistance 3.3k entre le 3.3V et mon entrée D4 du D1mini



Voici mon code :

Quote
#include <SoftwareSerial.h>
#define startFrame 0x02
#define endFrame 0x03

SoftwareSerial* cptSerial;

void setup()
{
  Serial.begin(115200);
  cptSerial = new SoftwareSerial(D2, D4);
  cptSerial->begin(1200);
  Serial.println(F("setup complete"));
}

void loop()
{
  char charIn = 0;

  while (charIn != startFrame)
  {
    charIn = cptSerial->read() & 0x7F;
  }
  while (charIn != endFrame)
  {
    if (cptSerial->available())
    {
      charIn = cptSerial->read()& 0x7F;
      Serial.print(charIn);
    }
  }
  Serial.println("");
}
Si vous avez déjà eu le soucis ou réussi je suis preneur de tous pour pouvoir avancer et résoudre mon soucis.
Ou si vous avez des tutos sous le coude je suis preneur.

Cordialement merci d'avance

al1fch

#1
Mar 14, 2020, 12:09 pm Last Edit: Mar 14, 2020, 12:19 pm by al1fch
Bonjour

Pas certain que SoftwareSerial puisse fonctionner sur D4  (= GPIO2) , il semble qu'il faille utiliser D5 à D8 , GPIO12 à GPIO14, selon l'exemple swsertest.

Code: [Select]

// On ESP8266:
// At 80MHz runs up 57600ps, and at 160MHz CPU frequency up to 115200bps with only negligible errors.
// Connect pin 12 to 14.

#include <SoftwareSerial.h>

#if defined(ESP8266) && !defined(D5)
#define D5 (14)
#define D6 (12)
#define D7 (13)
#define D8 (15)
#endif

... sans garantie, je n'ai pas encore eu à utiliser SoftwareSerial sur ESP8266

Pour information le tableau des GPIO et le schéma de la carte D1 MIni sont disponibles, à la source, içi :
https://wiki.wemos.cc/products:d1:d1_mini

steven63

Oki je viens de faire ma modif du programme et electrique effectivement y a du mieu ^^

J'ai ca qui apparaît :

Quote
Ab|{w;K:Z~
}!hz:}{/571\?f
(u<`$
ii.ST1 l|^
IIMO00^~i.ST3 :^
IM{f0`6
erf7G
I30`x
 05l]|
PA
La je dirais qu'il faudrait une petite modification de resistance mais j'en suis pas sur


Quote
#include <SoftwareSerial.h>
#define startFrame 0x02
#define endFrame 0x03
#if defined(ESP8266) && !defined(D5)
#define D5 (14)
#define D6 (12)
#define D7 (13)
#define D8 (15)
#endif
SoftwareSerial* cptSerial;

void setup()
{
  Serial.begin(115200);
  cptSerial = new SoftwareSerial(D5, D2);
  cptSerial->begin(1200);
  Serial.println(F("setup complete"));
}

al1fch

#3
Mar 14, 2020, 12:39 pm Last Edit: Mar 14, 2020, 12:42 pm by al1fch
Le débit est il défini correctement , d'une part pour SoftwareSerial /Linky et d'autre part pour le retour console sur le PC ? le Moniteur Série est il bien réglé sur 115200 bauds ?

Remarque : le code est à publier entre balises CODE pas QUOTE

steven63

Oui tous est bien resptecté 1200 baud pour le linky et 115200 pour arduino

Je viens de changé la résistance de 1k2 par une 1k voila le résultat :
La vérité s'approche

Quote
A|CO 0219760;1242 B
IF BASM 0
ISOUS'
BA 00572153
PTEC TH.. $
yINST1 011 ~
IINST2`001 J
IIN=
IMAX1 060|
IMAX2 060 7
I}AX3 060 8
PMAX 05130 /
PAPP 6
xHPHC A ,
MOTDETAT p00000 B
>PPOT 00 #

ADCO 02;'G'
OPTARI 0
>ISOUSC 20 x
BASE 005721539 +
PTEC TH..`|
IINST1
I|
IINST3 000 J
IMAX1 060 6
IMAX2 060 wca~

al1fch

#5
Mar 14, 2020, 01:12 pm Last Edit: Mar 14, 2020, 01:13 pm by al1fch
possible aussi d'agir en augmentant la résistance de collecteur de l'optocoupleur (4,7k voire 10k)

l'idée est d'arriver d'une manière ou d'une autre à une saturation plus franche du transistor pour obtenir  de lui un bon état  bas .


steven63

J'ai abaissé à 330 ohm du coup le résultat est sympa

Quote
ADCO 021976091242 B
OPTARIF BASE 0
ISOUSC 20 8
BASE 005722224 #
PTEC TH.. $
IINST1 022 L
IINST2 001 J
IINST3 000 J
IMAX1 060 6
IMAX2 060 7
IMAX3 060 8
PMAX 05130 /
PAPP 04490 2
HHPHC A ,
MOTDETAT 000000 B
PPOT 00 #

J'ai un compteur en triphasé je précise ^^
Bon ba y a plus cas codé  un petit bout de code pour y envoyé en mqtt et ca sera nikel


Merci en tous cas pour l'histoire du D5 à D8 , GPIO12 à GPIO14 car j'y ai regardé toute la soirée sur les forum et j'ai vu personne en parlé.
Je l'avais bien vu dans la bibliothèque d'exemple mais j'ai pas fait le lien.

al1fch

#7
Mar 14, 2020, 01:33 pm Last Edit: Mar 14, 2020, 01:35 pm by al1fch
Quote
Merci en tous cas pour l'histoire du D5 à D8 , GPIO12 à GPIO14 car j'y ai regardé toute la soirée sur les forum et j'ai vu personne en parlé.
-> Toujours privilégier :
-les sources des codes pour trouver les conditions d'emploi des librairies,
-les docs des composants.....

Ne pas compter exclusivement sur les infos de seconde main....

Go Up