Download der Files und Flashen des BabaControllers
Flashen des ESP32
Zum Flashen der BIN-Datei auf den ESP32 benötigt ihr das Tool Flash Download Tools von ESPRESSIF. Ladet es herunter und entpackt es (download ca. 32 MB).
Dann ladet die BIN-Datei, passend zur Version der App (siehe weiter unten) herunter und startet das Tool mit Doppelklick auf flash_download_tool.exe. Es kann sein, dass ihr das Tool als Administrator starten müsst.
- Wählt mit Klick auf ... die heruntergeladene .bin-Datei aus
- Tragt ein Offset von 0x10000 ein
- Setzt den Haken, damit diese Datei geflasht wird
- 80 MHz als SPI Speed auswählen
- DIO SPI Mode wählen
- Die richtige COM-Schnittstelle einstellen
- Als Baud-Rate 921600 einstellen
- Startet den Flash Vorgang - es dauert 20-30 Sekunden. Danach muss der ESP32 Resettet werden.
Sollte dies bei euch so nicht funktionieren, kann es sein, dass ihr auch den Bootloader sowie die Partitionstabelle neu flashen müsst. Das Vorgehen ist quasi identisch, nur das ihr zwei weitere Dateien benötigt. Ladet euch folgende Files zusätzlich von meinem Google Drive herunter:
Stellt jetzt alles so ein wie auf dem nächsten Screenshot zu sehen ist und klickt auf Start. Falls es bei euch dann immer noch nicht funktioniert, klickt mal auf ERASE und versucht es erneut mit Klick auf START.
- Wählt mit Klick auf ... die heruntergeladene .bin-Datei aus
- Tragt ein Offset von 0x10000 ein
- Setzt den Haken, damit diese Datei geflasht wird
- 80 MHz als SPI Speed auswählen
- DIO SPI Mode wählen
- Die richtige COM-Schnittstelle einstellen
- Als Baud-Rate 921600 einstellen
- Startet den Flash Vorgang - es dauert 20-30 Sekunden. Danach muss der ESP32 Resettet werden.
Sollte dies bei euch so nicht funktionieren, kann es sein, dass ihr auch den Bootloader sowie die Partitionstabelle neu flashen müsst. Das Vorgehen ist quasi identisch, nur das ihr zwei weitere Dateien benötigt. Ladet euch folgende Files zusätzlich von meinem Google Drive herunter:
Stellt jetzt alles so ein wie auf dem nächsten Screenshot zu sehen ist und klickt auf Start. Falls es bei euch dann immer noch nicht funktioniert, klickt mal auf ERASE und versucht es erneut mit Klick auf START.
Hinweise zur Android App
Die App läuft nur auf Geräten mit Android ab Version 7. Ältere Versionen werden NICHT funktionieren. Der Bildschirm des Gerätes muss mindestens eine Auflösung von 1080x720 haben, sonst wird die App nicht richtig dargestellt.
Getestet wurde mit folgenden Geräten:
- Samsung Galaxy S20+
- Samsung Galaxy S8
- Samsung Galaxy A7 (2018)
- Huawei P9 Lite (VNS-L31)
- Cubot Kingkong 5 Pro
- Ulefone Armor X5 Pro
- Umidigi F2
ESP32
Falls ihr alles zum ersten Mal zusammengebaut habt, solltet ihr die Debug-Version auf den ESP32 flashen und euch z. B. mit Putty auf die Serielle Schnittstelle des ESP32 verbinden. Ihr müsstet dann jede Menge Debug-Ausgaben sehen und könnt evtl. Fehler in der Verkabelung erkennen. Falls ihr nicht weiter kommt könnt ihr mir die Ausgaben auch schicken, vielleicht kann ich helfen.
Lizenzen
Für das Projekt nutze ich auf dem ESP32 die Arduino Bibliotheken. Diese Unterliegen der LGPL (siehe hier). Zusätzlich nutze ich für die Bluetooth Anbindung die NimBLE-Adruino Bibliothek mit einer Apache Lizenz 2 (siehe hier).
Die Android App nutzt, neben den Standard-Android Libraries, zusätzlich die Library MPAndroidChart von PhilJay. Diese Libraries unterliegen alle der Apache License Version 2.
Downloads
Version 2024_01_20-169:
Release Notes:- Optimierung Puls-Automatik
- Bugfix: Datenbank auf neuen Geräten wurde nicht richtig initialisert.
ESP32 Files:
Android APK:
- App Version 1.977 (nicht kompatibel mit vorherigen ESP32 Versionen!)
- Optimierung Puls-Automatik
- Bugfix: Datenbank auf neuen Geräten wurde nicht richtig initialisert.
Android APK:
- App Version 1.977 (nicht kompatibel mit vorherigen ESP32 Versionen!)
Version 2023_08_15-167:
Release Notes:- Bugfix: die Initialisierung des BME280 war teilweise fehlerhaft und führte zu einer falschen Höhenberechnung.
- Timing für die Fernbedienung geändert
- Optimierung Puls-Automatik
- Profile für die Motor-Konfiguration eingeführt. Ihr könnt jetzt z. B. über Spracheingabe das Motorprofil wählen. Der Motor/das Rad müssen dafür still stehen, ansonsten werden die Daten nicht richtig übernommen.
- Update über WLAN (vom Handy) möglich. Dazu die URL http://192.168.4.1:88 im Webbrowser auf dem Handy aufrufen, wenn ihr mit dem BabaController verbunden seit. Die neue Firmware solltet ihr natürlich vorher auf das Handy heruntergeladen haben.
- Effizienz in Statistikfile (.kv) aufgenommen und in Datenbank als Spalte hinzugefügt. Ich berechne die Effizienz mit folgender Formel:
- (Durchschnittliche Watt/h je km / Geschwindigkeit in km/h) / ((gefahrene KM / GPS Berg auf)*10)
- An sich ist das natürlich Käse, aber es liefert einen Wert den ihr jedes Mal miteinander vergleichen könnt um festzustellen ob ihr eure Kondition gesteigert habt. Falls ihr eine bessere Idee dafür habt lasst mich das gerne wissen. In der Statistik erscheint dieser Wert noch nicht, das kommt im nächsten Release.
- Bugfix: die Initialisierung des BME280 war teilweise fehlerhaft und führte zu einer falschen Höhenberechnung.
- Timing für die Fernbedienung geändert
- Optimierung Puls-Automatik
- Profile für die Motor-Konfiguration eingeführt. Ihr könnt jetzt z. B. über Spracheingabe das Motorprofil wählen. Der Motor/das Rad müssen dafür still stehen, ansonsten werden die Daten nicht richtig übernommen.
- Update über WLAN (vom Handy) möglich. Dazu die URL http://192.168.4.1:88 im Webbrowser auf dem Handy aufrufen, wenn ihr mit dem BabaController verbunden seit. Die neue Firmware solltet ihr natürlich vorher auf das Handy heruntergeladen haben.
- Effizienz in Statistikfile (.kv) aufgenommen und in Datenbank als Spalte hinzugefügt. Ich berechne die Effizienz mit folgender Formel:
- (Durchschnittliche Watt/h je km / Geschwindigkeit in km/h) / ((gefahrene KM / GPS Berg auf)*10)
- An sich ist das natürlich Käse, aber es liefert einen Wert den ihr jedes Mal miteinander vergleichen könnt um festzustellen ob ihr eure Kondition gesteigert habt. Falls ihr eine bessere Idee dafür habt lasst mich das gerne wissen. In der Statistik erscheint dieser Wert noch nicht, das kommt im nächsten Release.
Version 2022_03_08-157:
Release Notes:
- Neu: für die Automatik wird jetzt auch die Motorumdrehungszahl benutzt. Es gibt allerdings Motoren bei denen die Umin sehr stark schwanken. Dort funktioniert das nicht. Der Wert für die Motorumdrehungen kann dann auf 255 gestellt werden, wodurch dann die U/min nicht mehr berücksichtigt werden.
- Neu: 2 Oberflächen für den Hauptbildschirm die stark auf das nötigste reduziert sind. Auszuwählen über Einstellungen -> Display
- Neu: Für Handys die eine sehr geringe Auflösung in der Breite haben und eigentlich nicht die Minimalvoraussetzungen für die App erfüllen, werden jetzt automatisch die Konfigurationsdialoge im Querformat angezeigt als Workaround.
- Verbesserung: Ein Trip muss jetzt nicht mehr extra gestartet werden. Sobald sich das Rad bewegt startet ein Trip. Als Name wird der zuletzt vergebene Name benutzt.
Android APK:
- App Version 1.974 (nicht kompatibel mit vorherigen ESP32 Versionen!)
Version 2022_01_27-150:
Release Notes:
- Neues Feature: automatische Anpassung des Assist Level anhand des Pulses und der Kadenz (nur Nutzbar mit Pulsgurt und Kadenzsensor)
- Verbesserung: Erkennung Pulsgurt und Kadenzsensor wurde verbessert
- Bugfix: Statistik wurde bezüglich Jahre falsch sortiert angezeigt
- Bugfix: DS18b20 Temperatur wurde manchmal nicht korrekt angezeigt
- Normale Version (produktiv)
- Debug Version (nicht produktiv nutzen!)
- Simulator (reine Simulation mit sinnlosen Daten zum Testen der App ohne Motor)
Version 2021_12_12-144:
ESP32 Files:
Android APK:
Android APK:
Kommentare
Kommentar veröffentlichen