I am making a module I can place inside the beehives in our area to help Ohio state university with their program to preserve the local population of honeybees.
This module will measure the audible frequencies as well as temperature and humidity among other things.
My problem is with connecting this module to an external hot spot (mainly the cell phone of the beekeeper or my own).
I need that module to be able to synchronize the information it had saved (and the results of the analysis) to the cloud somehow.
How can I make the proximity of a device act like a wake word? How can I bring my phone closer, and have that be the equivalent of “Hello Siri”, and initiate the process of copying whatever is on the memory of my module to the cloud (though a cell phone or a hot spot)?
I don’t want to use the usual probe request that WIFI uses as it will definitely drain the battery faster.
I am almost done with the programming, completely done with the hardware (including a 3d-printed enclosure). The only thing I have no idea how to tackle is that syncing. Would you have a good idea for me?
Maybe use bluetooth. I think the bluetooth on the Arduino Nano 33 ble is specially designed to be low power. When the cell phone comes within range of the Arduino have it send the data to the phone, then you can upload it to the cloud. You could automate the process by making a simple app in kodular.io
So when the bluetooth data is received the Android app will upload it. I think there may be a way of making the bluetooth so that it only uploads passively when there is a connection so that it saves on power, too. A lot of bluetooth is made to be passive and not always on. This is what differentiates it from WIFI.
I agree, the Bluetooth method is not bad and may have the lowest energy cost. But I was hoping to find a way where the module is doing nothing while the phone is not nearby.
Some thought of making a physical switch crossed my mind; a button the beekeeper can press when he opens the beehive and only then the module will activate the synchronization chain. But that is not TinyML and I am trying to make this rule for myself to complete an all-TinyML idea where it may be used in the future for projects where a physical switch would not be an option.
I am hoping to find something to use as a wake word that would bring the module out from deep sleep. Hope that’s not too much to ask
Thank you for your time and for your thoughts, I appreciate you guys endlessly!
Francis, I was just wondering: Since you are using the module to measure audible frequencies, I am assuming this process will be live all of the time. Is there a way to induce (or capture) a sound (e.g. opening of a beehive - or a sudden buzz that it creates among the bees) and use that as your wake up signal for data transfer?
If there is no an “always ON module”, then I think you will have to go for a part mechanical solution.
Hello WeJay,
Thank you for your idea, but I don’t have a dataset of sounds I can use for that purpose; also, if I manage to get it to detect the presence of the beekeeper, that would mean they need to open the hive less times and kill less bees for the inspection purposes.
The holy grail would be to wake the system up with proximity detection that does not count on physical buttons or opening sounds.