As a beekeeper one of the most important factors to balance is how to take care of our bees and give them what they need without disturbing them and messing up what they're doing. Winter can be especially challenging, as when the weather is cold and there are no flowers, you do not want to open the hives and let out their heat. Critically, I want to know when the bees start to raise new larvae and support them with supplemental nutrition, but I don't want to waste their time or make them a tastier target for pests by giving them resources they won't use yet.
A key data point for this is internal hive temperature. Honeybee colonies act as a super-organism, ventilating their environment or warming it to maintain their desired temperature and humidity. When a hive is resting through the cold months the queen may stop laying eggs. The hive will be warm, but they will not use so much energy as when there is brood ( eggs and young larvae ) in the hive which are more delicate. Once the queen decides to lay eggs, the colony work to keep the brood nest warm for the young bees and the super-organism will settle in to a new "core temperature" of 35 degrees Celsius ( 95 F).
The EnvironmentOne of the biggest challenges with monitoring honeybee hives is that they aren't often within WiFi range. Shoot, they aren't often in good Cellular signal areas. Also, the distribution of hives per beekeeper is a bathtub curve of sorts; Many beekeepers have 1-3 some have a few more, and lots of beekeepers have lots of hives. I have a dozen hives myself and most tools for monitoring a bee yard do not scale well to my needs, and I'm not a full time beekeeper by any means.
So, for a solution to make a difference, we need ad much bundling and simplification of the data as we can manage, we need a lightweight local radio with efficient battery use and long range, and the ability to uplink our distilled information over cellular from "wherever gets good signal" nearby.
Solution!Blues Wireless has a robust, simplified, efficient ( data and battery ) cellular hardware and software stack and recently added to it the Sparrow family of LoRa devices. Sparrow handles the whole radio stack, allowing a sensor app to pack up a "Note" and the Sparrow passes the note over Long Range radio link to the Gateway node, which sends it over cellular to The Internet, where you can forward it to your time-series database, populate your dashboard, or route it straight to you phone.
That's all nice, I hear you say, but isn't a sensor aggregator to a time-series database still moving a lot of data? It sure would if we needed the data analysis to be done after we upload it. But what if we add a friend to our LoRa node?
Throw Machine Learning at it!Our trusty little friend, the ESP32 can run fancy ML jobs now thanks to Edge Impulse. What if we wire up a whole pallet of honeybee hives to an ESP32, then have the ESP32 measure the temperature, and watch for the oscillations of temperature that are within expectations or not and tell us instead whether we expect brood in a particular hive or not? We could reduce the transmission to the most actionable data. And the solution could scale to cover a wide area of hives with low cost to deploy per hive.
Build the ModelTo start we need to have a model to run on the ESP32. I've covered this in another project meant to supplement this one, so if you want to build a model check out This Project and then we'll skip right along.
To The Fields!I am still very much working on the linked github repositories, and they are not complete, so if you want to do this too, hang tight or dig in to the code with me ( PRs welcome! )
That said, we're connecting the Sparrow to the ESP32 to talk serial and as the Sparrow wakes up, we ask the ESP32 for a summary of what it has seen. The ESP32 passes back a JSON object for each sensor attached with a unique ID ( a ROM in the case of the DS18B20 sensors that I'm working with ) and the output of the classifier. Our Sparrow node then passes this to the gateway and on up to the cloud.
Once polished up a bit, this could simplify expansion of the Sparrow to allow any outboard microcontroller to interface... anything! and pass back a JSON object as concise or verbose as required. We aren't there yet. But we can be soon!
Comments