vom Prinzip möchte ich einen Sensor über eine RS485 Schnittstelle mit dem RPi3 auslesen.
Meine Versuche über die unterschiedlichen Pakete war erfolglos. Naja aufgeben möchte ich noch nicht.
Aktuell bin ich mit dem Paket minimalmodbus am werkeln.
Was ich dazu verwende:
Rpi3 mit folgender Platine
https://www.pollin.de/p/joy-it-rs485-br ... rry-810833
Der Sensor hat folgende Eigenschaften:
Register:40001
Adresse Sensor: 1
Messmodus (0x03) Read Holding Registers
Data Type: float (double word)
length: 2
R/W: r
Baudrate: 19200
Bytes: 8
Stopbits:1
P:None
BigEndian
Code: Alles auswählen
#python 2.7
import minimalmodbus
#import binascii
import time
import serial
instrument = minimalmodbus.Instrument('/dev/ttyAMA0',1) #modbusAddress)
instrument.serial.baudrate = 19200
instrument.serial.bytesize = 8
instrument.serial.parity = minimalmodbus.serial.PARITY_NONE
instrument.serial.stopbits = 1
instrument.serial.timeout = 3.0
instrument.debug = False
instrument.mode = minimalmodbus.MODE_RTU
data = instrument.read_registers(registeraddress=40001,
numberOfRegisters=2 functioncode=4)
#read_float(registeraddress, functioncode=3, numberOfRegisters=2)
t2 = instrument.read_float(40001, 3, 2)
t1 = instrument.read_register(40001, 2, 3)
Mit mit den drei Varianten wollte ich probieren wenigstens überhaupt einen Wert zu bekommen. Fehlanzeige.
Hat jemand von Euch einen Tipp, wie ich der Lösung etwas näher kommen könnte? :K
Oder kann es auch an der Schnittstelle vom RPI liegen? (UART )
Vielen Dank schon mal.