Diferència entre revisions de la pàgina «ModBUS RTU a l'IoT-Vertebrae»

De binefa.com
Salta a la navegació Salta a la cerca
m
 
(Hi ha 7 revisions intermèdies del mateix usuari que no es mostren)
Línia 1: Línia 1:
El ModBUS RTU a l'IoT-Vertebrae és integrat al [[Cap (Head v2.0) - IoT-Vertebrae| cap v2.1]]. A versions prèvies de cap cal fer servir un convertidor USB a ModBUS RTU
+
El ModBUS RTU a l'IoT-Vertebrae és integrat al [[Cap (Head v2.0) - IoT-Vertebrae| 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 [https://github.com/jordibinefa/IoT-02/blob/master/codes/python/modbus/mb_IoT_01.py mb_IoT_01.py] per a la Raspberry Pi (dependencies amb [https://github.com/jordibinefa/IoT-02/blob/master/codes/python/modbus/crc16c.py crc16c.py] i [https://github.com/jordibinefa/IoT-02/blob/master/codes/python/modbus/kbhit.py 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 | placa IoT-02]] amb el codi per a l'IDE d'Arduino [https://github.com/jordibinefa/IoT-02/tree/master/codes/IoT-02_11_modbus_bme280 IoT-02_11_modbus_bme280].
  
 
= ModBUS RTU integrat al cap =
 
= ModBUS RTU integrat al cap =
Línia 5: Línia 9:
  
 
  pi@raspberrypi:~/codis/modbus $ '''python mb_IoT_01.py /dev/serial0 4800'''
 
  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:  
+
  '''s''': Relay SET, '''r''': Relay RESET, i: Read inputs, '''t''': temperature, '''h''': relative humidity, p: pressure, a:  
 
  altitude, v: VOC and q: quit
 
  altitude, v: VOC and q: quit
 
  Baudrate: 4800 at /dev/serial0
 
  Baudrate: 4800 at /dev/serial0
Línia 41: Línia 45:
  
 
  pi@raspberrypi:~/codis/modbus $ '''python mb_IoT_01.py /dev/ttyUSB0 4800'''
 
  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
+
  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
 
  Baudrate: 4800 at /dev/serial0
 
  {
 
  {

Revisió de 11:32, 26 ago 2024

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 %
} ----