Ardumower Webinterface

Bei mir sitzt der esp auf einer kleinen Lochrasterplatine huckepack auf dem due und ist direkt min dessen pins verbunden. Das war der einfachste Weg der Unterbringung.
Du kannst die Tx/rx pins mal direkt verbinden (due vorausgesetzt, 3,3V) um weitere Fehlerquellen auszuschließen.
Hast Du die Baudrate in esp und due angeglichen? Hast Du die richtige rx/tx-Schnittstelle im due im Code aktiviert?
Wenns dann nicht geht, bleibt eigentlich nur noch ein Hardwaredefekt übrig.
Gruß Fürst Ruprecht
 
Moin
Das ist ein tolles Projekt.
Ich habe eine Frage. Es handelt sich doch um den original ESP32, oder?
Kann man auch einen anderen ESP32 nehmen? Ich habe hier einen ESP32-Cam liegen.
Dort ist direkt eine kleine Kamera drann. Aktuell habe ich diesen ESP32-Cam als Mitfahrer im Gehäuse nur für die Kamera.
Es wäre ja klasse wenn der auch die Schnittstelle zur Außenwelt wäre.
Gruss Björn
Also auf die „Schnelle“ lassen sich die zwei Funktionen Camera und Webserver nicht zusammen fügen (zumindest kann ich das nicht).
Im ersten Versuch kann ich den Code zusammenführen und auch hochladen - der Webserver funktioniert - aber die Seite für die Camera läßt sich nicht ansprechen - wäre ja auch zu einfach gewesen.
Aber vom Grundsatz muß es gehen. Das Camerabild wird gestoppt und man springt zu den Webserver-Seiten. Dazu muß (aus meiner Sicht) aber der Webserver in die Struktur des Camera-Codes eingearbeitet werden. Zwei esp nehmen ist einfacher, schneller und stabiler ! 🤔
Gruß Fürst Ruprecht
 
Hallo zusammen, bin grade dabei meinen Mower aufzubauen und hänge noch stark an USB Port. In der Zukunft möchte ich mir nicht extra ein Android Gerät anschaffen und mit auf diesen Thread hier
So nun zur Anleitung,


Download the Arduino IDE

Im Bereich „Download the Arduino IDE“ können wir nun das passende Download-Paket für das jeweilige Betriebssystem auswählen und herunterladen. In meinem Fall lade ich den Windows Installer herunter, da ich Arduino IDE auf einem Windows 10 System einsetzen werden. Alternativ kann die Arduino IDE auch auf Mac OS X (10.7 oder höher) oder Linux installiert werden. Bitte immer die aktuelle Version benutzen.





Nach dem herunterladen des Pakets können wir direkt mit der Installation beginnen. Die Installation ist einfach und schnell durchgeführt. Nach der Installation können wir nun die Arduno IDE starten und direkt mit der Konfiguration und Einrichtung beginnen. Dazu öffnen wir im Menü unter Datei den Menüpunkt Voreinstellungen. Auf der Lasche Einstellungen müssen wir in das Feld Zusätzliche Boardverwalter-URLs folgende URL eintragen:







Im nächsten Schritt öffnen wir unter dem Menüpunkt Werkzeuge die Board-Wahl und starten den Boardverwalter. Mit dem Boardverwalter können wir zusätzliche Treiber für die Unterstützung von weiteren Mikrocontrollern hinzufügen. Um später die ESP8266 Mikrocontroller verwenden zu können, müssen wir dazu noch das esp8266 Paket installieren.

arduiono_boardverwalter-600x298.png




Im Boardverwalter suchen wir nach „esp8266“ und installieren hier die neueste Version Bei mir ist die Version 2.7.1 als aktuellste Version installiert.

arduiono_boardverwalter2-600x338.png


Spiffs Tool installieren:
Wir benötigen das Tool "ESP8266FS" - eine Erweiterung die sich in die Arduino IDE integriert. Es fügt im Menü "Werkzeuge" den Eintrag "ESP8266 Sketch Data Upload" hinzu.

Als erstes laden wir uns das aktuelle Tool von der ESP8266 GitHub Seite herunter:

https://github.com/esp8266/arduino-esp8266fs-plugin/releases/tag/0.5.0

Wir erstellen nun einen Ordner mit dem Namen "tools" im gleichen Ordner wie unsere Arduino-Sketche. Normalerweise befindet sich dieser unter "C:\Users\<benutzername>\Documents\Arduino\".

Entpacken Sie die heruntergeladene .zip Datei und kopieren Sie den Ordner ESP8266FS in das "tools" Verzeichnis. Am Ende haben wir dann "C:\Users\<benutzername>\Documents\Arduino\tools\ESP8266FS\tool\esp8266fs.jar".

Nun starten wir die Arduino IDE neu.


Arduino IDE einen Speicherbereich für unser Filesystem:

Arduino_IDE_Memory_for_File_system.png


Es sollte nun ein neuer Menüpunkt vorhanden sein "ESP8266 Sketch Data Upload"

Arduino IDE ist nun bereit für den ESP8266!!!!!

Hardware:

Es gibt für mehrere Möglichkeiten den ESP mit dem Computer zu verbinden

1:
Anhang anzeigen 538
.
ACHTUNG in dem Bild ist der esp an 5v angeschlossen der muss auf 3,3v angeschlossen werden !!!
2:

FTDI Adapter (Achtung Jumper auf 3.3V Stellen)
Anhang anzeigen 539

3:
ESP to usb Adapter (mein Persönlicher Favorit)
Anhang anzeigen 540

Flaschen des Webinterfaces:

1:
Ordner entpacken

2:
MowerWebControl.ino Öffnen

3.

Einstellungen überprüfen / Ändern

Deine Netzwerkeinstellungen:

Anhang anzeigen 541

IDE Einstellungen:

Anhang anzeigen 542

Den ESP in Flash Modus bringen und hochladen:
Je nach Adapter unterschiedlich, beim ESP zu usb Adapter ist es nur ein Schalter ( umgelegt, reingesteckt, fertig)

Sketch Kompilieren und Hochladen.

Wenn bis jetzt kein fehler aufgetreten ist ….. :D:D:D:D:D

ESP8266 bleibt im Flashmodus, usb Verbindung trennen und wieder verbinden.

Spiffs Daten Hochladen:

in der Arduino IDE -> Werkzeuge -> "ESP8266 Sketch Data Upload" drücken und die HTML daten werten aus dem DATA Ordner kopiert.

Hinweis:

Bei mir kam es gelegentlich zu einem Fehler "Time out Verify hash"
Sollte jetzt nicht mehr vorkommen.


wenn alles Geklappt hat, dann die usb Verbindung trenne, den Flashmodus aufheben (bei mir, Schalter umlegen und gut ist)
USB wieder verbinden, 30 sec warten und dann solltest du das Webinterface unter DEINER IP öffnen können.

Am Mower must du nur noch au WiFi wechsen……..

hoffe das ich nichts vergessen habe und das ich dir helfen konnte.

VG
Thorsten
Hallo zusammen, eigentlich kenne ich mich durch Sonoffs etc. (tasmota) relativ gut mit ESP8266 Chips aus. Aber hier ist mir irgendwie nich klar, welche Files ich flashen muss. Auf der ersten Seite sind verschiedene Versionen mit verschiedenen HTML daten. Welche müssen geflasht werden? Derzeit flashe ich die im Bild zu erkennenden Files. Leider connected sich der ESP8266 nicht mit dem Router bzw. finde ich die von mir eingegebene WLan adresse nicht in den aktiven Netzwerkgeräten.
 
Hallo Biland,
Du öffnest in der arduino-umgebung die webserver.ino (es gibt eine für esp8266 und eine für esp32) und lädst sie auf den esp hoch.
Das „Original„ besteht aus mehreren Files, die die arduino-Umgebung automatisch zusammenpackt, meine Variante besteht nur aus einem File (ist das selbe, aber zusammengefügt).
Wichtig: Der Ordner in dem die .ino Datei liegt, heißt genauso wie die Datei, sonst meckert die arduino-Umgebung.
Im Order befindet sich das Unterverzeichnis data. In diesem liegen die anderen Dateien und Unterverzeichnisse.
Dies werden in der Arduinoumgebung über das spiffs-Tool in den Speicher des esp hochgeladen.

In Kurzform: webserver.ino flashen + data upload drücken.
Thorsten hat das sehr gut beschrieben, vielleicht hilft mein ergänzender Hinweis.
Wenn nicht, nochmal melden.
Gruß Fürst Ruprecht
 
...mein ESP connected leider immer noch nicht mit dem Mower...ich sehe auf dem Scope, dass der richtige RX/TX Port gewählt wird, sehe serielle Signale auf den Leitungen ... aber kein Connect.
Habe aus diesem Grunde das WAN Modul aus dem Shop genommen und probiere gerade das flashen...Problem: es gibt in den neuen Versionen der IDE und des Upload Tools kein '...SPIFF...' wie in der guten Anleitung von Torsetn beschrieben sondern man kann nur verschiedene '...OTA...' wählen .... es findet sich aber keiner mit dem der Upload der Data Files klappt, laut Fehlermeldung past das 2K File nicht in das 1K Speichersegment, was ja zu verstehen ist...aber ich finde keine Version die einen größeren Bereich alloziert...

Ideen sind Willkommen :)

Gruß Michael (der leider im Bereich ESP und IDE ein Anfänger ist)
 
Herr reichelt-de sagt, der D1 mini hat 4MB, dann wird das so auch stimmen. Dann paßt der code und die Daten auch drauf.Den Speicher muß Du gemäß der Anleitung von Thorsten in der IDE einstellen. Du hast doch geschrieben, daß Du auf die Webseiten zugreifen kannst. Welchen esp hast Du aus dem shop genommen - der esp01 hat zu wenig speicher, der taugt nur zur wifi-bridge.
Welche Arduino-IDE nutzt Du. Man kann problemlos mehrere IDEs auf dem PC parallel als „portable“ installieren. Das ist auch ganz nützlich, wenn man mit mehreren unterschiedlichen Prozessor-Familien arbeitet. Wenn Du den D1-mini zum laufen bekommen hast, dann kann das Problem nicht die IDE sein.
Es könnte die Einstellung der IDE bzw. die Prozessorauswahl sein, die jetzt zu Deinem anderen esp nicht paßt. Das würde auch erklären, warum du keinen data-upload angeboten bekommst.
OTA kannst Du nur nutzen, wenn das im Code - also dem Programm, welches Du auf den controller hochlädst, programmiert ist - was in unserem Fall nicht so ist.
Das Tool für das Hochladen der files aus dem Ordner data mußt Du zuerst installieren. Nach jeder Änderung an der Arduino-IDE muß die IDE geschlossen und neu gestartet werden.
Ich würde zuerst nochmal die Einstellung der arduino-Umgebung checken, da passiert schnell ein Fehler. Beide controller werden wohl nicht defekt sein, das ist sehr unwahrscheinlich. Der D1 lief - halbe Miete! RX/TX sind richtig verdrahtet! Baudeinstellung ??
Gruß Fürst Ruprecht
 
...die Fehlermeldung lautet übrigens:
Arduino: 1.8.13 (Windows 10), Board: "Generic ESP8266 Module, 80 MHz, Flash, Legacy (new can return nullptr), All SSL ciphers (most compatible), dtr (aka nodemcu), 26 MHz, 40MHz, DOUT (compatible), 8MB (FS:6MB OTA:~1019KB), 2, nonos-sdk 2.2.1+100 (190703), v2 Lower Memory, Disabled, None, All Flash Contents, 115200"



SPIFFS Not Defined for Generic ESP8266 Module, 80 MHz, Flash, Legacy (new can return nullptr), All SSL ciphers (most compatible), dtr (aka nodemcu), 26 MHz, 40MHz, DOUT (compatible), 2MB (FS:none OTA:~1019KB), 2, nonos-sdk 2.2.1+100 (190703), v2 Lower Memory, Disabled, None, All Flash Contents, 115200

[SPIFFS] data : C:\Users\mskas\Downloads\MowerWebControl_04072020_Neue_lib\MowerWebControl_04072020_Neue_lib\esp8266-MowerWebControl\MowerWebControl_040720\data

[SPIFFS] size : 6120

[SPIFFS] page : 256

[SPIFFS] block : 8192

/ADCcalib.html
/cockpit.html
/commands.html
/design.css
/design_dark.css
/error.html
/functions.js
/index-struktur.txt
/index.html
/logo.png
/logo_small.png
/manual.html
/plot/index_p.html
/plot/LD_Batt.html
/plot/LD_IMU.html
/plot/LD_Peri.html
/plot/LD_Sonar.html
/settings/batt.html
/settings/bumperduino.html
/settings/datetime.html
/settings/drop.html
/settings/gps.html
/settings/imu.html
/settings/index_s.html
/settings/lawn.html
/settings/motor.html
/settings/mow.html
/settings/odo.html
/settings/perimeter.html
/settings/rain.html
/settings/rc.html
/settings/sonar.html
/settings/station.html
/settings/vorlage.html
/settings2.html
/statistics.html
[SPIFFS] upload : C:\Users\mskas\AppData\Local\Temp\arduino_build_477134/MowerWebControl_040720.spiffs.bin

[SPIFFS] address : 0x200000

[SPIFFS] reset : --before default_reset --after hard_reset

[SPIFFS] port : COM3

[SPIFFS] speed : 115200

[SPIFFS] python : C:\Users\mskas\AppData\Local\Arduino15\packages\esp8266\tools\python3\3.7.2-post1\python3.exe

[SPIFFS] uploader : C:\Users\mskas\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.4\tools\upload.py



esptool.py v2.8
Serial port COM3
Connecting....
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: 60:01:94:15:e8:00
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Auto-detected Flash size: 1MB
Traceback (most recent call last):
File "C:\Users\mskas\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.4\tools\upload.py", line 65, in <module>
esptool.main(cmdline)
File "C:/Users/mskas/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.7.4/tools/esptool\esptool.py", line 2938, in main
operation_func(esp, args)
File "C:/Users/mskas/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.7.4/tools/esptool\esptool.py", line 2336, in write_flash
% (argfile.name, argfile.tell(), address, flash_end))
esptool.FatalError: File C:\Users\mskas\AppData\Local\Temp\arduino_build_477134/MowerWebControl_040720.spiffs.bin (length 6266880) at offset 2097152 will not fit in 1048576 bytes of flash. Use --flash-size argument, or change flashing address.
SPIFFS Upload failed!

Gruss Michael
 
Sorry, hab deinen Beitrag erst grad gesehen...da ich den ESP01 aus dem Shop jetzt genommen habe erklärt sich das Speicherplatzproblem => muss ich also mit dem D1 mini weiter probieren.
Ja, ich habe Zugriff auf den Web Server, das Flashen hat also funktioniert.
Nur der Connect zum Ardumower ... Baudrate habe ich 115200 eingestellt, beim ESP in der .ino ... beim Ardumower steht in der mower.h ebenfalls diese als Default
...
 
Hallo Biland,
Du öffnest in der arduino-umgebung die webserver.ino (es gibt eine für esp8266 und eine für esp32) und lädst sie auf den esp hoch.
Das „Original„ besteht aus mehreren Files, die die arduino-Umgebung automatisch zusammenpackt, meine Variante besteht nur aus einem File (ist das selbe, aber zusammengefügt).
Wichtig: Der Ordner in dem die .ino Datei liegt, heißt genauso wie die Datei, sonst meckert die arduino-Umgebung.
Im Order befindet sich das Unterverzeichnis data. In diesem liegen die anderen Dateien und Unterverzeichnisse.
Dies werden in der Arduinoumgebung über das spiffs-Tool in den Speicher des esp hochgeladen.

In Kurzform: webserver.ino flashen + data upload drücken.
Thorsten hat das sehr gut beschrieben, vielleicht hilft mein ergänzender Hinweis.
Wenn nicht, nochmal melden.
Gruß Fürst Ruprecht
Hey danke für dein Feedback. Meine Fehlerursache war eigentlich zu peinlich um es hier zu offenbaren ... nachdem ich den Flashversuch auf einem Wemos D1 Mini gemacht habe, hat alles sofort funktioniert. Also habe ich überlegt was ist der Unterschied ... Der Reset Button! Nachdem ich dann den esp01 RST Pin kurz auf GND gelegt hab funktioniert dieser auch. Sorry aber das ist echt peinlich. Nunja was solls, nun komme ich schonmal aufs WebIF heute Nachmittag werd ich den ESP01 dann einbauen. Der kommt doch einfach auf die im Foto gekennzeichneten Anschlüsse oder? Was in der Mower.ccp dann nur Bluetooth aus- und Wlan einschalten?
 

Anhänge

  • esp8266.jpg
    esp8266.jpg
    164,6 KB · Aufrufe: 25
Ich denke, diese Peinlichkeiten kennen wir alle aus eigener Erfahrung!
Ja, das ist der vorgesehene Anschluß. Bluetooth und Wlan hängen an den selben RX/TX-Pins. Es laufen auch beide Schnittstellen “parallel“ ohne Problem, solange man nur auf einer die Eingaben macht - d.h. solange nur der Bus gelesen wird, kein Problem, gleichzeitiges Schreiben von Bluetooth und Wlan funktioniert nicht. Konsequent wäre eigentlich, das zu aktivieren was man nutzt und den Rest abzuschalten (noch besser wäre es, die ungenutzten Funktionen aus dem code zu entfernen um unnötige Rechenoperationen zu vermeiden.
Gruß Fürst Ruprecht
 
Ich denke, diese Peinlichkeiten kennen wir alle aus eigener Erfahrung!
Ja, das ist der vorgesehene Anschluß. Bluetooth und Wlan hängen an den selben RX/TX-Pins. Es laufen auch beide Schnittstellen “parallel“ ohne Problem, solange man nur auf einer die Eingaben macht - d.h. solange nur der Bus gelesen wird, kein Problem, gleichzeitiges Schreiben von Bluetooth und Wlan funktioniert nicht. Konsequent wäre eigentlich, das zu aktivieren was man nutzt und den Rest abzuschalten (noch besser wäre es, die ungenutzten Funktionen aus dem code zu entfernen um unnötige Rechenoperationen zu vermeiden.
Gruß Fürst Ruprecht
Hi danke dir für die prompte Rückmeldung. Dann will ich heute Nachmittag mal mein Glück versuchen. Den "esp8266ConfigString" brauch ich nicht oder? soll ich den auskommentieren?
 
Hi, sorry hab erst jetzt mitbekommen das es probleme gab 😂👍 den konfig String kannst du einfach so lassen wie er ist .... Der Webserver verarbeitet den String nur wenn du " IP Settings von mower " auf true setzt... Die Funktion funktioniert zwar ist aber leider nicht so zuverlässig....

VG
Thorsten
 
@Biland: du solltest auch an P44 gehen können, liegt parallel
Bin mal gespannt ob es bei dir klappt...poste mal ein Foto vom Anschluss wenn es funktioniert
Gruss MIchael
 
Danke für eure Hilfe. Werde heute zum späten Nachmittag dann nochmal eine Wasserstandsmeldung mit Fotos posten ;-)
 
hallo zusammen, hab dan esp01 wie oben dargestellt auf dem pcb1.3 angeschlossen. Hab dann die Mower.ccp angepasst (bluetooth aus / Wlan ein) geflasht. Im Menue die Communication auf Wifi umgestellt und neu gestartet (alles Stromlos). Das WebIF ist auf aufrufbar. Jeoch wird mir angezeigt "mower not connected" und der Mower reagiert auch nicht auf Befehle wie z.B. User switch oder so. Interessanterweise, wird mir bei Settings "Info" jedoch angezeigt "connection ok" auch die Werte die dort angezeigt werden sind plausibel. Nun bräuchte ich nochmal eure Hilfe ;-)
 

Anhänge

  • serial.JPG
    serial.JPG
    84,7 KB · Aufrufe: 25
  • webIF.JPG
    webIF.JPG
    99,3 KB · Aufrufe: 27
  • wefif ok.JPG
    wefif ok.JPG
    89,9 KB · Aufrufe: 24
Hi Biland,
willkommen im Club...bei mir komt leider nicht mal die Info ....
Ich habe mit dem Scope gesehen, dass der Ardumower auf den richtigen seriellen Port geht, die Baudrte ist meiner Recherche nach auf dem Mower und dem ESP richtig eingestellt ...es funktioniert trotzdem nicht.
Irgendeine Kleinigkeit haben wir noch übersehen ... hoffentlich lachen wir bald drüber.

Gruß, Michael
 
Hi Michael, wie kommst du an Infos aus dem Seriellen Monitor? bei mir zeigt er das garnicht an.... wie kann man die Baudrate vom ESP und Ardumower anpassen bzw. einstellen?
Gruß
Michel
 
Hallo,
ich habe was falsches erzählt - Asche auf mein Haupt!!
Habe heute den Schaltplan angesehen - Revision 1.3 Seite 8/33 und auch nochmal in meine Einstellung geschaut.
Gemäß Schaltplan ist der esp mit TX1/RX1 verbunden, Bluetooth mit TX2/RX2-
Da ich den esp huckepack auf dem Due habe, sind die esp32 TX1/RX1-Pins direkt an den Due TX2/RX2 angeschlossen.
Anbei die Bilder zur Verdeutlichung.

Gruß Fürst Ruprecht
 

Anhänge

  • Serielle_Schnittstelle.JPG
    Serielle_Schnittstelle.JPG
    105,4 KB · Aufrufe: 26
  • IMG_5970.JPG
    IMG_5970.JPG
    1,7 MB · Aufrufe: 26
  • IMG_5972.JPG
    IMG_5972.JPG
    1,8 MB · Aufrufe: 26
Oben