Ardumower Webinterface

Um etwas auf der arduino-console anzuzeigen schreibt man z.B. Serial.print(..) .
Wir nutzen stattdessen ShowMessage(..).
ShowMessage speichert das Auszudruckende (..) in die Zeichenfolge html_line.
pfod.cpp schickt html_line zum esp und der stellt es auf der WebSeite „Console“ als Text dar.
Der DUE hat mit der Menge der Zeichen zu kämpfen. Beim DUE lösche ich deshalb nach jeder Ausgabe den Zeichenpuffer html_line.
Daher braucht man keine weitere Schnittstelle.

OTA:
zunächst mußt Du über usb-Kabel den sketch auf den esp hochladen (wie immer).
Wenn das erfolgreich war und der esp nach dem reboot sich in Dein wlan-Netz eingewählt hat (das siehst du auf der Arduino-console, wenn der esp noch am usb-kabel hängt) kannst Du in der arduino-Umgebung nun den zusätzlich angezeigten Port (lange kryptische Bezeichnung) für OTA auswählen. Die arduino-Console über usb funktioniert jetzt nicht mehr, weil Du ja den OTA-Port ausgewählt hast.
Wenn das jetzt funktioniert, kannst Du ab jetzt sowohl den sketch als auch die daten hochladen ohne Knöpfchen am esp drücken zu müssen.
 
hat aber vorher schon mal funktioniert !?
Woran machst Du das fest, das er nicht funktioniert?
Wenn der esp sein Programm abspult, dann zeigt er auf der Arduino-console an, ob SPIFFS funktioniert und welche Dateien im SPIFFS vorhanden sind.
 
Hallo Fürst Ruprecht,
coole Sache. Habe an meinem Testsystem aufgespielt.
Web interface hat sofort geklappt. die Pfod dateien habe ich noch nicht übertragen, kommt die Tage dann dran.
Das neue Layout sieht sehr gut aus auch auf einem Handybildschirm toll zu bedienen.

Danke für die tolle Arbeit.

Gruss Michael
 
Ich bekomme in der PFOD-App keine Verbindung zustande. Also verbunden mit der IP Adresse ist die App, jedoch bekomme ich an die App keine Daten übermittelt.
 
Ich bekomme in der PFOD-App keine Verbindung zustande. Also verbunden mit der IP Adresse ist die App, jedoch bekomme ich an die App keine Daten übermittelt.
Mangels Hardware und App kann ich das nicht überprüfen. Wir haben an der Funktionalität der app nichts verändert.
Hast Du es mit einem normalen Browser mal probiert? Sieht viel schicker aus und ist ja dafür gemacht. Also firefox oder vergleichbar öffnen, egal auf welchem Endgerät und die IP-Adresse im Browser eingeben

Beispiel.JPG
 
Hallo ich habe die Pfod.h und Pfod.cpp in die 1.84 eingefügt und bekomme einige Fehlermeldung wie
'
exit status 1
'class Robot' has no member named 'perimeterMagLeftMaxValue'
Das konnte ich durch ändern auf

'perimeterMagMaxValue' beheben. Vermute das kommt von deinen zwei Perimetersensoren?

mit den Meldungen:

Arduino: 1.8.19 (Windows Store 1.8.57.0) (Windows 10), Board: "Arduino Due (Programming Port)"


D:\users\Michael neu\Documents\Ardumower\Firmware\AzuritBer-master 1.84 05.04.22 in Betrieb\ardumower\pfod.cpp: In member function 'void RemoteControl::sendGPSMenu(boolean)':

pfod.cpp:985:14: error: 'class GPS' has no member named 'f_get_position'

robot->gps.f_get_position(&lat, &lon, &age);

^

pfod.cpp:987:32: error: 'class GPS' has no member named 'hdop'

serialPort->print(robot->gps.hdop());

^

pfod.cpp:989:32: error: 'class GPS' has no member named 'satellites'

serialPort->print(robot->gps.satellites());

^

pfod.cpp:991:32: error: 'class GPS' has no member named 'f_speed_kmph'

serialPort->print(robot->gps.f_speed_kmph());

^

pfod.cpp:993:32: error: 'class GPS' has no member named 'f_course'

serialPort->print(robot->gps.f_course());

^

pfod.cpp:995:32: error: 'class GPS' has no member named 'f_altitude'

serialPort->print(robot->gps.f_altitude());

^

D:\users\Michael neu\Documents\Ardumower\Firmware\AzuritBer-master 1.84 05.04.22 in Betrieb\ardumower\pfod.cpp: In member function 'void RemoteControl::sendStationMenu(boolean)':

pfod.cpp:1361:54: error: 'class Robot' has no member named 'checkDockingSpeed'

sendSlider("k07", F("Station check Speed"), robot->checkDockingSpeed, "", 0.1, 10, 0);

^

D:\users\Michael neu\Documents\Ardumower\Firmware\AzuritBer-master 1.84 05.04.22 in Betrieb\ardumower\pfod.cpp: In member function 'void RemoteControl::processStationMenu(String)':

pfod.cpp:1376:69: error: 'class Robot' has no member named 'checkDockingSpeed'

else if (pfodCmd.startsWith("k07")) processSlider(pfodCmd, robot->checkDockingSpeed, 0.1);

^

D:\users\Michael neu\Documents\Ardumower\Firmware\AzuritBer-master 1.84 05.04.22 in Betrieb\ardumower\pfod.cpp: In member function 'void RemoteControl::sendTestOdoMenu(boolean)':

pfod.cpp:2052:32: error: 'class Robot' has no member named 'perimeterNoiseLeft'

serialPort->print(int(robot->perimeterNoiseLeft));

^

exit status 1

'class GPS' has no member named 'f_get_position'



Dieser Bericht wäre detaillierter, wenn die Option
"Ausführliche Ausgabe während der Kompilierung"
in Datei -> Voreinstellungen aktiviert wäre.


Ich möchte da jetzt nicht so viel drin rumfingern da ich nicht wirklich was vom programmieren verstehe.
Ist das Webinterface überhaupt für ältere Versionen vorgesehen?
Wird es eine Master mit dem Webinterface geben?

Gruss michael
 
Hallo Michael,
Bernard hat in der Tat den Softwarestand überarbeitet und die Versionen für azuritBer (DUE + ardumower-pcb) und Teensymower (eigenes pcb) in Bezug auf die entscheidenden Variablen vereinheitlicht. Dadurch konnten wir eine „allgemeingültige“ pfod.cpp und pfod.h generieren. Soweit ich das mitbekomme, hat sich die Software von Bernard grundsätzlich weiterentwickelt. Ich würde daher sagen, Du solltest ebenfalls updaten.

Alternativ, wenn Du das nicht willst, versuche folgendes:
Zu den Compilerfehlern:
-Die Software unterstützt jetzt grundsätzlich zwei Perimetersensoren. Entfernt man Left aus den Variablen, kommt man zum alten Stand. Neu sind jetzt Left und Right. (wie Du bereits erkannt hast).

-Die GPS-Fehler stammen aus dem aufgeblasenen sendgpsmenu(), processgpsmenu(). Du kommst einfach zur alten Version zurück, wenn Du
/* FR:12.05.2022 Standard-Version
void RemoteControl::sendGPSMenu(boolean update) { …
wieder aktivierst indem Du /* und */ änderst in // und
// FR:12.05.2022 Extendet-Version
void RemoteControl::sendGPSMenu(boolean update){….
in analoger Form deaktivierts durch ändern // in /* und */
Analoge Vorgehensweise mit processgpsmenu()

-checkdockingspeed ist neu -> auskommentieren mit //


Gruß Fürst Ruprecht
 
Kleine Fehlerkorrektur:

ESP32WebServer:
Version 22.05.2022
Changes in Version 22.05.2022:
Menu Station: Reboot after Charging -> does not show Yes/No -> error corrected in html_file
Menu Set Timer: Pressing T-Icon leads back to Menu Settings -> modification in html_file -> now it leads back to Menu Set Timer


Gruß Fürst Ruprecht
 
Transfer der plot-funktion hin zu LiveData.

Wie hättet Ihr es denn gerne?
Alle Signale auf dem gleichen screen ( ich weiß garnicht, ob das funktionieren kann)
oder die Signale sinnvoll gruppieren und auf mehrere Screen verteilen (würde ich lieber so machen wollen)?

Gruß Fürst Ruprecht
 
Ich hab es bis heute noch nicht hinbekommen die Console zu aktivieren... Die 2. Baudrate... Muss ich die auch auf 19500 stellen?
Irgendwas mache ich falsch...
 
Ich hab es bis heute noch nicht hinbekommen die Console zu aktivieren... Die 2. Baudrate... Muss ich die auch auf 19500 stellen?
Irgendwas mache ich falsch...
For arduino DUE you need 19200 on both side into ESP32 and into AZURITBER.
I don't know the @Fürst Ruprecht code ,but to have pfod work with esp32 webserver i need to rewrite the TCP_CLIENT.ino part
It's the code you can find in the DEV branch .
I need to check for console, but you can have it on webServeur or in PFOD but not on the two side at same time.

Check also the PFOD port nr (I use 8881 and @Fürst Ruprecht use 8080)
 
In the AzuritBer Code and in the Webserver Code the baudrate ist 19200.
I use the actual DEV branch.
My PFOD Port ist 8080.

I have no connection to the Pfod App and nothing could be seen in the Webserver Console. 🤷
Screenshot_2022-05-29-21-09-40-808_au.com.forward.pfodApp.jpg

All settings in the Webserver are possible, the Connection ist ok, but no Text in the Console.
 
Hallo Stefan,
die Funktion "Console" wird aus meiner Sicht nicht auf der pfod-app funktionieren.
Sie ist dafür nicht gemacht und benötigt eine html-Seite, die nur auf dem esp32 läuft und mit einem Browser angezeigt werden kann.
Ich habe die Live-Data-Funktionen erweitert und noch fehlende Eingabemöglichkeiten beim Timer ergänzt. Die Vermischung der Menüs von pfod-app und Webserver-Seiten werde ich jetzt zurück fahren, d.h. meine Priorität ist es, die Daten ohne Nutzung einer App zu zeigen . Soweit möglich, führe ich die bestehenden Möglichkeiten der pfod-app aber mit.

Gruß Fürst Ruprecht
 
Oben