I need to transfer max 10kBytes of data from / to (bidirectional way) an ESP-32 and another ESP-32 (or a phone if this is simpler) using BLE.
The idea si to have one ESP-32 as a peripheral and another ESP-32 as central (or a phone application) that transmit some data (max 10k) to another ESP-32.
- The peripherals broadcast it's presence
- The central connects to the peripherals
- The central transmit some data to the peripherals
- The central ends its stream
- The peripheral takes data and do some computation locally based on it's local enviroment (sensors)
- The peripherals return the computed data to the central
- The central that reads the data
- The peripherals ends its stream and force to close the connection and is ready for another cycle
There are no security issue, the data can be compleately readable but they need to be readed correctly. I want to avoid to use Arduino libraries or I can use if its intregrates with ESP-IDF.
Then, the condition are:
- Using BLE
- Transfer 10kBytes of data BIDIRECTIONALLY
- Data transmission between peripheral and central (that could be also a phone)
- No security issue
- No Arduino enviroment, yes Arduino libraries if intregrated in ESP-IDF enviroment
- No strict time constraints, the tranfer of 10kBytes can be done in seconds (around 5 sec)
- There are some examples/guides you can link me to realize what i want?
- Is it possible implements some "serial transmitter" to transmit the data? There allredy is some library available and where?
- Should I use GATT profiles to transmit data and reconstruct (sort and combile) it at the other side? Isn't too involved?
- Can you have an idea of some strategy to solve the problem?