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.
@arunksoman Thank you soo much for enlightening me. I shall surely try this feature
As a student spending money on website hosting is really a big problem, and Thanks to GitHub pages now we can host our website for free thanks @salmanfaris for this article, looking forward to see more useful article like this
@Ggreeshma-stani Nailed the PCB in terms of the schematic. But you got it a little bad on the layout side. There are some thumb rules while designing a layout of PCB.
Always place the oscillator and it's capacitors(C1, C2) near to the IC. If you have a doubt on this try checking the Arduino boards or any other boards. you will find an SMD chip crystal alongside of the Arduino XTAL pins. If you ask the reason for this that's simple, to avoid noise creeping in. Crystals provide the clock to the entire digital logic inside the IC. So, there should not be any noise in it. If noise is there, obviously you'll have timing issues.
The bypass caps on the voltage regulator must be placed close to the regulator's input and output pins. The reason for this is also pretty simple, bypass caps will filter out noise coming from the power supply and few other reasons too. So, try placing these bypass caps as close as possible to IC.
Apart from these points, the PCB looked good. Great work. Remember that this message is not to discourage you but just to give a suggestion so that you'll improve it in the next design.
Calling All Innovators - IgniteX Accelerator
Do you have a solution that can reduce the severity of the coronavirus outbreak, but need help commercializing and rapidly deploying? The Black & Veatch COVID-19 Response Accelerator is designed for growing companies looking to scale emerging solutions to save lives, help communities cope, and protect the economy.
Apply here https://www.bvignite.com/
@salmanfaris the pressure range that we have to measure is between 5-10 cmH20 (ie almost 0.07 - 0.0.14 psi)