ModBUS RTU a l'IoT-Vertebrae

De binefa.com
La revisió el 11:32, 26 ago 2024 per Jordi Binefa (discussió | contribucions)
(dif) ← Versió més antiga | Versió actual (dif) | Versió més nova → (dif)
Salta a la navegació Salta a la cerca

El ModBUS RTU a l'IoT-Vertebrae és integrat al cap v2.1. Hi ha dos accessos possibles, un des de el microcontrolador ESP32S3 i l'altre des de la Raspberry Pi. A versions prèvies de cap cal fer servir un convertidor USB a ModBUS RTU connectat directament a un port USB de la Raspberry Pi.

Codi per accedir al ModBUS RTU mb_IoT_01.py per a la Raspberry Pi (dependencies amb crc16c.py i kbhit.py).

El dispositiu ModBUS RTU, per a interaccionar amb el cap (/dev/serial0) o Raspberry Pi (/dev/ttyUSB0), que s'ha fet servir és una placa IoT-02 amb el codi per a l'IDE d'Arduino IoT-02_11_modbus_bme280.

ModBUS RTU integrat al cap

HEAD v2.0
pi@raspberrypi:~/codis/modbus $ python mb_IoT_01.py /dev/serial0 4800
s: Relay SET, r: Relay RESET, i: Read inputs, t: temperature, h: relative humidity, p: pressure, a: 
altitude, v: VOC and q: quit
Baudrate: 4800 at /dev/serial0
{
Sending: Relay SET
07050004FF00CD9D
He rebut 8 bytes
07050004FF00CDFF
Received: Relay SET
} ----
{
Sending: Relay RESET
0705000400008C6D
He rebut 8 bytes
0705000400008CFF
Received: Relay RESET
} ----
{
Sending: Reading temperature
070300000001846C
He rebut 7 bytes
0703020AB37751
T: 27.39 ºC
} ----
{
Sending: Reading relative humidity
070300010001D5AC
He rebut 7 bytes
07030214F03F00 
RH: 53.60 %
} ----

ModBUS RTU emprant un convertidor USB a RS485

Convertidor USB a ModBUS RTU
pi@raspberrypi:~/codis/modbus $ python mb_IoT_01.py /dev/ttyUSB0 4800
s: Relay SET, r: Relay RESET, i: Read inputs, t: temperature, h: relative humidity, p: pressure, a: altitude, v: VOC and q: quit
Baudrate: 4800 at /dev/serial0
{
Sending: Reading temperature
070300000001846C
He rebut 7 bytes
0703020AF83766
T: 28.08 ºC
} ----
{
Sending: Reading relative humidity
070300010001D5AC
He rebut 7 bytes
0703021211FCE8
RH: 46.25 %
} ----