Forum: Mikrocontroller und Digitale Elektronik ESP32 BLE OTA Arduino


von Alexander (alecxs)


Lesenswert?

Ich möchte auf dem ESP32 OTA nutzen. Nun gibt es verschiedene 
Möglichkeiten.

https://github.com/ayushsharma82/ElegantOTA

https://github.com/fbiego/ESP32_BLE_OTA_Arduino

https://github.com/michael-angerer/esp32_ble_ota

https://github.com/gb88/BLEOTA

Am besten gefällt mir die von (gb88) wegen der Sicherheit. Allerdings 
gibt es dazu keine App? Welche der Lösungen bietet sich an über einen 
Task im Hintergrund laufen zu lassen, so dass ein OTA während dem 
normalen Programm nebenher laufen kann, und dann nur ein Neustart 
ausgelöst wird?

von John P. (brushlesspower)


Lesenswert?

Ich nutze die Variante von fbiego.
funktioniert soweit ohne Probleme.

Alexander schrieb:
> elche der Lösungen bietet sich an über einen
> Task im Hintergrund laufen zu lassen, so dass ein OTA während dem
> normalen Programm nebenher laufen kann, und dann nur ein Neustart
> ausgelöst wird?

Wann der ESP das Update durchführen soll kannst du ja bestimmen. 
Letztlich wird das Update irgendwo hinkopiert (SD Karte/SPIFFS/FFAT) und 
dann der update prozess gestartet.

von Alexander (alecxs)


Lesenswert?

Wie sieht es da aus mit der Sicherheit? ESP32 läuft im Auto

von John P. (brushlesspower)


Lesenswert?

Alexander schrieb:
> Wie sieht es da aus mit der Sicherheit? ESP32 läuft im Auto

Hm....theoretisch kann jeder bei mir ein Update einspielen.

Müsste man mal ausprobieren ob es reicht die charakteristik oder service 
mit einer Pin zu sichern.

Eventuell reicht es dir das Update nur auf knopfdruck zu erlauben?

von Alexander (alecxs)


Lesenswert?

Nein komme nicht ran. Ist auch nur bei Zündung ein aktiv. Ich sag mal 
so, das Szenario ist sehr sehr unwahrscheinlich. Trotzdem muss ich es 
irgendwie absichern.

von John P. (brushlesspower)


Lesenswert?

Ist Bluetooth dauerhaft an?

Ansonsten nur 30 sek nach Zündung anlassen. Wenn bis dahin niemand 
connected wieder aus.

von Rüdiger B. (rbruns)


Lesenswert?

BLE Pairing mit PIN

von Alexander (alecxs)


Lesenswert?

Ich werde mal versuchen den Code als Task laufen zu lassen. Die beiden 
Tipps kann ich zusätzlich einbauen.

https://github.com/gb88/BLEOTA/blob/nimble/examples/nimble/bleota_secure/bleota_secure.ino

von Alexander (alecxs)


Lesenswert?

Alexander schrieb:
> 
https://github.com/gb88/BLEOTA/blob/nimble/examples/nimble/bleota_secure/bleota_secure.ino

Kann das mal jemand testen? Es sind zwei Zip's herunterzuladen und über
Sketch -> Include Library -> Add .ZIP Library... zu installieren,

BLEOTA-nimble.zip
https://github.com/gb88/BLEOTA/tree/nimble

NimBLE-Arduino.zip
https://github.com/h2zero/NimBLE-Arduino/tree/a79941c

dann unter
File -> Examples -> BLEOTA -> nimble -> bleota_secure -> die 
bleota_secure.ino zu öffnen.

Es kompiliert aber läuft nicht richtig auf dem ESP32 (Handyladegerät an 
USB). Es werden nur kryptische Zeichen angezeigt.
1
Manufacturer: H<�?
2
Model: <�?
3
HW Version: 8<�?
4
FW Version: (<�?
https://gb88.github.io/BLEOTA

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.