Hello everyone, I am GitHub TOP Jun, introducing the most valuable open source projects on GitHub every day.
Today, I’m sharing a very impressive smart agriculture project Mycodo.
Farm environment monitoring and supervision system, can monitor all data of the farm.
https://github.com/kizniche/Mycodo
Mycodo can do many smart projects, such as mushroom cultivation monitoring, hydroponic system automation, remote monitoring of farms, etc.
Example of farm environment monitoring
Hardware part
The hardware is based on Raspberry Pi, very cheap and easy to assemble.
The Raspberry Pi is a microcomputer based on the Linux system, designed for computer programming education. It aims to spark students’ interest in computer science and guide them in learning programming skills.
Since its debut in 2012, the Raspberry Pi has received widespread attention and popularity due to its small size and powerful functionality, capable of executing tasks such as gaming and HD video playback.
The hardware specifications of the Raspberry Pi include:1. An ARM architecture processor (such as Broadcom BCM2837 or BCM2839); 2. 256MB (or 512MB) of RAM; 3. Multiple USB ports; 4. HDMI port for connecting to a display; 5. Ethernet port for network connection; 6. Wireless networking and Bluetooth module (on some models); 7. Audio and video output capabilities.
The operating system of the Raspberry Pi is Linux-based, and users can choose from various distributions, such as Raspbian, Debian, etc.
These operating systems provide developers with a rich programming environment and tools, facilitating the development and deployment of various applications.
The application scenarios of the Raspberry Pi are very broad, besides smart farms, it can also be used for:
1. Home media centers; 2. Smart home control; 3. Data collection and monitoring; 4. Robotics and autonomous driving projects; 5. Servers and virtualization applications; 6. Education and training, etc.
In summary, the Raspberry Pi, as a low-cost, high-performance computer hardware, has sparked a wave of innovation and creativity worldwide, promoting the development of computer science education.
To build a small smart farm, you must learn Raspberry Pi.
The Raspberry Pi is designed and produced by the Raspberry Pi Foundation, a non-profit organization based in the UK. The foundation was established in 2008 to promote the development and popularization of computer science education. Eben Upton, the founder of the Raspberry Pi Foundation, stated that the project was inspired by the popular BBC Micro computer in the UK during the 1980s and aims to spark a new generation’s interest in computer science through this hardware platform.
The production and sales of the Raspberry Pi are conducted through multiple authorized distributors, including Element14, RS Components, and Microcenter.
Additionally, there are many independent distributors and retailers worldwide for the Raspberry Pi.
Since its first release in 2012, the Raspberry Pi has launched several models, including Raspberry Pi, Raspberry Pi 2, Raspberry Pi 3, and Raspberry Pi 4. With the continuous improvement of the product line, the sales of Raspberry Pi have also increased year by year, exceeding 30 million units globally by 2021.
In addition to Raspberry Pi hardware products, the Raspberry Pi Foundation actively promotes computer science education by providing online tutorials, textbooks, and course resources. The foundation also organizes various activities and competitions to encourage students and innovators to use Raspberry Pi for creative projects.
In summary, the Raspberry Pi Foundation is a non-profit organization dedicated to computer science education and innovation. Through its products and services, it has sparked countless innovative projects and ideas worldwide.
Taking mushroom cultivation as an example
Functions of Mycodo in this project
-
Measure air conditions: temperature, humidity, and carbon dioxide concentration.
-
Control relays to operate humidifiers, air pumps for carbon dioxide sampling, and lighting for time-lapse photography.
-
Generate pulse-width modulation (PWM) output signals to control the fan speed for fresh air exchange.
-
Automatically adjust air to the target humidity and carbon dioxide concentration range by regulating fans and humidifiers.
-
Use timers to schedule lighting and camera captures for time-lapse photography.
-
If measurements exceed acceptable ranges (e.g., temperature, humidity, or carbon dioxide too high or too low), send email alerts.
-
Monitor mushrooms and conduct growth time-lapse photography using the Raspberry Pi camera through real-time images.
-
Configure dashboards with gauges, charts, cameras, and other widgets to view all relevant data on a single page.
-
Forward port 443 to the Raspberry Pi via a router to view and control the Mycodo Web interface from anywhere with internet access (secured by a user login system).
Hardware Configuration
See documentation: http://farmos.gitpp.com/mushroom.html
Building a Specified Mushroom Cultivation Environment
Next, we will build a simple humidity and carbon dioxide regulating chamber for mushroom planting and fruiting.I will not include temperature regulation because this chamber is inside my temperature-regulated house, but if your ambient temperature is too high for what you want to grow, you may need to do this.I will also show how to set up lighting and automated time-lapse photography indoors.
Control Panel
The control panel will house a Raspberry Pi Zero single-board computer, which will connect all inputs and outputs and coordinate environmental control.Temperature and humidity sensors and carbon dioxide sensors will be connected as inputs.A small air pump will be connected to periodically draw air samples from the chamber for measurement by the carbon dioxide sensor.A fan speed controller board will connect to an electrically controlled duct fan to exhaust carbon dioxide and introduce fresh air.The front of the panel will be fitted with an LCD display for easy viewing of current temperature, humidity, carbon dioxide concentration, and other data.Finally, a light and a high-quality 12.3-megapixel Raspberry Pi camera with a 6mm lens will be connected for time-lapse photography and monitoring inside the chamber.
Tent and Environmental Control
I used a 2 x 2 x 3 feet growth tent in the environmental chamber, which is great for maintaining humidity and is lightproof to prevent the lights from being seen every 10 minutes during time-lapse photography.Other enclosures may also work well, but the main consideration should be the ability to maintain humidity to keep sufficient moisture and reduce water usage of the humidifier.
For sensing, I used Atlas Scientific temperature and humidity sensor (HTU21D-F) and MH-Z19B carbon dioxide sensor.I placed the temperature/humidity sensor near the center of the room, but if using a circulating fan (recommended) to equalize the temperature and humidity in the room, it can be placed anywhere.
I chose to place the carbon dioxide sensor outside and used a small diaphragm pump to draw air into a small sampling chamber for sensor analysis, but you can also place the sensor inside.The sampling chamber is fitted with a one-way check valve that only allows air to enter from the pump.
Detailed Hardware Configuration
See documentation: http://farmos.gitpp.com/mushroom.html
Software Setup
Installing Raspberry Pi Operating System
Raspberry Pi OS is the operating system developed by the Raspberry Pi Foundation (RPF) that is most compatible with Raspberry Pi.RPF created a software called Raspberry Pi Imager that makes it very easy to install the Raspberry Pi operating system onto an SD card (or other storage devices).Download the imager from https://www.raspberrypi.org/software, insert the SD card into your computer or SD card reader, and then run Raspberry Pi Imager.
Dashboard page after successful installation
You can add widgets on the Data-> Dashboard page to display information about the system’s past and current conditions.We will set up a simple dashboard with charts displaying historical and real-time data, as well as measurement widgets showing the latest temperature and humidity readings, and a PID control widget that will display the current parameters of the PID controller and allow for a minimal set of control options.
Add agraph widget, twomeasurement widgets, and onePID widget. Set the graph widget to display temperature, humidity, and carbon dioxide. Set the measurement widget to show temperature and humidity. Finally, set the PID Widget to use the humidity PID controller.If you set any inputs to log Pi statistics, you can create a second graph and select those inputs to display.
The setup of the environmental chamber ends here.You may need to make some adjustments to meet your specific needs, especially if the development of your system deviates from these instructions.Run the system for a few days or weeks to understand how it works, adjust the configuration values for effective operation, and ensure that it can run reliably before adding anything for growth.
Mushroom Cultivation
To effectively cultivate mushrooms and fruiting mushrooms, you must understand the life cycle of mushrooms.The fungi that produce mushrooms usually start their life in the form of spores or mycelium (plural mycelia).Spores are small single-celled structures released from mushrooms (similar to seeds in plants) that can withstand harsh environments until conditions become suitable, at which point mycelium grows from the spores.Mycelium is a multicellular filamentous structure of fungi that extends into the environment, allowing the organism to increase in size, move through the environment, and obtain nutrients.Multiple mycelia are referred to as mycelium (plural mycelia), which colonize substrates to extract nutrients for growth.Fungi secrete extracellular enzymes outside their cells to break down the substrate they colonize into smaller molecular nutrients, making it easier to transport into their cells.Therefore, fungi are important decomposers of organic matter, and many types of mushrooms are extremely effective at degrading lignocellulosic compounds (the main components of plants).Thus, many different plant materials can be used to grow mushrooms, such as peanut shells, corn cobs, straw, and other agricultural waste, as well as unconventional materials like cardboard and old jeans.
Preparing to plant… this part is unrelated to smart farming, omitted.
Mushroom Fruiting
These primordia will continue to grow larger over the next few days and then rapidly expand into mushrooms.Many primordia will abort and stop growing.This is normal as it allows the energy to focus on producing fewer but larger mushrooms.At this stage, we want to reduce humidity to 90% to prevent mold growth and allow the mushrooms to continue growing.Oyster mushrooms can be harvested when the edges start to flatten or curl upwards while still curling downwards.You can tear them off from the stem or cut them at the base of the cluster and store them in the fridge for a few days, but it’s best to enjoy them fresh.For long-term storage, you can dehydrate them and store them in an airtight container.
What dishes can mushrooms be stir-fried with? This won’t be elaborated further.
Quite an interesting project.
Software
https://github.com/kizniche/Mycodo
This smart agriculture project can do many things.
Possible Projects
-
Mushroom cultivation automation (archived)
-
Hydroponic system automation (archived)
-
Mushroom cultivation (archived)
-
Ground plant cultivation
-
Maintaining bee hive homeostasis (archived)
-
Maintaining humidity in underground artificial bat caves (archived)
-
Remote radiation monitoring and mapping (archived)
-
Vacuum low-temperature cooking (archived)
-
Maintaining light schedules and adjusting humidity, increasing from 90% to 50% over 4 weeks to adapt micro-propagated American chestnut seedlings from laboratory to outdoor environment (archived)
Mycodo
Farm environment monitoring and supervision system, can monitor all data of the farm.
https://github.com/kizniche/Mycodo
Domestic mirror
www.gitpp.com/farmos/Mycodo
We have collected over 10,000 open source project source codes. Click Read the original text