Hallo zusammen,
da scheinbar Interesse an Informationen an meinem derzeitigen Projekt besteht, hier mal ein paar Bilder. Schaltplan und Bestückung folgen nach und nach.
Ausgangspunkt:
Mein Solarstromzähler hat eine S0 bzw. eine RS485 Schnittstelle über die er ausgelesen werden kann. Da ich drei Wechselrichter habe, würde ich gerne alle drei auslesen. Ich habe zwar eine rudimentäre Dokumentation des Herstellers bekommen, die stimmt aber in weiten Teilen nicht mit dem überein, was ich so durch reverse engineering herausbekomme.
Derzeit lese ich über S0 und einem S0-Adapter an meiner alten Fritz Box 7170 die Daten per solarview (http://www.solarview.info/solarview_fritzbox.aspx) aus.
Stein des Anstoßes ist ein quer durch die Wohnung gezogenes, zweiadriges Kabel ???
Daher habe ich mich entschlossen, das Ganze durch eine Funkverbindung (Bluetooth) zu ersetzen.
USB <-> Bluetooth Umsetzer:
Im wesentlichen ist das ein FTDI232RL, der an der 3,3 V Schnittstelle ein Bluetoothmodul HM-10 hängen hat. Die Schaltung ist so aufgebaut, dass sie auch mit einem HC05 funktioniert. Die LED wird per Lötjumper umgeschaltet.
Für den HM-10 gibt es auch ein fake Modul, das fast genauso aussieht, wo aber der 32 kHz Quarz fehlt. Es heißt dann BLE-CC41-A und kommt von Bolutek. Beide Module lassen sich per Bluetooth miteinander verbinden, allerdings funktioniert die Datenübertragung nur in eine Richtung.
Anbei mal ein Bild, wie das Ganze momentan aussieht:
(http://forum.fhem.de/index.php?action=dlattach;topic=45589.0;attach=41966;image)
Bluetooth <-> RS485 Umsetzer:
Weitere Informationen folgen ...
Sieht interessant aus, auch wenn ich derzeit keine Verwendung dafür habe :)
Hallo zusammen,
so, die Funkstrecke funktioniert mittlerweile. Allerdings ist die Funkreichweite relativ bescheiden, ca. 5 m aber mit Verbindungsabbrüchen. Vermutlich muss ich doch auf den BTM222 ausweichen oder gleich einen RS485 <-> WLAN Umsetzer machen.
Wer nähere Infos braucht, einfach hier posten, dann stelle ich die Informationen (Schaltplan, Anleitung, Bilder, ...) zur Verfügung.
Gruß PeMue
Hi,
Habe zwar, wie Hexenmeister, gerade keinen Bedarf an sowas aber ich denke, Bluetooth ist so die schlechteste der Möglichkeiten. Bluetooth belegt den kompletten 2,4 GHz ISM Bereich und stört daher WLAN und Zigbee (2.4) und MySensors mit NRF24. Für so geringe Bandbreiten wie RS485 sollte doch ein einfacher Aufbau mit NRF reichen, oder?
Zitat von: tante ju am 01 Oktober 2016, 12:00:19
Für so geringe Bandbreiten wie RS485 sollte doch ein einfacher Aufbau mit NRF reichen, oder?
Gibt es da irgendetwas, was seriell per NRF irgendwie vernetzt?
Gruß PeMue
Zitat von: PeMue am 01 Oktober 2016, 14:34:29
Gibt es da irgendetwas, was seriell per NRF irgendwie vernetzt?
Ich meine, ich hätte mal Arduino Sketches gesehen. Sollte nicht so aufwändig sein.
Zitat von: tante ju am 01 Oktober 2016, 21:40:05
Ich meine, ich hätte mal Arduino Sketches gesehen. Sollte nicht so aufwändig sein.
Hm, ich habe das http://blog.circuits4you.com/2016/04/wireless-serial-using-nrf24l01.html mal mit MySensors seriellen Gateways probiert, aber irgendwie funktioniert das nicht so recht >:(
Und ich wüsste auch nicht, wie ich im RF-Zweig des Sketches Fehlersuche betreiben sollte ...
Gruß PeMue
Zitat von: PeMue am 03 Oktober 2016, 12:37:55
Hm, ich habe das http://blog.circuits4you.com/2016/04/wireless-serial-using-nrf24l01.html mal mit MySensors seriellen Gateways probiert, aber irgendwie funktioniert das nicht so recht >:(
Und ich wüsste auch nicht, wie ich im RF-Zweig des Sketches Fehlersuche betreiben sollte ...
Ja, genau das ist es. Hat aber nichts mit mySensors zu tun, deswegen funktioniert es auch mit dem seriellen gateway da nicht. Soll es mit MySensors funktionieren?
Bei dem Sketch ist wichtig (was da nicht erklärt ist), die MAC im Array pipes[] zu vertauschen. Die MACs sind Sender und Empfänger. Es muß also auf der einen Seite E7 und auf der anderen E9 als erstes sein (und vielleicht irgendwelche anderen MACs nehmen, als die vorgeschlagenen).
Zitat von: tante ju am 03 Oktober 2016, 12:56:48
Hat aber nichts mit mySensors zu tun, deswegen funktioniert es auch mit dem seriellen gateway da nicht.
Nein, ich habe nur die Hardware "missbraucht", um nicht lose verkabeln zu müssen. Was sind die MACs? Die habe ich natürlich nicht getauscht ...
Danke + Gruß PeMue
Zitat von: PeMue am 03 Oktober 2016, 13:24:01
Nein, ich habe nur die Hardware "missbraucht", um nicht lose verkabeln zu müssen. Was sind die MACs? Die habe ich natürlich nicht getauscht ...
Diese Zeile:
const uint64_t pipes[2] = { 0xDEDEDEDEE7LL, 0xDEDEDEDEE9LL };
Das ist als MAC jeweils 00-DE-DE-DE-DE-E7 und 00-DE-DE-DE-DE-E9
auf der einen Seite ist die E7 lokal und E9 remote und auf der anderen Seite eben umgekehrt
Zitat von: tante ju am 03 Oktober 2016, 14:29:16
Diese Zeile:
const uint64_t pipes[2] = { 0xDEDEDEDEE7LL, 0xDEDEDEDEE9LL };
Das ist als MAC jeweils 00-DE-DE-DE-DE-E7 und 00-DE-DE-DE-DE-E9
auf der einen Seite ist die E7 lokal und E9 remote und auf der anderen Seite eben umgekehrt
Ok, jetzt habe ich es verstanden und umgesetzt. Leider tut es auch nicht. Die LEDs blinken, die Dinger scheinen irgend etwas zu machen (zu senden?) - aber der Empfänger empfängt nichts.
Beide Module funktionieren aber als MxSensors Gateway bzw. Sensor :(
Gruß PeMue
Zitat von: PeMue am 03 Oktober 2016, 14:47:28
Ok, jetzt habe ich es verstanden und umgesetzt. Leider tut es auch nicht. Die LEDs blinken, die Dinger scheinen irgend etwas zu machen (zu senden?) - aber der Empfänger empfängt nichts.
Beide Module funktionieren aber als MxSensors Gateway bzw. Sensor :(
Hadere gerade mit zwei Dingen parallel, sonst hätte ich es schon nachgebaut um zu prüfen, was da schief geht.
Hast Du die Baudraten überprüft, ob die passen? Eventuell erstmal auf beiden Seiten festprogrammierte Teststrings ausgeben um zu sehen, ob denn auch wirklich die serielle funktioniert?
Zitat von: tante ju am 03 Oktober 2016, 17:55:30
Hast Du die Baudraten überprüft, ob die passen? Eventuell erstmal auf beiden Seiten festprogrammierte Teststrings ausgeben um zu sehen, ob denn auch wirklich die serielle funktioniert?
Keine Bange, ich habe etwas anderes gemacht. Vermutlich habe ich auch eine alte Bibliothek des RF24, ich werde die nächsten Tage weiter testen. Dumm ist nur, dass ab und zu die IDE mit irgendwelcher Fehlermeldung aussteigt, beim blink.ino aber compiliert :(
Gruß PeMue
Ich kenne zwar die Auszutauschenden Daten nicht,aber da könnte ich noch mit "virtual wire" beisteuern : https://www.pjrc.com/teensy/td_libs_VirtualWire.html (https://www.pjrc.com/teensy/td_libs_VirtualWire.html)
Zitat von: juergs am 03 Oktober 2016, 18:43:04
Ich kenne zwar die Auszutauschenden Daten nicht,aber da könnte ich noch mit "virtual wire" beisteuern : https://www.pjrc.com/teensy/td_libs_VirtualWire.html (https://www.pjrc.com/teensy/td_libs_VirtualWire.html)
ca. 15-20 Byte pro Messblock bei 57600 baud (8N1), und das Ganze halt per RS485 Bus. Die Abfrage erfolgt etwa jede Minute pro Wechselrichterzweig (sprich 3-6 Mal pro Minute).
Gruß PeMue
Zitat von: tante ju am 03 Oktober 2016, 17:55:30
Hast Du die Baudraten überprüft, ob die passen? Eventuell erstmal auf beiden Seiten festprogrammierte Teststrings ausgeben um zu sehen, ob denn auch wirklich die serielle funktioniert?
Funktioniert auf beiden Seiten, ich habe sogar einen Compilerschalter MY_DEBUG eingeführt. Da ich heute alles Andere gemacht habe, muss der Test von beiden bis morgen waren :(
Anmerkung:Teilweise compiliert der Sketch auf Windows XP nicht, der gleiche compiliert ohne Fehlermeldung mit der gleichen Software (USB Stick) auf Windows 7. Sehr komisch ???
Gruß PeMue
- Points to remember Wireless nRF24L01+ module will not work if they are placed very close, at least have 2 to 3 meter distance between them to work properly
Grüße, Jürgen
Zitat von: tante ju am 01 Oktober 2016, 12:00:19
Für so geringe Bandbreiten wie RS485 sollte doch ein einfacher Aufbau mit NRF reichen, oder?
Nja, ganz so einfach ist es nicht (wenn man alles auf eine Platine bringen will) ;D
Hallo zusammen,
ich habe mal tomsters RS485 Umsetzer näher angeschaut. Vermutlich machen die es genauso wie ich, mit einem retriggerbaren (?) Monoflop (R1/C1?)aus dem seriellen Signal die Richtung für den RS485 Bus zu generieren. Bild anbei.
Gruß PeMue
Ok, das Modul hängt an meiner Solaranlage (per USB seriell Umsetzer). Angeschlossen, die Software gestartet und ... funktioniert. Die Spannungsversorgung ist 3,3 V, das geht also auch.
Nur über die zwei HC12 Module geht es noch nicht :(
Gruß PeMue
Das eine HC12 Modul war kaputt, mit dem dritten (als Ersatz) geht es (siehe Bild).
Gruß PeMue