Ich habe ein RS-485 Modul an die entsprechenden GPIOs geklemmt und versuche nun meine wired Komponenten in homegear “einzulesen”. Leider bekomme ich im homegear.err nur "Module HomeMatic Wired: RS485 Module “HM-RS485”: Error sending HomeMatic Wired packet: No sending detected.
Wie kann ich denn überprüfen ob das RS-485 überhaupt mit dem Pi spricht?
/boot/cmdline.txt: dwc_otg.lpm_enable=0 console=tty1 kgdboc=ttyUSB0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline isolcpus=2,3 rootwait
#######################################
######## RS485 - Serial Module ########
#######################################
## The device family this interface is for
[RS485 - Serial Module]
## Specify an unique id here to identify this device in Homegear
id = HM-RS485
## Options: rs485, hmwlgw
deviceType = rs485
device = /dev/ttyAMA0
#device = /dev/ttyS0
## Should be "13" for serial modules, "20" for USB modules and "8" for HMW-LGW.
responseDelay = 13
## Set to "true" for USB modules
oneWay = false
## GPIO to enable RX
gpio1 = 17
## Set GPIO to this value to enable RX
enableRXValue = 0
## GPIO to enable TX
gpio2 = 18
## Set GPIO to this value to enable TX
enableTXValue = 1
Dann sieht man auch gleich einen möglichen Fehler ;-): In der “homematicwired.conf” muss “device” auf “/dev/ttyS0” stehen. Da es aber auskommentiert in der Datei steht, vermute ich mal, dass du das bereits probiert hattest?
Ja, ich hatte schon einiges rumprobiert und den Blutooth-Kram ausgestellt. Ich habe jetzt alles soweit wieder “original” und habe zumindest einen Teilerfolg:
[ 0.328550] 3f215040.uart: ttyS0 at MMIO 0x3f215040 (irq = 59, base_baud = 31250000) is a 16550
Allerdings bekomme ich immer noch nichts per screen oder hexdump
Ich guck mal weiter.
Vielen Dank für eure Hilfe, ich habe das Modul an einem BananaPi getestet, mit dem gleichen “Erfolg”. Hab mir nun zwei neue Module bestellt und hoffe, dass ich mit denen mehr Glück habe.
Hallo,
Wollte nur kurz mal eine “Wasserstandsmeldung” geben. Da ich nur Abends und dann auch nicht jeden Tag zum Basteln komme, dauert bei mir alles etwas länger (vielleicht liegt es auch an meiner Intelligenz ).
Um sicherzugehen, daß der UART auf dem Pi3 noch läuft, habe ich ein 3,3v Bluetooth Adapter (HC-06) drangeklemmt und mit meinem Handy gepairt. Siehe da, hexdump und screen zeigen Daten.
Nun stehe ich immernoch vor dem Problem mit dem RS485 Modul. Da mir nun mehr Module (RS485) zur Verfügung stehen, werde ich diese erstmal auf Funktion, zwischen zwei Arduinos, testen. Danach dann einen Arduino an den Bus der Homematic klemmen und mal “horchen”.
Vielleicht kann mir jemand folgende Frage beantworten. Der Pi3 möchte gerne 3.3v an RX/TX, das Modul ist ein 5v Modul. Kann es sein, daß es daher nicht funktioniert? Bei meinen ersten Tests mit den Pis hatte ich immer Vcc des Moduls mit dem 5v Ausgang der Pis verbunden. Wieviel Spannung liegt dann eigentlich an A und B an? Welche Spannung kommt den aus den wired Komponennten von Homematic (an A und B)? Laut Spezifikation sind ja nur -7v/12v erlaubt.
Ob dein RS485 Chip an 3,3V funktioniert, kommt auf das verwendete Bauteil an. Typischerweise ist das der MAX485, oder einer seiner Brüder. Zumindest in deinem Link wird angegeben, dass das Modul diesen verwendet. Musst du natürlich nachprüfen…
Die Frage, die du beantworten musst, ist ob der Chip die Pegel für logisch LOW oder logisch HIGH unterscheiden kann. Im Datenblatt kann man sehen, dass die “Input High Voltage” bei “MIN 2.0V” liegt. Alles unter 0,8V erkennt er als LOW.
Auch die Versorgungsspannung ist mit 1,5-5V spezifiert, weswegen du ihm da natürlich 5V geben kannst er sich aber auch mit 3,3V begnügt.
Damit sollte, wenn denn ein MAX485 verbaut ist, eine Eingangspannung von 3,3V tadellos funktionieren, Signal- wie auch Versorgungsseitig.
Das Einzige was jetzt noch sein kann, ist dass auf dem Modul noch irgendwelche Widerstände verbaut sind die das verhindern würden.
Sieht mir aber nicht danach aus. Die hier verbauten Widerstände sind nur Pull-Up’s und ein Pull-Down. Und natürlich der 120Ω Abschlusswiderstand für den RS485-Bus.
Bei der Chinaware kann es mal vorkommen, dass Plagiate verbaut sind. Wurde beim FTDI/MAX232 sehr gerne gemacht.
Vielen Dank, daß Du Dir die Mühe gemacht hast, alles zu erklären.
Jetzt hätte ich da noch eine kleine Verständnisfrage …
Ich habe immer gedacht, daß aus der Versorgungsspannung die Signalspannung generiert wird. Vom MAX232 kenne ich das ja so, daß ich mit 5V TTL reingehe und mit RS232 Pegel rauskomme und keine extra Versorgungspannung benötigt wird. Daher meine Frage bezüglich der Versorgungspannung des RS485 und der möglicherweise daraus resultierenden Signalspannung.
Das Signal macht ja der MAX485. Der benötigt eine, im Datenblatt spezifizierte, Versorgungsspannung um die Busspannung zu erzeugen. Wenn die von-bis angegeben ist, sollte es dich eingangseitig nicht kümmern müssen.
Es sollte, wenn ich es richtig verstanden habe, ziemlich gleich mit dem MAX232 sein.
Vielen Dank für Deine Zeit! Echt klasse!
Mich wundert es nur, daß ich anscheinend der einzige mit dem Problem bin (oder andere benutzen einen anderes RS485 Modul).
So, habe jetzt ein paar Tests gemacht und bin immer noch nicht am Ziel
Ich habe einen Arduino mit Spannungsteiler am TX, direkt an den Pi angeschlossen. Funktioniert.
Dann habe ich an den Arduino und an den Pi jeweils ein RS485 Modul geklemmt. Funktioniert
Jetzt war ich voller Vorfreude und habe den Pi mit dem Modul an die wired Komponenten geklemmt und fleißig Licht an und aus gemacht … nichts
Bin jetzt echt ratlos. Was könnte das denn jetzt noch sein?