A little hassle with ESP32..!!
I was looking to implement a configuration that looks something as below with ESP32's BLE.
Here the server ESP32 has to perform two-way communication. It has to receive data from phone and send that data over to the client.
How can I do this with ESP32's BLE.
arunksoman last edited by
Try to implement espnow protocol in order to communicate with client esp32.
@arunksoman thanks....can you please elaborate...any example implementations are there? so that I can get an idea
@kowshik1729 If you are using Arduino include espnow.h. Then you have create a structure in order to store your message. The message should not greater than 250 bytes. Then create a call back function(for knowing the message delivery is success or failure) and send message to client using MAC address. This protocol can send encrypted or non-encrypted message up to 220m. There is a better tutorial available on RandomNerdTutorials. One more thing is if you are using station mode you can connect upto 6 esp32 with your esp32 in master slave configuration. It can send data in both ways. If you are using softAP or station+softAP then it can connect up to 10-20 devices.
@arunksoman I have just seen ESPNOW protocol. It's great, but will it work for connecting the ESP32 to any other devices like mobile phone or it only maintains connections with other ESP32 alone?
arunksoman last edited by
@kowshik1729 Yes. I am not asking you to use esp_now for communicate esp32 with mobile phone. I am saying only to use espnow protocol in order to communicate with your client esp32. It might reduce your problem. Also, read this instructables completely
@arunksoman When you told me use esp_now to communicate with client but not with mobile you mean to use BLE connection between server and mobile?
I'm simply asking you that are you suggesting me this kind of architecture??
Mobile to server - BLE connection
Server to client - ESP_NOW
Is this what you've meant bro?
@kowshik1729 Yes, now you are absolutely right. That is what I tried to convey. The instructables given above is saying two way communication between client and server BLE is possible with android. But I didn't tried that. But I will try that soon.
@arunksoman I have read about ESP_NOW protocol from the Espressif page and it is mentioned that ESP_Now makes use of Wifi but without any connections. Which means my power consumption obviously increases. As I am going to use this application in a wearable use case I want some power-efficient solution.
@kowshik1729 Did you read Espressif page and datasheet completely?
ESP-NOW is yet another protocol developed by Espressif, which enables multiple devices to communicate with one another without using Wi-Fi. The protocol is similar to the low-power 2.4GHz wireless connectivity that is often deployed in wireless mouses. So, the pairing between devices is needed prior to their communication. After the pairing is done, the connection is safe and peer-to-peer, with no handshake being required.
Espressif ESP-NOW OVERVIEW
"The ESP-Now protocol is connection-less, you don't need to set up a session/get an ip-address to communicate between nodes. This saves time and battery power, exactly what we need. "
Also You can try this protocol with deep sleep mode.
This link has even more extensive ways to do it
The way that I've seen most people do it (have a look on the Raspberry Pi forums), and have done myself with success is using /etc/rc.local.
All you need to do here is put ./myscript in the rc.local text file. If it's in python, put python myscript.py.
This literally is "a simple solution, (like dropping my script in some "startup" directory or something similar)"- maybe search on the forums when you're having questions as well, this solution came up on the first 4 results of a google search!
i need to run a QT application on BOOT. and i want to disable all controls like minimize application, close application.
Anyone have experience in this? please help me.
@mubassir-mk Glad that it helped.
@kowshik1729 Thank you....
Very help full your replay ...