Event (Rückmelder) per LAN in RR auslösen

bbernhard
Posts: 1229
Joined: 23.02.2008, 19:07
Location: Villach/Kärnten/Austria
Contact:

Event (Rückmelder) per LAN in RR auslösen

Post by bbernhard » 21.10.2015, 22:28

Hallo zusammen
ich schreibe mal hier rein, wenns nicht paßt bitte verschieben.

Folgendes: Ich spiele mich grad mit den ESP8266 Modulen rum. Das ist ein UltraMini uC Modul mit integrietem WLAN und 2 freien GPIO.
Ohne unmittelbare Notwendigkeit, eher aus Interesse würde ich gerne mal versuchen die Dinger auf der Moba als Rückmelder zu verwenden.

Es gibt ja mehrere Möglichkeiten ein Rückmelderevent per LAN/WLan nach RR zu bringen, aber was wäre denn programierseitig am einfachsten ?
Da es erstmal nur ein eine Spielerei ist möchte ich mich eigentlich nicht lange in eine API oder Protokoll einarbeiten sonder eher nur auf die schnelle was einfaches zusammenstricken.
Kann mir jemand etwas empfehlen ?

Falls das gut klappt könnte man ja mehr daraus machen, preislich und installationsseitig ist es ja durchaus interessant. So ein ESP8266 ist etwa 1.5*2.5cm groß und kostet 2€. Versorgung und Sensor dran und es flutscht. Da WLAN keine weitere Verkabelung. Das kann für abgelegene einzelne RM (wo man jetzt nicht unbedingt ein 16xS88 Modul hinbauen möchte) durchaus eine Alternative sein.

schöne grüße
bb

bbernhard
Posts: 1229
Joined: 23.02.2008, 19:07
Location: Villach/Kärnten/Austria
Contact:

Re: Event (Rückmelder) per LAN in RR auslösen

Post by bbernhard » 21.10.2015, 23:23

Hab mich nun mal durch die RocNet Doku im Wiki gelesen und ich denke das ist eh genau das was ich suche.
Oder gibts womöglich noch etwas einfacheres ?

Zwei Fragen hätte ich da aber:
Wie bekomme ich die iDH und iDL ? Dies dienen ja scheinbar zur Identifizirung des Nodes, und nicht die IP, richtig ?
Kann ich die frei vergeben ? Wie werden dann ggfls. Konflikte verhindert wenn weitere Nodes dazukommen ?

Als was definiere ich einfache Rückmelder ?
Stationary Decoder mit GroupCode "3"
oder geht auch
Sensor mit GroupCode "8" ? Was kommt dann bei Status rein 0/1 für On/OFF ? Und bei identifier dann vermutlich "0"
addrH und addrL wohl auch "0", wie gesagt ich möchte ich nur eine einfachen Hall-Rückmelder bauen, kein Bidi oder sowas.

Gute Nacht
bb

Pirat-Kapitan
Moderator
Posts: 5005
Joined: 06.02.2010, 15:46
Location: Rösrath bei Köln / Germany

Re: Event (Rückmelder) per LAN in RR auslösen

Post by Pirat-Kapitan » 22.10.2015, 06:31

Hi Bernhard,
Morse doch mal den Helge an. Der hat auf seiner Gartenbahn Rückmeldung via RasPi m.W. Über WLAN realisiert.

Schòne Grüße
Johannes

rjversluis
Site Admin
Posts: 42014
Joined: 10.04.2006, 08:48
Location: Speyer, Germany
Contact:

Re: Event (Rückmelder) per LAN in RR auslösen

Post by rjversluis » 22.10.2015, 07:14

bbernhard wrote: Wie bekomme ich die iDH und iDL ? Dies dienen ja scheinbar zur Identifizirung des Nodes, und nicht die IP, richtig ?
Kann ich die frei vergeben ? Wie werden dann ggfls. Konflikte verhindert wenn weitere Nodes dazukommen ?
diese werden durch Rocrail vergeben. Ein neu installierte Rocnetnode hat ID 65535 was für Rocrail ein signal ist um ein neue ID zu schicken.
bbernhard wrote: Als was definiere ich einfache Rückmelder ?
Stationary Decoder mit GroupCode "3"
oder geht auch
Sensor mit GroupCode "8" ? Was kommt dann bei Status rein 0/1 für On/OFF ? Und bei identifier dann vermutlich "0"
addrH und addrL wohl auch "0", wie gesagt ich möchte ich nur eine einfachen Hall-Rückmelder bauen, kein Bidi oder sowas.
wenn du willst kannst du auch Source Zugang bekommen dann kannst du es für dein Hardware anpassen.
Aber ob sich das lohnt is da gestellt. Rocnetnode basiert auf ein Rasberry Pi 1, B+ und 2 welche billig zu haben sind.

Liviu M
Posts: 942
Joined: 03.12.2011, 20:44

Re: Event (Rückmelder) per LAN in RR auslösen

Post by Liviu M » 22.10.2015, 07:28

Hallo Bernhard,

über dem Protokoll lasse ich den Rob die richtige Antwort zu geben.
Mich wurde interessieren, wie Du die "Ansteuerung" der ESP realisieren möchtest - mit einen externen uController, oder über den integrierten?
Falls über dem integriertem uController, hasst Du schon etwas mit ihm gemacht, hasst Du schon ein passendes Entwicklungsumgebung?

Grüße,
Liviu

bbernhard
Posts: 1229
Joined: 23.02.2008, 19:07
Location: Villach/Kärnten/Austria
Contact:

Re: Event (Rückmelder) per LAN in RR auslösen

Post by bbernhard » 22.10.2015, 08:34

Servus, danke mal für die Antworten

@ROB: OK, wo finde ich denn eine Doku wie Rocrail die iDH und iDL zuteilt ? Das konnte ich jetzt außm Wiki nicht direkt rauslesen.
Dachte die ist fix in den Nodes gespeichert.
Ich will jetzt kein fertiges Raspi Modul verwenden, mir gehts auch nicht um den Preis. Ich möchte nur aus technischem Interesse mit eigenem Code und Hardware etwas rumspielen.

@Liviu: Es soll der Controller am ESP6288 Modul verwendet werden. Kein weiterer uC.
Das ist eben das coole an dem Teil, man kann die Standard Firmware mit eigenem Code überschreiben. Und das beste: das geht sehr simpel mit der Arduino IDE. Man kann ihn also gleich wie einen Arduino programmieren.

Persönlich mache ich gerade die ersten Gehversuche mit dem Teil, einige Freunde im Hausautomatisations Forum waren da aber schon sehr erfolgreich. Ich hab einige Links dazu, aber noch nicht wirklich gesichtet was zielführend ist.
Ich hab gestern noch etwas weiter gedacht. Man kann die beiden freien GPIO als SPI oder I2C konfigurieren und dann beliebige weiter Hardware dranhängen -> zb auch die kleinen RFID Reader. Sollten die ersten Versuche klappen so werde ich das auch mal probieren. Das müßte dann nämlich eine sehr einfache Variante sein um RFID Daten nach Rocrail zu bringen.
Wenn du interessiert bist kann ich gerne weiter berichten.

schönen Tag noch
bb

Liviu M
Posts: 942
Joined: 03.12.2011, 20:44

Re: Event (Rückmelder) per LAN in RR auslösen

Post by Liviu M » 22.10.2015, 08:41

Hallo Bernhard,

danke für die Infos.
Ich bin immer in neue Dinge interessiert; über Updates wurde ich mich freuen und dir dankbar sein. :beer:

Grüße,
Liviu

PS Ich denke, ich weiß was die Chinese mir demnächst schicken werden. :)

hggerdd
Posts: 1
Joined: 19.03.2015, 10:26

Re: Event (Rückmelder) per LAN in RR auslösen

Post by hggerdd » 27.10.2015, 21:42

Hallo,
unter http://wiki.rocrail.net/doku.php?id=roc ... ripting-en wird kurz beschrieben, wie mit einem Python-Skript über die Socket-Schnittstelle (im Endeffekt in diesem Fall einfach eine TCP-Verbindung) und xml, an Rocrail ein Befehl gesendet werden kann.

Die Verbindung (per TCP-IP) zum Server aufbauen geht mit dem ESP8266 wahrscheinlich recht einfach und die Ansteuerung über xml sollte auch machbar sein. Nur das notwendige Protokoll muss eben entschlüsselt werden, aber das sollte mit den Webseiten von Rocrail auch möglich sein.

Viele Grüße
Heiko

Helge
Posts: 114
Joined: 31.05.2010, 18:32

Re: Event (Rückmelder) per LAN in RR auslösen

Post by Helge » 28.10.2015, 09:22

Hallo,

Johannes hatte es ja schon erwähnt. Ich habe auf Basis des RCP, des Python scripts und eines raspi A einen Funkrückmelder (wlan) für meine Gartenbahn gebaut. Funktioniert sehr gut, so dass ich erwäge diese auch für meine Indoor Modulanlage zu verwenden. Mit ca. 20 € für den raspi A+ und 16 gpio reicht das für meine Anforderungen allemal.

Viele Grüsse Helge

bbernhard
Posts: 1229
Joined: 23.02.2008, 19:07
Location: Villach/Kärnten/Austria
Contact:

Re: Event (Rückmelder) per LAN in RR auslösen

Post by bbernhard » 28.10.2015, 23:29

Hallo zusammen
Vorweg nochmal der Hintergrund der Bastelei. Ich möchte das Thema als Fingerübung mit eigener Hardware und eigenem Code lösen, und KEIN fertiges Modul verwenden.

Was bereits funnktioniert: Ich kann per nativem Code am ESP6288 Controller (also ohne Arduino oder Raspi) einen RFID Reader auslesen und RCP Strings im Lan verschicken.
Ich kann damit bereits Rückmelder in Rockrail setzen bzw. rücksetzen.
Soweit so gut.

Was noch nicht funktioniert ist das mir RR dies als RFID Rückmelder akzeptiert und die passende Lok in den dem Rückmelder zugeordneten Block setzt. Kann mir bitte jemand auf die Sprünge helfen was ich noch falsch mache ?

Ich versende diesen String:
<xmlh><xml size="58" name="fb"/></xmlh><fb id="Ost_20" state="true" identifier="1.23.45.678.90"/>

Es gibt eine Lok welche den Identifier String im Feld "Code" eingetragen hat.
Beim Sensor habe ich als Type "RFID" ausgewählt.

So wie ich das Wiki verstehe sollte wenn RR im Manual Mode ist nun die Lok in den Block gesetzt werden.
Das passiert aber nicht, ich sehe nur das der Sensor aktiviert wird, bzw. im Automatik mode ein Geisterzug ausgelöst.

Das Trace sagt mir dieses:
0151028.230201.068 r9999a makeWeat OWeather 0829 weather time is 23:02
0151028.230230.030 r9999I 000005D0 ODDX 0141 translating: fb
0151028.230230.031 r9999I 000005D0 ODDX 0184 simulate fb addr=9 state=true
0151028.230230.031 r9999I cmdr025B OControl 0207 Sensor event...addr=9 state=true
0151028.230230.031 r9999a cmdr025B OModel 3984 trying to match sensor event: [] 0:9 uidname=[]
0151028.230230.032 r9999a cmdr025B OFBack 0558 fb[Ost_20] state=ON code=1.23.45.678.90 dir=fwd val=0 count=6
0151028.230230.032 r9999a cmdr025B OFBack 0583 fb [Ost_20](ON) code=1.23.45.678.90 val=0 count=6 call listener 0x04EA48A4...
0151028.230230.033 r9999a cmdr025B OBlock 0471 no fbevent found by key Ost_20-
0151028.230230.033 r9999I cmdr025B OBlock 0478 Ost_20 reports code=[1.23.45.678.90]
0151028.230230.033 r9999a cmdr025B OBlock 0487 Block [Ost_20] no event found for fromBlockId [?], try to find one for all with key [Ost_20-all-reverse]...
0151028.230230.034 r9999a cmdr025B OBlock 0492 Block[Ost_20] id=Ost_20 fbid=Ost_20-all-reverse state=true code=1.23.45.678.90 fbfrom=NULL fbaction=? from=? byroute=?
0151028.230230.034 r9999I cmdr025B OBlock 0543 locId not set in block Ost_20
0151028.230230.034 r9999I cmdr025B OBlock 0626 reset code[1.23.45.678.90] in block[Ost_20] to zero; bi-com is disabled
0151028.230300.102 r9999I 00000808 OrocNet 0236 Clock sync
0151028.230300.102 r9999I 00000808 ODDX 0141 translating: clock


Da in der letzten Zeile die Meldung "bi-com is disabled" auftaucht hab ich mal probeweise akzeptiere Bidi probiert, und anstatt der RFID die Decoderadresse gesendet. Da hat aber auch nichts geändert.

Kann mir hier bitte jemand weiterhelfen ? Irgendwas scheint noch irgendwo zu fehlen.

schönen Dank
bb

rjversluis
Site Admin
Posts: 42014
Joined: 10.04.2006, 08:48
Location: Speyer, Germany
Contact:

Re: Event (Rückmelder) per LAN in RR auslösen

Post by rjversluis » 29.10.2015, 07:09

Hallo Bernhard,

anbei ein funktionierendes Beispiel mit Rocnet.
You do not have the required permissions to view the files attached to this post.

Liviu M
Posts: 942
Joined: 03.12.2011, 20:44

Re: Event (Rückmelder) per LAN in RR auslösen

Post by Liviu M » 29.10.2015, 07:14

Hallo Bernhard,
bbernhard wrote:Hallo zusammen
Was bereits funnktioniert: Ich kann per nativem Code am ESP6288 Controller (also ohne Arduino oder Raspi) einen RFID Reader auslesen
SPI oder RS232?

Grüße,
Liviu

bbernhard
Posts: 1229
Joined: 23.02.2008, 19:07
Location: Villach/Kärnten/Austria
Contact:

Re: Event (Rückmelder) per LAN in RR auslösen

Post by bbernhard » 29.10.2015, 10:24

@Liviu: Die ersten Versuche hab ich mit SPI gemacht. Über Stabilität/Reichweite ect. kann ich aber noch nix sagen, da ich erstmal nur versuchen wollte ob ich mit dem Teil reden kann. Das hat soweit funktioniert. Leider hab ich mir am Wochenende den ESP geschrottet und warte nun auf Ersatz vom freundlichen Chinesen.
Inzwischen muß halt wieder ein Arduino ran.

@Rob: Danke für das Beispiel, aber das ist ja für Rocnet. Werde es am Abend mal starten und sehen ob ich da was draus lernen kann. Aus der nackten plan.xml konnte ich nichts sehen was meine Farge beantworten würde. Bin aber auch nciht sooo geübt im lesen der Konfigurationsdatei.

schöne grüße
bb

Liviu M
Posts: 942
Joined: 03.12.2011, 20:44

Re: Event (Rückmelder) per LAN in RR auslösen

Post by Liviu M » 29.10.2015, 10:43

Hallo Bernhard,

danke für die Infos. Ich soll diese Tage mein ESP8266 Ver.07 kriegen. Plane, genau wie du, direkt mit dem RC522 über SPI zu reden.
Übrigens, aus Rocrail Sicht habe ich gleiche Ergebnisse wie du gehabt - Rocrail sieht mein RFID rein als Sensor (kein Info über UID im Block). Ich habe aber noch kein Bedarf gehabt, deswegen habe ich nicht weit recherchiert.

Danke nochmal,
Liviu

bbernhard
Posts: 1229
Joined: 23.02.2008, 19:07
Location: Villach/Kärnten/Austria
Contact:

Re: Event (Rückmelder) per LAN in RR auslösen

Post by bbernhard » 29.10.2015, 22:42

Servus
Interessant, da haben wir wohl beide irgendwas falsch interpretiert.
Hier diese Wiki Seite http://wiki.rocrail.net/doku.php?id=sen ... ctional-de
erschien mir recht klar.
Ich dachte mir besser erst mal mit der vermeintlich einfachen Lokkennung experimentieren als gleich mit Wagenkennung und Zügen rumzumachen. Hab den Thread zum Ablaufberg gelesen, da waren mir auf RR Seite noch zu viele Fallstricke.
Wenn alles klappt wäre aber schon das Endziel die Waggons mit Transpondern auszustatten und so die Züge zu verwalten.

Robs Beispiel verwendet leider auch auch Waggons und hat auch noch einiges an Scripten drin :?:
Das ist mir zu heavy, ich geh da erstmal lieber Schritt für Schritt vor und baue Schrittweise auf.

viel Glück noch
bb

Post Reply

Return to “Zentralen (DE)”