Automatisch rangieren eines Zuges (Rocnet + MQTT)

Re: Automatisch rangieren eines Zuges (Rocnet + MQTT)

Postby eporocrail » 26.03.2018, 06:35

Hallo Carlo

Und ich habe gedacht, dass kriegt Carlo schon mit.
Aber Spass bei Seite. Ich öffne dieses Thema auch mal auf die Holländische Seite vom Forum.

Rob, könntest du diese Berichte bitte entfernen.
Kind regards Ellard.
Scale N Peco Code 55, WiFi Eltraco for sensing and switching, DCC++ on Arduino Nano for driving, ROCRAIL server on Raspi
eporocrail
 

Re: Automatisch rangieren eines Zuges (Rocnet + MQTT)

Postby eporocrail » 26.03.2018, 12:52

Hallo Rocrailer

Während der boot Vorgang vom Wemos Modul werden welche GPIO hoch gesetzt und irgendwelche Pulse gegeben. Das führt dahin das der Fiddle Yard entweder eine Null Kalibrierung durch führt(GCA146 zeigt "63" an) oder zum zuletzt eingestellten Gleis geht. Also bevor man den seriellen Monitor neu öffnet oder das Modul einen reset gibt sollte man den Stecker von J5 auf GCA145 ziehen.

Wenn ich die Stromversorgung von die Anlage einschalte, passiert nichts.

Weiter geht's.

Ellard
Kind regards Ellard.
Scale N Peco Code 55, WiFi Eltraco for sensing and switching, DCC++ on Arduino Nano for driving, ROCRAIL server on Raspi
eporocrail
 

Re: Automatisch rangieren eines Zuges (Rocnet + MQTT)

Postby eporocrail » 26.03.2018, 14:02

Hallo Rocrailer

Ich habe ein Stromdetektor eingebaut in das letzte kleine Stück vom Zufuhrgleis. An die Achse vom Wagen habe ich über die isolierte Stelle eine 15k smd Widerstand geklebt und mit "wire glue" mit die Achse und den Flansch verbunden. Beim "wire glue" wird kein Silber benutzt um den Klebstoff leitfähig zu machen sondern Kohlenstoff.
Ist deshalb sehr preiswert. Der Testergebnis ist gut. Gerade vor der Wagen auf die Brücke rollt wird eine Meldung ausgelöst.

Weiter geht's.

Viel Spass
Ellard
Kind regards Ellard.
Scale N Peco Code 55, WiFi Eltraco for sensing and switching, DCC++ on Arduino Nano for driving, ROCRAIL server on Raspi
eporocrail
 

Re: Automatisch rangieren eines Zuges (Rocnet + MQTT)

Postby RedTrain » 26.03.2018, 15:02

Hallo Ellard

-Wire Glue- tönt interessant; kannst Du Produkte oder Bezugsquellen nennen?
Vielen Dank! :)
Beste Grüsse / kind regards - Carlo

[H0m 2L DCC] Layout "Rhaetian Flyer" Swiss Proto-Freelance RhB+FO+zB; 6% completed, partly operational
W10, Ubuntu 16.04, Rocweb, andRoc; CANbus GC1e, GC3-ORD3, GC2, GC6; Bemo, Peco, handlaid;
RedTrain
 

Re: Automatisch rangieren eines Zuges (Rocnet + MQTT)

Postby eporocrail » 26.03.2018, 15:07

Hallo Carlo

Es gibt es mehrere Bezugsquellen. https://www.conrad.nl/p/soldeerlijm-wire-glue-588328

Conrad.de hat es natürlich auch.

Viel Spass
Ellard
Kind regards Ellard.
Scale N Peco Code 55, WiFi Eltraco for sensing and switching, DCC++ on Arduino Nano for driving, ROCRAIL server on Raspi
eporocrail
 

Re: Automatisch rangieren eines Zuges (Rocnet + MQTT)

Postby eporocrail » 28.03.2018, 08:33

Hallo Rocrailer

Um das Zusammenspiel von drei Module zu beurteilen währe es hilfreich die Berichte die die drei Module einander und zu Rocrail schicken beobachten zu können.
Mittlere Weile habe ich ein Farbdisplay empfangen. Es handelt sich um ein Exemplar das über SPI gesteuert wird. https://nl.aliexpress.com/item/2-4-240x320-SPI-TFT-LCD-Seri-le-Poort-Module-5-V-3-3-V-PBC/32843741430.html?spm=a2g0s.9042311.0.0.hd9TKz.

Es hat aber gedauert bis ich heraus hatte wie so ein Modul gehandhabt wird. Die Treiber kann mann besorgen bei Adafruit.
Ich hab das TFT Bildschirm wie folgt angeschlossen:
Wemos - Bildschirm
5V - VCC
5V - LED
GND - GND
D0 - RST
D4 - DC
D5 - SCK
D6 - CS
D7 - MOSI

Ich habe das Bildschirm an eine Eltraco Sensor Platine angeschlossen. Als Kabel habe ich Netzwerk Kabel benutzt. (habe ich reichlich übrig weil ich die nicht mehr benutze!)

Viel Spass
Ellard
Kind regards Ellard.
Scale N Peco Code 55, WiFi Eltraco for sensing and switching, DCC++ on Arduino Nano for driving, ROCRAIL server on Raspi
eporocrail
 

Re: Automatisch rangieren eines Zuges (Rocnet + MQTT)

Postby eporocrail » 29.03.2018, 15:12

Hallo Rocrailer

Wemos hat jetzt auch ein 1.4" Farbbildschirm. Es past aufs Modul oder mann verbindet es mit Kabel an ein extra Anschluss Platine (habe ich gemacht).

Hier ist ein Bild:

FYDisplay.jpg


Viel Spass
Ellard
You do not have the required permissions to view the files attached to this post.
Kind regards Ellard.
Scale N Peco Code 55, WiFi Eltraco for sensing and switching, DCC++ on Arduino Nano for driving, ROCRAIL server on Raspi
eporocrail
 

Re: Automatisch rangieren eines Zuges (Rocnet + MQTT)

Postby eporocrail » 14.04.2018, 15:26

Hallo Rocrailer

Ich habe eine sehr interessante Bibliothek gefunden.
https://github.com/tfry-git/EmbAJAX.

Diese Bibliothek ermöglicht es um Daten aus zu tauschen zwischen einen Browser und der Webserver auf einem Decoder via HTTP.

Hiermit ist es möglich quasi im Hintergrund Daten aus zu gleichen. Man muss nicht wie mit Websockets jeden Eintrag bestätigen um den Austausch zu starten.
Andererseits ist es damit nicht möglich einen Servo ein zu stellen wie mit Websockets.
Noch ein Vorteil ist das mehr Arten von Daten ausgetauscht werden können wie mit Websockets.

Ich benutze es erts mal um ein Ziel Gleis pro Wagen zu selektieren.

Es sieht aus wie folgt:

Screen Shot 2018-04-14 at 16.10.13.jpg


Viel Spass
Ellard
You do not have the required permissions to view the files attached to this post.
Kind regards Ellard.
Scale N Peco Code 55, WiFi Eltraco for sensing and switching, DCC++ on Arduino Nano for driving, ROCRAIL server on Raspi
eporocrail
 

Re: Automatisch rangieren eines Zuges (Rocnet + MQTT)

Postby eporocrail » 01.05.2018, 15:11

Hi Rob

Ich versuche ein Loc zu starten und langsam fahren zu lassen.

Via MQTT schicke ich zwei RCP Berichte zum Rocrail Server. Ein mit und ein ohne "XML-header". Der Bericht ohne XML-header bewirkt eine Reaktion vom Server. Der Loc startet aber nicht. Der Bericht mit XML-header zeigt keine Reaktion.

Vielleicht kannst du etwas dazu sagen.
You do not have the required permissions to view the files attached to this post.
Kind regards Ellard.
Scale N Peco Code 55, WiFi Eltraco for sensing and switching, DCC++ on Arduino Nano for driving, ROCRAIL server on Raspi
eporocrail
 

Re: Automatisch rangieren eines Zuges (Rocnet + MQTT)

Postby eporocrail » 04.05.2018, 18:33

Hallo Rocrailer

Ich glaube ich habe etwas besonderes auf dem Tisch gelegt.

Wie es jetzt aus sieht wird es kein automatisches Rangieren eines Zuges geben.
Also mus ich mir sonst was einfallen lassen.

Viel Spass.
Ellard
Kind regards Ellard.
Scale N Peco Code 55, WiFi Eltraco for sensing and switching, DCC++ on Arduino Nano for driving, ROCRAIL server on Raspi
eporocrail
 

Re: Automatisch rangieren eines Zuges (Rocnet + MQTT)

Postby RedTrain » 04.05.2018, 20:39

Hallo Ellard

Nein - das kann es jetzt nicht gewesen sein! :shock: - Ich freue mich, den Zug rangieren zu sehen!!

Ich kann Dir leider nicht im Detail folgen, darum kann ich Dir auch keine guten Tipps geben.
Aber via MQTT ein Lok starten ist sicherlich möglich! Aber wo klemmt es denn?
Beste Grüsse / kind regards - Carlo

[H0m 2L DCC] Layout "Rhaetian Flyer" Swiss Proto-Freelance RhB+FO+zB; 6% completed, partly operational
W10, Ubuntu 16.04, Rocweb, andRoc; CANbus GC1e, GC3-ORD3, GC2, GC6; Bemo, Peco, handlaid;
RedTrain
 

Re: Automatisch rangieren eines Zuges (Rocnet + MQTT)

Postby rjversluis » 04.05.2018, 21:07

Hi Ellard,

ein XML header wird bei MQTT nicht verwendet.

Du kannst kein Lok starten über der RocNet MQTT, sondern über der MQTT Client Service:
http://wiki.rocrail.net/doku.php?id=roc ... tt_service
Best Regards, Rob.
:!: PS: Do not forget to attach the usual files.
:!: PS: Nicht vergessen die übliche Dateien an zu hängen.
[ macOS - Linux] - [ N: CBus - CAN-GCA ] - [ 0: RocNetNode - GCA-Pi ]
rjversluis
Site Admin
 

Re: Automatisch rangieren eines Zuges (Rocnet + MQTT)

Postby eporocrail » 05.05.2018, 06:58

Hi Rob,

Ich versuche über die "MQTT service" ein bericht zu übertragen. Ich benutze nicht den Bibliothek von "knolleary" aber von "imroy". Dieser Bibliothek kan nicht nur mit qos0 aber auch mit qos1 und qos2 Berichte verschicken.

Ich habe mir die Beschreibung auf welche du hinweist angesehen und auch die "RPC" Beschreibung. Damit bin ich zur folgende Prozedur gekommen:

Topic:
Code: Select all
static String topicPubText = "rocrail/service/client";


Auftrag zum senden:
Code: Select all
if (client.publish(MQTT::Publish(topicPubText, textOut).set_qos(1)) != true) {     // message is published with qos1
      Serial.println(F("fault publishing string"));
    } else sendText = false;


Bericht:
Code: Select all
textOut = "<lc addr=\"21\" V=\"50\" dir=\"true\" fn=\"true\"/>";


Den Bericht habe ich zusammen gesetzt nach den Beispiel in der RPC Beschreibung:

Complete loco example
<xmlh><xml size="84" name="lc"/></xmlh><lc id="4711" V_raw="87" V_rawMax="100" cmd="velocity" throttleid="192.168.100.32"/>


Wenn ich in mein Bericht nicht den beschriebene "xml header" Teil nehme, folgt schon eine Darstellung vom Bericht im RR Server Fenster, aber es wird nicht umgesetzt in einen Aktion. Es passiert nichts.

Trace:
Code: Select all
20180501.151336.531 r9999I mqttread OClntCon 0771 broker publish: [<lc addr="21" V="50" dir="true" fn="true"/>]
20180501.151336.535 r9999c mqttread OrocNet  0608 loc 0:21 V=50 lights=on dir=forwards spcnt=28


Deswegen habe ich auch versucht mit "XML header" aber dann passier überhaupt nichts:

Code: Select all
textOut = "<xmlh><xml size=\"42\" name=\"lc\"/></xmlh><lc addr=\"21\" V=\"50\" dir=\"true\" fn=\"true\"/>";


Trace:
Code: Select all
20180501.151341.738 r9999I mqttread OClntCon 0771 broker publish: [<xmlh><xml size="42" name="lc"/></xmlh><lc addr="21" V="50" dir="true" fn="true"/>]
20180501.151351.489 r9999I mqttread OClntCon 0771 broker publish: [<lc addr="21" V="50" dir="true" fn="true"/>]
20180501.151351.490 r9999c mqttread OrocNet  0608 loc 0:21 V=50 lights=on dir=forwards spcnt=28


Also irgendwas mache ich falsch, aber mir ist nicht klar was.

Vielleicht kannst du hierzu was sagen.

Ellard
Kind regards Ellard.
Scale N Peco Code 55, WiFi Eltraco for sensing and switching, DCC++ on Arduino Nano for driving, ROCRAIL server on Raspi
eporocrail
 

Re: Automatisch rangieren eines Zuges (Rocnet + MQTT)

Postby rjversluis » 05.05.2018, 07:23

Hallo Ellard,

versuche es mal mit ID anstatt Adresse:
Code: Select all
<lc id="xy" V="100"/>
Best Regards, Rob.
:!: PS: Do not forget to attach the usual files.
:!: PS: Nicht vergessen die übliche Dateien an zu hängen.
[ macOS - Linux] - [ N: CBus - CAN-GCA ] - [ 0: RocNetNode - GCA-Pi ]
rjversluis
Site Admin
 

Re: Automatisch rangieren eines Zuges (Rocnet + MQTT)

Postby eporocrail » 05.05.2018, 09:26

Hallo Rob,

Das ist es! Geschwindigkeit erhöhen, erniedrigen und Richtungswechsel funktionieren. Anhalten geht nur über Geschwindigkeit = 0.
"<sys cmd=\"stop\"/>" funktioniert nicht. Der Knopf im Rocview Fenster wird zwar ausgeschaltet und im RR Server Fenster erscheint auch "Power off" aber mein DCC++ Stromversorgung bleibt an.

Aber damit kann ich leben.

Ich bedanke mich.
Kind regards Ellard.
Scale N Peco Code 55, WiFi Eltraco for sensing and switching, DCC++ on Arduino Nano for driving, ROCRAIL server on Raspi
eporocrail
 

PreviousNext

Return to Arduino (DE)