Je suppose que toutes les personnes qui passeront ici sont en france car seul EDF semble utiliser une méthode de transmission aussi tordue...
Bref, Fred, oui c'est voulu d'avoir laissé en 8bits car c'est bien 8bits mais avec seulement 7 bits de données, le dernier étant à effacer.
Donc en gros sur un arduino on laisse tout par défaut hormis la vitesse qui est à 1200bps.
J'ai réussi en modifiant un FW de NodeMCU à voir le résultat souhaité, mais je ne suis pas en mesure de le renvoyer en LUA, c'esst du simple affichage et donc totalement inutile.
Après j'ai trouvé la librarie Bit de NodeMCU et je suis très proche du but !!!
voici où j'en suis actuellement :
- récupération du signal : ok
- compréhansion de celui-ci : ok
il me reste plus qu'à "automatiser" ce que je fais caractères par caractères !!!
Pour simplement convertir chaque caractères à la volée, voici le code :
Code: Select alluart.setup( 0, 1200, 8, 0, 1, 0 )
print("Init ok !")
uart.on("data", 1, function(d)
print("---------------------")
charin = string.byte(d)
print("Char in: "..charin)
hexvaluein = string.format("0x%08x", string.byte(d))
print("Hex: "..hexvaluein)
charshift = bit.rshift(hexvaluein, 0)
print("Char Shift: "..charshift)
char = string.format("%c", charshift)
print("Char out: "..char)
end, 0)
Maintenant il faut utiliser le buffer pour stocker le max, à savoir 255 caractères puis boucler dessus pour afficher les caractères convertis.
Ensuite, avec un micro-relais, il faudra connecter le RX puis le déconnecter dès que la fin de trame auras été reçu puis ensuite traiter la donnée.
Je n'ai pas beaucoup de temps en ce moment, c'est pourquoi je ne réponds pas vite.
Je me suis cependant mis un portable dans la cave à côté du compteur avec un arduino et des relais afin d'y accéder de partout pour des tests lorsque j'ai quelques minutes. C'est un peu barbare, mais ça fonctionne !
EDIT :
Bon, bah il suffisait que j'en parles pour ne plus avoir accès à ma machine... et je ne suis bien évidemment pas chez moi ce WE !