ESP32 OTA via BLE

Nespressif
Posts: 76
Joined: Tue Sep 12, 2017 11:25 am

Re: ESP32 OTA via BLE

Postby Nespressif » Mon Feb 05, 2018 10:18 am

hello, although I suppose you have already thought about it, an alternative way is that the app installed on the client's smarphone, configure the phone as AP wifi with some keys that ESP knows and pressing, for example, the reset of ESP this connects to the smartphone and updates.

Greetings,

sumesh
Posts: 16
Joined: Fri Dec 22, 2017 12:11 am

Re: ESP32 OTA via BLE

Postby sumesh » Thu Mar 08, 2018 12:50 am

hi folks,

we tried implementing OTA over BLE ( product requirement), 700KB taking around 52 minutes .. roughly 200 bytes per second with long write.
could anyone advise what could possibly wrong.. we built data transfer rate over the gattt_server example code.

i see in the websites that we could hit upto 2K with BLE, any one could explain how to get that rates?

ios is not allowing write without response. please help me folks, we are in a dire need to speed up with data rates.

sumesh
Posts: 16
Joined: Fri Dec 22, 2017 12:11 am

Re: ESP32 OTA via BLE

Postby sumesh » Tue Mar 13, 2018 5:41 am

Resolved by changing the MTU to 500 from client

Lucas.Hutchinson
Posts: 79
Joined: Tue Apr 26, 2016 5:10 am

Re: ESP32 OTA via BLE

Postby Lucas.Hutchinson » Tue Mar 13, 2018 8:21 pm

Also try making your connection interval shorter. this may improve the transfer time.

Out of curiosity approximately what is the update time once you increased the MTU to 500?

sumesh
Posts: 16
Joined: Fri Dec 22, 2017 12:11 am

Re: ESP32 OTA via BLE

Postby sumesh » Wed Mar 14, 2018 8:12 am

it is around 5 minutes 720K

xiaoyao
Posts: 18
Joined: Wed Apr 10, 2019 9:04 am

Re: ESP32 OTA via BLE

Postby xiaoyao » Thu May 07, 2020 7:32 am

hi,
I'm doing related BLE OTA functions. Has anyone made any suggestions ? Now I am looking at the DFU of Nordic to find some solutions.

chegewara
Posts: 2375
Joined: Wed Jun 14, 2017 9:00 pm

Re: ESP32 OTA via BLE

Postby chegewara » Thu May 07, 2020 11:29 pm

sumesh wrote:
Wed Mar 14, 2018 8:12 am
it is around 5 minutes 720K
I just measured. It takes me less than 30 sek to OTA update over BLE with MTU 512 and file size around 950kB.
xiaoyao wrote: hi,
I'm doing related BLE OTA functions. Has anyone made any suggestions ? Now I am looking at the DFU of Nordic to find some solutions.
I dont know if can advice or disadvice to use DFU, because i dont know it. I only know its nordic semiconductor proprietary protocol and you would have to learn how it works to implement it on esp32. I know its sending notifications with data and peer device has to send back CRC, not every received packet but i dont know how often. There is for sure going on more in that protocol, but that all i know right now.

I am using OTA over BLE a lot and its custom made implementation and it works good to me.

anthony
Posts: 8
Joined: Tue Mar 31, 2020 6:37 pm

Re: ESP32 OTA via BLE

Postby anthony » Fri May 29, 2020 9:23 pm

I just measured. It takes me less than 30 sek to OTA update over BLE with MTU 512 and file size around 950kB.
Hi, I am quite interested in this. I just did a very basic test, no optimization at all writing to a gatt characteristic that just discards the data and getting about 1kB/s which seems extremely low. Could you share some info on your setup?
I'm also using BLE for OTA update, but it takes about 7 minutes for a full update at that speed, 1-2 min for differential update.

chegewara
Posts: 2375
Joined: Wed Jun 14, 2017 9:00 pm

Re: ESP32 OTA via BLE

Postby chegewara » Sat May 30, 2020 12:16 am

Simple code, using Kolban's library, the same which is in arduino-esp32. No CRC or any other error correction, sending with notifications, MTU 512. Client app to OTA update is ionic on android, iOS app is using max 185 MTU and update is longer accordingly.
I am using it in few projects, also commercial projects.

ralfaro
Posts: 2
Joined: Thu May 02, 2019 5:11 am

Re: ESP32 OTA via BLE

Postby ralfaro » Fri Jan 29, 2021 10:19 pm

Very late to this thread, but we successfully ported Nordic legacy buttonless DFU...we get timing of ~2.5 minutes for ~1.4MB binary. Keep in mind the DFU service uses write-no-response and we don't use the prn flow-control.

The one issue I'm noticing however is Apple CoreBluetooth doesn't allow higher connection timeout and sometimes ble disconnects when OTA is needing to erase a previously used slot. On very first OTA after flashing, this is not an issue.

Who is online

Users browsing this forum: kaxx1975, Majestic-12 [Bot] and 232 guests