Salut @Neuvidor
Maintenant que t’as la passerelle, je me demande si ça marcherait pas de la brancher sur un PC et espionner le trafic avec un logiciel Modbus comme j’ai fait avec la télécommande centrale du T One. J’ai relu le fil de la discussion et @PaC semblait dire que c’était aussi du modbus.
Vu qu’il existe des passerelles RS485/USB, je me dis que peut-être ça sera vu pareil par le PC
@djtef, tu voudrais brancher ça comment ?
Car pour espionner l’USB il faudrait que le PC soit entre le port USB de la passerelle et le port usb du Chauffe eau sans altérer les signaux. Pas si simple que ça de ce que j’ai compris…
Sinon visiblement via un oscilloscope il y aurait moyen de décoder ça mais je ne suis pas assez compétent je pense pour traiter les data derrière.
Vidéo espionnage USB a l'oscilloscope :
Je sais pas si @yanoooou à réussi à piloter l’aldes depuis qu’il a son AldesBox, il était resté sur des problème de CRC je crois. En tous cas il avait réussi à décoder une partie de l’IBUS.
Je pensais brancher juste la passerelle au PC pour récupérer les requêtes dans un premier temps. Effectivement t’auras pas les réponses mais ça serait une bonne grosse étape si ça fonctionnait.
Je dis peut-être une connerie mais vu que c’est simple on sait jamais. Il suffit de récupérer le logiciel Serial Port Monitor par exemple et voir s’il voit du RS485 passer.
Bonjour à tous,
@Neuvidor , Non je n’ai pas réussi à piloter le chauffe eau, seulement a relire des paramètres.
Je pense que ALDES à verrouillé le IBUS en « lecture seule ».
Je n’ai pas beaucoup avancé avec la passerelle… Je pense faire cela cet hiver.
Je vais sniffer les trames USB de la passerelle et voir si j’arrive à décoder ces infos.
Si ils ont fait passer du MODBUS sur l’USB cela devrait être en émulant une liaison série, donc ça devrais être assez facile à voir.
Par contre, @djtef tu confonds la couche physique de transmission et le protocole de communication.
Par exemple tu peux avoir du MODBUS RTU sur une liaison RS485/RS232/RS422 …
OK, dans ce cas je comprends pas.
J’ai bien conscience qu’il y a plusieurs couches et qu’on peut faire passer du modbus sur plusieurs média.
J’ai une passerelle RS485/USB et le PC décode le modbus. Pourquoi la passerelle ne pourrait pas faire pareil, et la carte mère faire l’inverse passerelle USB/RS485 ?
@djtef Oui effectivement si la passerelle émule un port serie via l’USB on pourrais voir les trames modbus sur l’USB.
Je viens de brancher la passerelle sur le PC, un port COM STM32 a été détecté et la passerelle se connecte en WIFI (vert fixe) donc cela ne semble pas la perturber pour le moment.
Une fois le soft « open-serial-port-monitor » installé, la passerelle semble envoyer « B? » toute les 32s, comme si elle demandait à l’équipement de s’identifier pour ensuite engager la discussion.
Salut, Il te faut je pense l’adresse esclave de ta vmc ?
Je n’ai pas de VMC, je n’ai qu’un chauffe eau
A oui désolé
Je cherche l’équivalent pour une vmc .
Sur ton chauffe eau tu a la possibilité de changer les paramètres de com ? comme l’adresse ?
T’as pas l’air d’avoir téléchargé le même logiciel que moi, celui que j’ai donné avec le lien est payant mais on a une période d’essai, il a l’avantage de décoder le protocole modbus.
Je pense que c’est pas mal si la passerelle émule réellement un port série, ça devrait simplifier la suite.
De plus, il va falloir trouver les bons paramètres de la com série, vitesse, parité etc…
Par exemple entre la télécommande centrale et la pompe à chaleur c’est 19200 bauds, parité Even, 1 bit de stop.
il n’y a pas de télécommande centrale sur le chauffe eau.
Oui oui, c’était à titre d’exemple sur un autre équipement ALDES. Je me dis qu’ils doivent pas tout révolutionner à chaque développement. À part la vitesse qui peut évoluer je verrai bien parité Paire et 1 bit de stop également sur le chauffe eau
Salut @Neuvidor
Je ne sais pas si tu suis l’autre sujet Aldes T.One (on parle beaucoup…) mais on a un peu avancé sur la com USB avec la passerelle.
On sait que la passerelle est vue comme un port série 19200 bauds, 1 bit de stop, pair et utilise bien le protocole Modbus. Au démarrage elle interroge en boucle le registre 1056 (elle doit attendre le retour de la carte mère).
La passerelle implémente le driver CDC/ACM donc si on veut se brancher en USB sur la carte mère, il faut sûrement aussi un appareil compatible avec ce driver (j’ai essayé mon FTDI ou adaptateur RS485/USB, ça ne fonctionne pas).
Après quelques recherches on a trouvé des puces qui permettent la conversion USB vers port série compatibles CDC/ACM (voir ce post). Le but étant de faire communiquer un esp32 vers l’USB avec le protocole modbus.
Pour info sur la pompe à chaleur on a un connecteur modbus qu’on a réussi à connecter pour communiquer, mais les infos sont limitées, la passerelle a l’air sur une autre liaison série qui a plus d’info d’où notre tentative.
Salut @djtef,
Bien évidemment je suis bien le sujet, j’ai vu que tu avais travaillé tard l’autre soir, j’ai lu tes postes quelques minutes après que tu les aient mis. J’ai juste peu de temps pour expérimenter en ce moment sur ce sujet, pas mal d’autre priorité
En tous cas c’est cool !
Hello,
J’ai avancé un peu sur la com avec le port USB du chauffe eau.
En branchant la passerelle ALDES sur le port USB de mon PC, elle envoie la trame suivante (en hexa):
02 03 04 00 01 02 0B a2
.
J’ai donc codé un petit programme sur un rasperry pico W, qui envoie cette trame sur le port USB et lit le retour. J’ai repris la config du port serie que vous avez trouvé : 19200 bauds 8E1.
J’ai aussi changé la config du port USB du pico pour que le chauffe eau pense que c’est la passerelle qui est connectée sur son port USB :
* "usb_vid": "0x0483",
* "usb_pid": "0x5740",
* "usb_manufacturer": "STMicroelectronics",
* "usb_product": "STM32 Virtual ComPort"
Au final, ça fonctionne !
Le chauffe eau répond avec la trame suivante:
33_FF_4C_33_26_0_31_2_96_3_0_0_97_77_58_28_9F_5_8F_3_0_0_0_0_0_0_0_0_35_3D_42_0_99_52_3E_0_8E_8C_FF_3_0_0_0_0_0_0_0_0_0_35_4E_69_1_0_0_0_0_90_63_2A_0_0_0_0_0_24_0_0_0_0_0_0_0_0_0_32_40_33_FF_4C_33_26_0_31_2_96_3_0_0_97_77_58_28_9F_5_8E_3_0_0_0_0_0_0_0_0_35_3C_42_0_99_52_3E_0_8E_8C_FF_3_0_0_0_0_0_0_0_0_0_B8_4E_69_1_0_0_0_0_90_63_2A_0_0_0_0_0_24_0_0_0_0_0_0_0_0_0_32_BF_33_FF_4C_33_26_0_31_2_96_3_0_0_97_77_58_28_9F_5_8E_3_0_0_0_0_0_0_0_0_35_3D_42_0_99_52_3E_0_8E_8C_FF_3_0_0_0_0_0_0_0_0_0_B8_4E_69_1_0_0_0_0_90_63_2A
Cette trame ressemble à la trame que j’avais lu en IBUS…
Je vais maintenant tester avec des librairies MODBUS pour scanner et essayer de décoder les registres du chauffe-eau.
Bien joué !
Tu penses que si t’avais pas changé les infos du port usb le chauffe-eau n’aurait pas répondu ?
Tu sais quel driver est implémenté sur l’usb de Raspberry Pico ?
Et ça veut dire que l’usb du Pico n’est pas host mais device ?
Si c’est le cas tu peux pas brancher la passerelle dessus.
En tout cas si t’arrives à dialoguer avec le chauffe eau ça signifie que tu vas pouvoir scanner les registres
@djtef Le protocole du pico est du CDC/ACM comme le STM32.
J’ai toujours un problème pour déterminer le CRC de la trame, donc je ne peux pas modifier la trame…
Ça commence à devenir pas mal tout ça !
Bravo à vous @yanoooou et @djtef, on va y arriver à force de persévérance. Pour l’histoire du CRC, je sais pas comment on peut y avancer, faudrait trouver un gars callé sur le sujet mais de mon côté
Il n’y a pas d’outils où on met un max de trames et cela essaye de décoder sur la base des CRC classiques pour essayer de trouver une correspondance ?