During our 4th year in Polytech Sorbonne, we created an embedded system for monitoring beehives. Our goal was to help beekeepers track the health of their bees.
To do that, we used several sensors which sended datas to the cloud through a Sigfox antenna. To make it more efficient, we created an autonomous prototype, self-charging via a solar panel.
🐝 SpecificationsOur goal was to send 3 main measurements :
- Internal temperature
- External temperature
- Weight
However, we succeeded at getting 4 more measurements of :
- The wind direction
- The wind speed
- The amount of lightning
- The humidity
One of the most important point was to send all the datas via a Sigfox antenna, which will be explained in the following part.
Moreover, we also had to protect the product from bees, so it's watertight, make it autonomous because we wanted to do a sustainable development project, and last but not least, to provide an access of datas for beekeepers.
🐝 How does it work ?We elaborated a system where datas we need are captured by sensors and processed by the microprocessor, then sent to the antenna.
This is how we made the connections in our project :
Here we described the different functions related to the open ruche :
Below, you can see the architecture of the connections between our hardware and the cloud :
To send our data and ensure that our hive is autonomous, we use the LPWAN (Low Power Wide Area Network). This allows us to send messages throughout France. We have chosen to use the Sigfox network which uses this technology. Sigfox allows us to send 140 messages per day with the free version containing a maximum of 12 bytes each.
We have 7 datas to transmit by message in order to be able to send a message every 15 minutes (96 messages per day).
In order not to lose precision on our measurements, we needed 2 bytes per data except for humidity and wind direction which are on 1 byte. Once concatenated, all our information is on 12 bytes. The Sigfox antenna sends us the values that can be consulted on Sigfox Backend :
Sigfox allows us to configure callbacks to recover the information in the message and send it to a cloud platform in our case Ubidots. Thanks to a token on our Ubidots account, Sigfox is able to communicate with the Ubidots API to transmit all our variables :
In order to keep the accuracy of our measurements (0.1), we have multiplied our values by 10 to send them easily and once on Ubidots, we make a division by 10 in order to find our original values.
int16_t parseToInt16_t(int var){
int16_t temp = var * 10;
return temp;
};
int16_t parseToInt16_t(float var){
int16_t temp = var * 10;
return temp;
};Here is a sample of the values obtained :
The values in yellow are the raw values we receive and the variables in green are the final values we display on our Dashboard.
🐝 How to display datas ?Thanks to the previous part, the beekeepers can have an access to the datas.
You can see below our dashboard :
To make it easier for them, we placed two different types of widget : one graphical which provide them more information in the duration, and another one which shows the datas in real-time.
🐝 ConclusionWe really enjoyed doing this project because it was :
- Relevant
- Axed on sustainable developement
- Multidisciplinary
We recently installed our project in a hive and we can't wait to receive datas 😊





























_3u05Tpwasz.png?auto=compress%2Cformat&w=40&h=40&fit=fillmax&bg=fff&dpr=2)

Comments