AggroFox is an IoT sensing, notifications, dashboard and analytics platform for urban and large-scale agriculture with automated irrigation, using Sigfox technology.
Imagine a world where there is not enough food for you and your loved ones, an arid world where there is nothing to satisfy your hunger. Because of the current methods of agriculture, where excess fertilizers and pesticides have been used. These methods are not sustainable and we have to find new methods to optimize crops. Remember, we cannot create new land to grow crops, and the water reserves are being reduced each year. For that, Industry 3.0, with IoT, Big Data and predictive analysis solutions have to emerge to avoid this scenario from happening.
Let's take a look at some facts:
• The population in Mexico (Both of the author's own country) and in the world will grow.
• By 2050 the production of food will have to DOUBLE to feed this population.
• The amount of arable Land will not increase.
• The amount of Water available will be decreasing.
• Sustainable Disruption is needed.
• Current methods are insufficient for this.
• Infrastructure is costly.
• Most fields are in remote areas.
• Urban agriculture needs a cheap and readily available solution, for it to be sustainable.
If only there was a way to monitor the field through a network of sustainable sensors, which could be monitored in real time 365 days a year, performing data analytics in the cloud and taking weather predictions to generate models. Taking all this information to manage resources such as water, in order to save most of them, and above all being powered by solar panels ....... oh wait, there is Aggrofox!
Our solution to the problem was to create a sustainable platform of sensing and irrigation automation with predictive analysis via cloud. With one objective in mind: SAVE WATER.
1. Using a temperature/humidity, soil moisture and soil temperature sensors, we used a Pycom FiPy dev board with Sigfox technology to obtain sensor data every 6 min. Sigfox chosen because the characteristics of long range and low power are excellent for remote areas.
- Each batch of sensing is done at this frequency to send 120 data per day and not pass the data quota of Sigfox which is 140 data packets per day.
- For this system it was decided to use an Arduino board to obtain the data from the sensors (using the vast array of libraries from Arduino) and send them through Serial at 9600 baud rate to the Pycom FiPy board.
- Once on the Pycom board we receive the data from the sensors and through Sigfox we send them to the Sigfox Backend platform.
On the image above, you can see:
A. The main sensor circuit, with the Pycom FiPy with Sigfox and the sensors connected, also the solar power management.
B. The irrigation system circuit that uses a Particle Photon and a Solenoid Valve.
C. An implementation of the system.
The build process required some prototiping boards and basic soldering equipment. After that get some cases, they do not have to be 3D printed just grab whatever fits and get creative!
After that we added a hose and the Solar Panel and adapted for the chosen implementations. Also needed were some plumbing supplies to adapt it to the irrigation system or garden hose, and covering the electrical parts of the solenoid.
2. Once the data is in the Sigfox Backend, we send the data through a callback to the Thingspeak website through its API (more information in the link below).
3. Once we have the data at Thingspeak, through the Thingspeak API we send the data to IBM Bluemix.
- On the Bluemix platform, we made it possible to develop almost any application with the obtained data. (All the applications are based on Node Red to make the prototyping easier).
- Examples of these applications:Generate databases of our crops and their conditions.Do data analysis to obtain predictive models in the long term.Water automation systems with the data obtained (as we do in this project).Crop yield analysis.
3.1. We made a Dashboard with the data obtained for the complete and simple visualization of the data.
These other images above show the Web Desktop Dashboard and some screenshots of the mobile version.
- For the application, we made a data crossing with the OpenWeatherMap API, to perform the control of an electrovalve connected to a Particle Photon microcontroller.
- The crossing of data obtained is used to check if that day is going to rain and thus not use irrigation water in crops.
- Also if the system detects that water is needed in the field by the humidity sensors, the irrigation system is turned on.
- In turn once a day an email will be sent to the farmer with the general information of his field or he can check anytime on his dashboard.
- Also everytime the irrigation system is online, a notification will be sent.
The notifications can be email, SMS, messages etc.
Here are some images of the solution implemented on various crops:
We now provide you with an extensive tutorial to do the full project. Every step is explained and all the parts are needed to get to the final product.
1. Do the first configuration for your board.
2. Enter the following folder: AggroFox Configuration, and complete all the steps to perform the corresponding configuration.
3. Do the Arduino configuration.
4. Do the Pycom configuration.
5. Make the circuits:
6. Link it to IBM IoT Cloud for amazing dashboards, data storage and access to other cloud services.
7. Automation of irrigation via IBM cloud with weather forecast.
8. Going Green (Add a Solar panel to your sensor module).
Full Repository: https://github.com/EddOliver/AggroFox
• Adding a water fluxometer to know exactly how much water we use.
• Custom PCB for all the hardware components.
• Maybe migrate to the SiPy version of the Pycom Board.
• Get the data to a SQL database for long term predictive ML models.
• Expand to the use of several other clouds such as AWS and Google cloud which we already dominate.
• Replace the Particle Photon with Sigfox for the actuators so it uses only one communication platform.
All the information about the technology used and direct references are in our Wiki: https://github.com/EddOliver/AggroFox/wiki