Diferència entre revisions de la pàgina «Accés ModBus al sensor de temperatura i humitat CWT-TH03S»
m (→NodeRed) |
m |
||
Línia 54: | Línia 54: | ||
== Placa IoT-02 == | == Placa IoT-02 == | ||
+ | [[Image:CWT-TH03S_IoT-02.png|center|thumb|Protocol ModBus CWT-TH03S]] | ||
+ | |||
+ | |||
Codi (provisional. Cal fer neteja) per a l'IDE d'Arduino que permet llegir temperatura i humitat del sensor CWT-TH03S fent servir un dispositiu amb ESP32 (exemple per a la placa IoT-02): | Codi (provisional. Cal fer neteja) per a l'IDE d'Arduino que permet llegir temperatura i humitat del sensor CWT-TH03S fent servir un dispositiu amb ESP32 (exemple per a la placa IoT-02): | ||
[https://www.binefa.cat/training/iot02/modbus/CWT-TH03S_mqtt_01.zip CWT-TH03S_mqtt_01.zip] | [https://www.binefa.cat/training/iot02/modbus/CWT-TH03S_mqtt_01.zip CWT-TH03S_mqtt_01.zip] |
Revisió del 10:51, 7 set 2021
Contingut
Protocol específic
Cables de connexió
Marró: Alimentació (entre 5V i 30V) Groc: A (D+) Blau: B (D-) Negre: Massa
Programari de canvi de paràmetres
Programa per Windows RS485ControlV22.exe per a canviar paràmetres dels dispositius ModBus
Vídeo del funcionament del programa RS485ControlV22.exe
Visió general
Lectura
Exemple de trama de petició de lectura de temperatura i humitat a un dispositiu a l'adreça 0x01:
Canvi d'adreça
Exemple de trama per a canviar l'adreça del dispositiu a 0x02 (per defecte és 0x01):
Canvi de velocitat de comunicació
Exemple de trama per a canviar la velocitat de comunicació a 9600 bauds (per defecte és 4800 bauds) a un dispositiu a l'adreça 0x01:
Implementacions
Python
Codi (provisional. Cal fer neteja) que permet llegir temperatura i humitat del sensor CWT-TH03S fent servir un dispositiu amb sistema operatiu (ordinador o Raspberry Pi):
NodeRed
Codi que permet llegir temperatura i humitat del sensor CWT-TH03S fent servir un dispositiu amb sistema operatiu (ordinador o Raspberry Pi):
Configuració del node ModBus de lectura
Configuració del servidor ModBus al NodeRed
Funció ModBus -> T, RH
Per a obtenir dues sortides amb números reals, el byte del vector es transforma en un enter. Després es converteix a real i es divideix per 10:
var fT = parseFloat(parseInt(msg.payload[1]))/10; var fRH = parseFloat(parseInt(msg.payload[0]))/10; return [{"payload": fT},{"payload": fRH}];
Placa IoT-02
Codi (provisional. Cal fer neteja) per a l'IDE d'Arduino que permet llegir temperatura i humitat del sensor CWT-TH03S fent servir un dispositiu amb ESP32 (exemple per a la placa IoT-02):