Hi.
Could we have a sample code for sending images over Bluetooth Low Energy using the Nicla Vision board.
In addition, could we have an algorithm to run on the Nicla Vision board that detect persons not only faces as the samples in OpenMV.
Thanks.
Farid Hage
You can’t send images over bluetooth low energy. This is what WiFi is for.
As for detecting people. You should train a custom CNN using edge impulse to run on the board. There’s not algorithm for this. It’s all data-driven. You need to collect a dataset of subjects and train a CNN on that dataset. You can then load that CNN into the Nicla Firmware.
Note, the firmware space on the nicla is limited. For loading a custom network, you’ll need to make space on the board. Once you have an acceptable CNN trained I can provide instructions on how to free up firmware space to fit a larger custom network.
Thank you for your clarification. We don’t want to have a video stream sent over bluetooth low energy. We just want to send one image if certain condition met, or a request is received from a phone. Then we just need to send one image over BLE to a phone for example. Is this possible, and is there a library to do it, or some samples.
Thank you in advance.
No, BLE is meant for very low data applications and signaling. E.g. like 20 byte messages. Sending 38KB or so of a JPEG is for WiFi.
That’s not to say you can’t try to make sending a large file over BLE work. It’s just not what the protocol is for.
There’s likely a way to do what you want. But, I don’t know how it would work.
I want to explain more about our task: we are working on a project in USA which connects to mobile phones. Their hotspot is disabled by USA operators, so for that reason we want to check the possibility of dividing the image into several parts and sent it over Bluetooth low energy.
On the other hand, what is the royalty fees for OpenMV to deploy their solution in a product in the market once launched.
Best Regards.
But, use the higher level aioble library:
As for sending images, jpeg compressed images are can be accessed like bytearray objects. So, you can slice them up as granular as you want to transfer via BLE.
@kwagyeman Thanks for the info, I did some search but couldn’t find whether if we can use the bluetooth wrapper/library of micropython on devices with Python itself, would you happen to know if that’s possible? I am working on a project on STM32 devices and have already setup a gatt server using BlueZ examples, it was such a headache though. I was wondering if the switch is possible without installing micropython.
@alee.soltani We don’t support any non-MicroPython BLE code. The library through MicroPython works very well. If you don’t want to use that you are on your own.