Diferència entre revisions de la pàgina «ModBUS RTU a l'IoT-Vertebrae»
		
		
		
		
		
		
		Salta a la navegació
		Salta a la cerca
		
				
		
		
		
		
		
		
		
		
	
| m | |||
| (Hi ha 8 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,   | + |   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
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 %
} ----



