What is our project about?
Our project, "Beenfo", is an innovative beekeeping solution designed to monitor the health and environment of bee colonies using modern technology. By integrating an Arduino sensor with real-time data transmission to a mobile app, users, such as beekeepers and researchers, can ensure that the bees thrive and respond quickly to any issues that arise. This system collects crucial data like temperature, humidity, and hive activity, providing insights that help in maintaining a healthy hive.
Why did we decide to make it?
We embarked on this project to address the growing concerns about bee population declines. Bees play a critical role in pollination, which is essential for the production of many crops and the overall health of ecosystems. Traditional beekeeping methods can often miss early signs of problems such as disease, pests, or unfavorable environmental conditions. By leveraging technology, we aim to provide beekeepers with a powerful tool to monitor their hives more effectively and sustainably, ultimately contributing to the preservation and growth of bee populations.
HardwareProvided by other team
FirmwareIn the firmware team, we were dealing with how to correctly place the data read from sensors into the library prepared by the Machine Learning team, or to send it immediately to the next Network team. We tackled this in the following manner: every ten seconds, we used the ML library to check whether the ML model was more convinced that the sound was "buzz" or "nobuzz," and in the case of "buzz," we added one bee. After an hour, we also read temperature, humidity, brightness, VOC (air quality), movement, and battery level from other sensors. We then correctly formatted all this data and sent it via LoRaWAN to the next team. We had to be careful about the maximum and minimum values of individual parameters and the units in which our values were recorded, to prevent confusion in subsequent teams. After sending, our bee counter resets, so essentially, we are sending how many times in an hour a bee or its buzzing was detected in ten-second intervals.
The main goal of our team was to create and test the best ML model for bee buzzing classification. With the use of Edge Impulse, the leading development platform for machine learning on edge devices, we uploaded three large sets of data which were acquired on three different locations. The data was then divided into two groups, the training and testing group. First we used the training group to train the classification model and then the testing group was used to test the accuracy of the model.
We trained several models, each distinguished by their unique processing block for audio analysis algorithms and classification learning block. The table below showcases the results obtained from different settings:
We chose Mel-Frequency Energy (MFE) extraction technique with default settings except for the frame length and frame stride which we set to 0.05. Below is an image of the best classificator settings and its classification results that we obtained using the EON Tuner:
We utilized LoRaWAN technology due to its distinctive and advantageous characteristics, including long-range communication, low power consumption, and scalability. LoRaWAN can transmit data over distances up to 15 kilometers in rural areas and 2-5 kilometers in urban settings, making it suitable for wide-area coverage. Its low power consumption allows devices to operate on battery power for several years, which is crucial for remote deployments. Additionally, LoRaWAN supports a high capacity of connected devices and incorporates robust security with strong encryption.
We employed LoRaWAN gateways via The Things Network (TTN), providing a reliable and scalable infrastructure for managing our devices. This setup enabled seamless integration of sensors, efficient data transmission, and secure communication between devices and our central data processing platform on Thingsboard, facilitating real-time monitoring and data-driven decision-making. Additionally, we used an Adeunis Field Test Device LoRaWAN to map out signal coverage near Tivoli Park and Rozna Dolina, ensuring optimal network performance and coverage in these areas.
PlatformAfter we got the data from TTN to the Thingsboard platform we parsed incoming data into a structured format using a custom script in the rulechain, extracting key telemetry data such as BatteryLevel, Humidity, BeeCount, LightLevel, Movement, Temperature, Latitude, and Longitude.
Using this processed data, we developed a comprehensive map displaying all sensor locations. Each sensor icon on the map can be clicked to reveal basic information, with an option to deep dive into detailed data views. To enhance data presentation and user interaction, we utilized various types of gauges, graphs, and other visual widgets. Additionally, we implemented dashboard states to seamlessly manage the transition between simple and detailed views.
AppAs the final step of our project, we assigned a team to create an app, which would show the practical use of the entire project to the everyday user, while also make it fun to use.
The application was created using Android Studio, written in Kotlin, and utilizes Jetpack Compose for the UI.
We have decided to gamify the whole process, so the entire premise of the app is a collection game, with fun trivia and activities. The purpose of the app is the fusion of education, natural conservation and personal health, all while having fun. It somewhat resembles the popular GeoCache concept, with it's own unique spin.
When the user joins the app, they are greeted by a special animated splash screen of a bee's flight. After that, they are sent to their account page, where they can see their progress. In this screen, one can see their user info, their collected hives, their user streak that shows the user's interaction with the app and their achievements and badges, gained through finding new places, being a loyal user of the app and much more. Afterwards they can dive right into the thick of it by using the map to find their first (or second, third,... hundredth) hive. The map shows the approximate location of the hive, which the adventurous user then has to find to add the hive to their collection using a QR code, at the base of the hive. This then permanently unlocks the hive for the user and allows them to read the data pertaining to the hive, which is received from the platform team.
In the end, every user tries to collect as many hives as they can and decide, whether they will bee or will not bee the greatest collector since the discovery of honey.
App architecture
Our app employs a modular architecture with Jetpack Compose for modern UI development. It features a well-organized structure with distinct packages for data management, including Room for local storage and Retrofit for network operations. We use Dagger Hilt extensively to streamline component interaction. The app follows the MVVM pattern, with ViewModels handling UI-related data and business logic. Efficient navigation is managed through Jetpack Navigation components, ensuring a seamless user experience. This architecture ensures the app is scalable and easy to maintain.
Comments
Please log in or sign up to comment.