Wemos D1 mini melde und schalt System (Rocnet+MQTT)

Re: Wemos D1 mini melde und schalt System (Rocnet+MQTT)

Postby eporocrail » 18.12.2017, 15:03

Liviu

Deine neue Code ergibt:
Connecting to ELTRACO
.
WiFi connected
IP address: 192.168.2.149
hostname: ELTRACO-Receiver
192.168.2.01883
-------
Establishing connection with Mosquitto ...no Broker try again in 1 second
Kind regards Ellard.
Scale N Peco Code 55, DCC++ for driving, Eltraco for sensing and switching, ROCRAIL server on Raspi
Wemos fan
eporocrail
 

Re: Wemos D1 mini melde und schalt System (Rocnet+MQTT)

Postby eporocrail » 18.12.2017, 15:08

Liviu

Code: Select all
      if(brokerIpStart != -1){
        String fullBrokerIp = udpMess.substring(11, brokerPortStart - 1);
        String ip = fullBrokerIp.substring(fullBrokerIp.indexOf(":")+1, brokerPortStart);
       
        ip.toCharArray(ipAsCharBuf, ip.length()+1);   /// ip.length() um eins erhoeht
        ipOk = true;

Serial.println(ipAsCharBuf);
       
      }


Ergibt:

Connecting to ELTRACO
.
WiFi connected
IP address: 192.168.2.149
hostname: ELTRACO-Receiver
192.168.2.1
192.168.2.11883
-------
Establishing connection with Mosquitto ...connected




Also es funktioniert wenn man ip.length() um eins erhöht.
Kind regards Ellard.
Scale N Peco Code 55, DCC++ for driving, Eltraco for sensing and switching, ROCRAIL server on Raspi
Wemos fan
eporocrail
 

Re: Wemos D1 mini melde und schalt System (Rocnet+MQTT)

Postby Liviu M » 18.12.2017, 15:09

Hi Ellard,

probiert bitte, wie du schon hattest, mit ein +1 beim ip.length()
Code: Select all
       ip.toCharArray(ipAsCharBuf, ip.length() + 1);


Tante Edith: hast schon selber und schneller als ich gefunden. :)
----------------------------------------------
System: DCC N-Scale
CS: Profiboss (Loconet)
Server: RaspberryPi/OdroidC1/OpenSuse
Client: OpenSuse/Windows(?)
----------------------------------------------
Liviu M
 

Re: Wemos D1 mini melde und schalt System (Rocnet+MQTT)

Postby Liviu M » 18.12.2017, 15:14

Falls du die Ausgabe schöner haben möchtest, wurde ich am Ende der Funktion der if Block mit dem von unten ersetzen:
Code: Select all
      if(ipOk && portOk){
        bAddressFound = true;
        mqttBr.ip.fromString(ipAsCharBuf);
        mqttBr.port = brokerPort;
        Serial.print(F("Detected IP: "));
        mqttBr.ip.printTo(Serial);
        Serial.print(F("\nDetected PORT: "));
        Serial.println(brokerPort);
        Serial.println("-------");
      } //if(ipOk && portOk)
----------------------------------------------
System: DCC N-Scale
CS: Profiboss (Loconet)
Server: RaspberryPi/OdroidC1/OpenSuse
Client: OpenSuse/Windows(?)
----------------------------------------------
Liviu M
 

Re: Wemos D1 mini melde und schalt System (Rocnet+MQTT)

Postby eporocrail » 18.12.2017, 15:14

Liviu

Code: Select all
      if(ipOk && portOk){
        bAddressFound = true;
        mqttBr.ip.fromString(ipAsCharBuf);
        mqttBr.port = brokerPort;
        mqttBr.ip.printTo(Serial);
        Serial.println(); //////////////////////////// extra
        Serial.println(brokerPort);
        Serial.println("-------");
      }


ergibt jetzt:
Connecting to ELTRACO
.
WiFi connected
IP address: 192.168.2.149
hostname: ELTRACO-Receiver
192.168.2.1
1883
-------
Establishing connection with Mosquitto ...connected


Also fertig würde ich meinen.

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

Re: Wemos D1 mini melde und schalt System (Rocnet+MQTT)

Postby Liviu M » 18.12.2017, 15:15

Jetzt war ich schneller. Sieht ein Post über deinem. :)
----------------------------------------------
System: DCC N-Scale
CS: Profiboss (Loconet)
Server: RaspberryPi/OdroidC1/OpenSuse
Client: OpenSuse/Windows(?)
----------------------------------------------
Liviu M
 

Re: Wemos D1 mini melde und schalt System (Rocnet+MQTT)

Postby eporocrail » 18.12.2017, 15:43

Connecting to ELTRACO
.
WiFi connected
IP address: 192.168.2.149
hostname: ELTRACO-Receiver
Detected IP: 192.168.2.1
Detected PORT: 1883
-------
Establishing connection with Mosquitto ...connected

:beer:
Kind regards Ellard.
Scale N Peco Code 55, DCC++ for driving, Eltraco for sensing and switching, ROCRAIL server on Raspi
Wemos fan
eporocrail
 

Re: Wemos D1 mini melde und schalt System (Rocnet+MQTT)

Postby rjversluis » 18.12.2017, 15:51

Hi ihr beide,

das Mosquitto Team hat es geschafft. :) :thumb_up: :beer:
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: Wemos D1 mini melde und schalt System (Rocnet+MQTT)

Postby Liviu M » 18.12.2017, 15:52

Hallo Ellard,

sieht gut aus. :) :beer:

Ich wiederhole eine Bemerkung die ich schon am Anfang gemacht habe: so wie sie jetzt ist, ist die detectIpPort() Funktion blockierend - einmal drinnen, kommst du raus nur wenn du eine gültige Kombination IP - Port bekommst.

Grüße,
Liviu

@Rob: ich freue mich auch. :beer:
----------------------------------------------
System: DCC N-Scale
CS: Profiboss (Loconet)
Server: RaspberryPi/OdroidC1/OpenSuse
Client: OpenSuse/Windows(?)
----------------------------------------------
Liviu M
 

Re: Wemos D1 mini melde und schalt System (Rocnet+MQTT)

Postby eporocrail » 19.12.2017, 09:09

Hallo Liviu, hallo Rocrailer

Liviu ich habe deine Software NON blocking gemacht.
Erst wird versucht die Daten von Rocrail zu bekommen. Wenn dass nicht klappt werden die standard Daten verwendet.
Der Vorgang wird am seriellen Monitor gezeigt.

Rocrailer, diese Funktionalität ist Teil von mein Eltraco Receiver sketch und is jetzt auf Github.

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

Re: Wemos D1 mini melde und schalt System (Rocnet+MQTT)

Postby Liviu M » 19.12.2017, 14:53

Hi Ellard,
schön, jetzt ist alles drin. :thumb_up:
Liviu
----------------------------------------------
System: DCC N-Scale
CS: Profiboss (Loconet)
Server: RaspberryPi/OdroidC1/OpenSuse
Client: OpenSuse/Windows(?)
----------------------------------------------
Liviu M
 

Re: Wemos D1 mini melde und schalt System (Rocnet+MQTT)

Postby rjversluis » 22.12.2017, 19:26

Hi Jungs,

kurz fürs Essenszeit möchte ich was Grundsätzliches in Frage stellen:

Binary RocNet eignet sich nicht für IoT.

Alternative:
1) Rocrail XML
2) SRCP
3) RASCII
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: Wemos D1 mini melde und schalt System (Rocnet+MQTT)

Postby eporocrail » 23.12.2017, 07:06

Moin Rob

Wo du RASCI nennst kriege ich den Eindruck das es was mit Daten Übertragung zu tun hat. Könntest du vielleicht den Grund warum Rocnet binary nicht funktioniert ein wenig erläutern?

RASCI ist gedacht für Verbesserung von der seriellen Daten Übertragung(?). Verdoppelt aber die Menge Daten die zu übertragen sind. Ich kenne mich nicht aus mit SRCP. XML ist Basis von Rocrail.
Im Allgemeinen würde ich sagen bleib möglichst dicht an Rocrail heran. Das würde bedeuten XML ein zu setzen.
Kind regards Ellard.
Scale N Peco Code 55, DCC++ for driving, Eltraco for sensing and switching, ROCRAIL server on Raspi
Wemos fan
eporocrail
 

Re: Wemos D1 mini melde und schalt System (Rocnet+MQTT)

Postby rjversluis » 23.12.2017, 07:37

Moin Ellard,

SRCP und RASCII brauchen, wie RocNet Binary, ein extra parser.
XML kann direct umgewandelt werden in a JavaScript Object; JSON.

Es ist nut Laut Denken von mir und hat mit dieses Thema zu tun:
viewtopic.php?f=128&t=14930
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: Wemos D1 mini melde und schalt System (Rocnet+MQTT)

Postby eporocrail » 23.12.2017, 07:48

Rob,

Ohne über tief gehende Kenntnisse zu verfügen denke ich dass es einfacher ist nichts extra ein zu bauen wenn es nicht sein muss. Das würde bedeuten XML zu benutzen.
Dazu kommt dass bis jetzt SRCP eigentlich keine grosse Rolle gespielt hat in Rocrail, im Gegensatz zu XML.
Für die meiste Leute ist es vielleicht logischer XML Wissen zu ergattern als Wissen über was ganz neues wie SRCP.
Kind regards Ellard.
Scale N Peco Code 55, DCC++ for driving, Eltraco for sensing and switching, ROCRAIL server on Raspi
Wemos fan
eporocrail
 

PreviousNext

Return to Arduino (DE)