ESP32 OTA via BLE
-
- Posts: 76
- Joined: Tue Sep 12, 2017 11:25 am
Re: ESP32 OTA via BLE
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,
Greetings,
Re: ESP32 OTA via BLE
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.
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.
Re: ESP32 OTA via BLE
Resolved by changing the MTU to 500 from client
-
- Posts: 79
- Joined: Tue Apr 26, 2016 5:10 am
Re: ESP32 OTA via BLE
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?
Out of curiosity approximately what is the update time once you increased the MTU to 500?
Re: ESP32 OTA via BLE
it is around 5 minutes 720K
Re: ESP32 OTA via BLE
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'm doing related BLE OTA functions. Has anyone made any suggestions ? Now I am looking at the DFU of Nordic to find some solutions.
Re: ESP32 OTA via BLE
I just measured. It takes me less than 30 sek to OTA update over BLE with MTU 512 and file size around 950kB.
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.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 am using OTA over BLE a lot and its custom made implementation and it works good to me.
Re: ESP32 OTA via BLE
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 just measured. It takes me less than 30 sek to OTA update over BLE with MTU 512 and file size around 950kB.
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.
Re: ESP32 OTA via BLE
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.
I am using it in few projects, also commercial projects.
Re: ESP32 OTA via BLE
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.
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: Baidu [Spider], Google [Bot] and 332 guests