Page 1 of 1

Is ESP32 BLE mesh suitable for my project?

Posted: Sun Dec 08, 2019 7:56 pm
by Nils01
Hi,

My goal is to build a smart building a garden / path light. The lights are equipped with a solar panel, a rechargeable battery and a PIR sensor for human detection. The lights should communicate with each other in order to notify the next light on the path in order light up before it is reached. The distance between the light should be max. 15 meters.

For better comprehension I have drawn the lights on the path. The person moves on the path and get recognized by the lights.

Here are my questions:
1) Is the BLE mesh power consumption low enough for this project? I want to use 3000 mAh batteries. The sleep current (light is off) should by below 100uA. Or would the wifi mesh also be suitable?
2) Is there a way to use the generic onoff ble nodes in order to send custom messages between the lights? The network should work without a master. Each light should notify the network and report a person is walking over the path.

Thanks for every advice,
Nils
Bildschirmfoto 2019-12-08 um 20.17.10.png
Bildschirmfoto 2019-12-08 um 20.17.10.png (165.99 KiB) Viewed 7967 times

Re: Is ESP32 BLE mesh suitable for my project?

Posted: Mon Dec 09, 2019 7:39 am
by esp_liu
Hi Nils,

Thanks for the question.

1) ESP-BLE-MESH supports Low Power feature. Currently when it enters the Low Power mode, only BLE Scan will be disabled temporarily. For lower power consumption, we need to combine the light sleep functionality, even the deep sleep functionality into our solution, then it may meet your requirements. And due to the complexity of ESP-BLE-MESH, this will be a big challenge. For more information about Wi-Fi mesh, you can submit the question in https://esp32.com/viewforum.php?f=21

2) For the nodes with Generic OnOff models, they use the SIG-defined models, which have fixed message formats and behavior. If you are trying to send custom messages, you can define vendor models for this.

Thanks and Regards

Re: Is ESP32 BLE mesh suitable for my project?

Posted: Sat Dec 21, 2019 6:31 pm
by Nils01
Hey,

sorry for my late response and thanks for your answer to my question.

1) What do you mean with ble scan will be disabled ? I think my power requirements are about 200 uA is sleep mode. The device should send a state message when the PIR sensor records a human in the near. But this will require a listing on the broadcast channel from the other nodes. Will this be possible in deep sleep mode? Will this be implemented in the future?

2) I checked the mesh communication from SIG documentation. I think I could use the generic on/off or the generic level service for communication so I do not need to send messages in traditional fashion. But I need to trigger on/off message from my device (like a switch) as well listing to the service in order to record which device is in on state. So I need to read/write the on/off or level states of the devices. Is the possible and is the ESP BLE Mesh Client Model good to start?

Thanks for your help :) What about the nimble project, should this also be considered to use in my project?

best regards,
Nils

Re: Is ESP32 BLE mesh suitable for my project?

Posted: Mon Dec 23, 2019 2:49 am
by Wangcheng
Nils01 wrote:
Sat Dec 21, 2019 6:31 pm
Hey,

sorry for my late response and thanks for your answer to my question.

1) What do you mean with ble scan will be disabled ? I think my power requirements are about 200 uA is sleep mode. The device should send a state message when the PIR sensor records a human in the near. But this will require a listing on the broadcast channel from the other nodes. Will this be possible in deep sleep mode? Will this be implemented in the future?

2) I checked the mesh communication from SIG documentation. I think I could use the generic on/off or the generic level service for communication so I do not need to send messages in traditional fashion. But I need to trigger on/off message from my device (like a switch) as well listing to the service in order to record which device is in on state. So I need to read/write the on/off or level states of the devices. Is the possible and is the ESP BLE Mesh Client Model good to start?

Thanks for your help :) What about the nimble project, should this also be considered to use in my project?

best regards,
Nils
for question 1: when ble scan is enable,it will Consume much energy. You can used poll machanism,Get messages regularly to reduce device scan time. if you want receive message any time, you must enable scan all time.

for question 2: if you want to transport vendor message, you must use vendor model. if you want to contorl node's states, you must use corresponse client models. for example: Generic OnOff Client -> Generic OnOff Server; Generic Level Client -> Generic Level Server.

Re: Is ESP32 BLE mesh suitable for my project?

Posted: Mon Dec 23, 2019 2:59 am
by Wangcheng
Wangcheng wrote:
Mon Dec 23, 2019 2:49 am
Nils01 wrote:
Sat Dec 21, 2019 6:31 pm
Hey,

sorry for my late response and thanks for your answer to my question.

1) What do you mean with ble scan will be disabled ? I think my power requirements are about 200 uA is sleep mode. The device should send a state message when the PIR sensor records a human in the near. But this will require a listing on the broadcast channel from the other nodes. Will this be possible in deep sleep mode? Will this be implemented in the future?

2) I checked the mesh communication from SIG documentation. I think I could use the generic on/off or the generic level service for communication so I do not need to send messages in traditional fashion. But I need to trigger on/off message from my device (like a switch) as well listing to the service in order to record which device is in on state. So I need to read/write the on/off or level states of the devices. Is the possible and is the ESP BLE Mesh Client Model good to start?

Thanks for your help :) What about the nimble project, should this also be considered to use in my project?

best regards,
Nils
question 1: when ble scan is enable,it will Consume much energy. You can used poll machanism,Get messages regularly to reduce device scan time. if you want receive message any time, you must enable scan all time.

question 2: if you want to transport vendor message, you must use vendor model. if you want to contorl node's states, you must use corresponse client models. for example: Generic OnOff Client -> Generic OnOff Server; Generic Level Client -> Generic Level Server.

how to use nimble project: You can refer https://github.com/espressif/esp-idf/tr ... le/blemesh