ModBUS RTU a l'IoT-Vertebrae
La revisió el 11:32, 26 ago 2024 per Jordi Binefa (discussió | contribucions)
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
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
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 % } ----