[gelöst] MQTT @ Alfred

Hast du es hinbekommen eine mqtt Verbindung über tls aufzubauen?

Im Log steht, dass der client connected ist, aber ich bekomme keine Nachrichten auf der anderen Seite angezeigt. Irgendwann kommt dann ein



Evtl. liegt es auch gar nicht an der tls Verbindung, aber aktuell gehe ich davon aus, da es bei euch ja zu funktionieren scheint....
Ja, es liegt tatsächlich an TLS. Scheinbar unterstützt der Client keine sichere Verbindung, denn ohne funktioniert es auf Anhieb.
 
Ich habe hier noch einen Nachgang. Der Parameter pos, der über MQTT gesendet wird, liefert nicht die gleichen Werte, wie in der App. Hier bekomme ich bspw:

pos = -2.79, -2.95

und wenn ich dann zeitlich in die App schaue, sehe ich

-3,36E, -2,38N

Wie man sieht, haben die Werte nicht sehr viel mit einander zu tun. Was läuft da schief? Muss man die Werte noch übersetzen?

Für die Zukunft wäre es schön, wenn man noch Infos über den aktuellen Ladezustand (alle Werte aus der ersten Zeile in der App) bekommen könnte.

Kann ich bestätigen. MQTT: -0.45, -2.14 und in der App -2.06, -0.39

Die absoluten Koordinaten scheint man nicht zu bekommen oder? Möchte mir die Position des Rovers gerne auf einer richtigen Karte anzeigen lassen
 
Schau mal in die comm.cpp. Vielleicht findest du da die richtigen Werte. Für meine Anwendung habe ich die comm.cpp schon etwas umgebaut, sodass ich Werte von der Batterie bekomme:

Code:
snprintf (mqttMsg, MSG_BUFFER_SIZE, "%.2f", battery.batteryVoltage);          
mqttClient.publish(MQTT_TOPIC_PREFIX "/battery/voltage", mqttMsg);
snprintf (mqttMsg, MSG_BUFFER_SIZE, "%.2f", battery.chargingVoltage);          
mqttClient.publish(MQTT_TOPIC_PREFIX "/battery/chargingVoltage", mqttMsg);
snprintf (mqttMsg, MSG_BUFFER_SIZE, "%.2f", battery.chargingCurrent);          
mqttClient.publish(MQTT_TOPIC_PREFIX "/battery/chargingCurrent", mqttMsg);
 
Kann ich bestätigen. MQTT: -0.45, -2.14 und in der App -2.06, -0.39

Die absoluten Koordinaten scheint man nicht zu bekommen oder? Möchte mir die Position des Rovers gerne auf einer richtigen Karte anzeigen lassen
Ich glaube, da fehlt für den MQTT Wert irgendein Korrekturfaktor. Ich habe aber noch nicht herausgefunden, wo der her kommen könnte.

Edit: Die Werte für absolute Position sind in gps.lon und gps.lat. Kann man leicht einfügen (siehe oben).
 
Zuletzt bearbeitet:
stateX und stateY sind die Werte, die identisch mit den Werten in der App sind.

Code:
snprintf (mqttMsg, MSG_BUFFER_SIZE, "%.2f", stateX);         
mqttClient.publish(MQTT_TOPIC_PREFIX "/gps/stateX", mqttMsg);
snprintf (mqttMsg, MSG_BUFFER_SIZE, "%.2f", stateY);         
mqttClient.publish(MQTT_TOPIC_PREFIX "/gps/stateY", mqttMsg);
 
Ich glaube, da fehlt für den MQTT Wert irgendein Korrekturfaktor. Ich habe aber noch nicht herausgefunden, wo der her kommen könnte.

Edit: Die Werte für absolute Position sind in gps.lon und gps.lat. Kann man leicht einfügen (siehe oben).
Jou, habe ich eben auch bereits gefunden und eingebaut. Ich mache die Tage mal einen MR auf mit den mir sinnvoll erscheinenden Werten. Danke!

EDIT: MR ist hier
 
Zuletzt bearbeitet:
Hat jemand auch das Phänomen, dass wenn Alfred beim Mähen keine MQTT Verbindung aufbauen kann, er völlig durchdreht (im wahrsten Sinne des Wortes)? Manchmal bleibt er nur stehen und kommt irgendwann mit einem Piepkonzert in unterschiedlichen Frequenzen wieder, manchmal dreht er sich aber auch in alle Richtungen und wäre deshalb bei mir fast schon einmal von einer Mauer gefallen. Im Journal steht dann

Code:
MQTT: Attempting connection...
.
 
Zuletzt bearbeitet:
Ich meine, dass es immer genau dann passiert. Das Log stimmt überein. Wobei ich es nur 1 mal mit laufendem Log beobachten konnte. Es kann sich noch um einen Zufall handeln. Habe MQTT heute morgen mal abgeschaltet und beobachte weiter. Für mich sieht es aber aktuell so aus, als wenn er durchdreht, wenn er die Verbindung nicht aufbauen kann (warum auch immer, eigentlich fällt mir kein Grund ein).
 
Da ich dieses Problem, seit dem ich MQTT abgeschaltet habe, nicht mehr sehen konnte, scheint es wirklich an der MQTT Implementierung zu liegen. Gibt es jemanden der das bestätigen kann?
 
Being able to switch between maps via mqtt
would be a great feature for automation. Things I would do with it:
- mow specific areas to special times on a day (around the playground when kids are away)
- mow fast growing areas more often
- turn mow angle or lane offset periodically
 
Zuletzt bearbeitet:
Being able to switch between maps via mqtt
would be a great feature for automation. Things I would do with it:
- mow specific areas to special times on a day (around the playground when kids are away)
- mow fast growing areas more often
- turn mow angle or lane offset periodically
this is exactly what Im aiming for :)
 
Oben