Precio
Precio is a comprehensive application designed to assist modern farmers in optimizing their agricultural operations by incorporating precision farming practices.
Repository Video πΊοΈPrecio is a comprehensive solution designed to assist modern farmers in optimizing their agricultural operations. This document serves as a guide for developers and users of Precio, providing information on the project's features, functionality, and usage. The software is available under the MIT License.
Purpose
Precio is an open-source software tool for monitoring and visualizing farming data. It provides real-time data analysis and insights into farming, enabling informed decision-making and improving farming efficiency. Precio includes third-party integration and is designed to be user-friendly, optimizing resource usage, reducing waste, and increasing productivity.
Audience
This application is intended for any agricultural enthusiast and developers looking forward for contributing into precision farming applications.
Installation and Usage
- Clone the repository :\
git clone [https://github.com/suryan-s/Precio](https://github.com/suryan-s/Precio)
- Run setup.py in the main directory to create virtual environment, install packages from requirements.txt and build the static files for the frontend:\
python setup.py
- Run the application by:\
uvicorn main:app --port 8000 --host 0.0.0.0
Files and Folders
Precio
ββ .git
ββ .gitignore
ββ .vscode
β ββ settings.json
ββ arduino
β ββ PMS.ino
β ββ Weather Monitoring Station
β β ββ WMS-GERBER-img.jpg
β β ββ WMS-GERBER-PDF.pdf
β β ββ WMS-GERBER-PNG.png
β β ββ WMS-GERBER.zip
β ββ WMS.ino
ββ database
β ββ .gitkeep
ββ endpoints.py
ββ frontend
β ββ package-lock.json
β ββ package.json
β ββ public
β β ββ vite.svg
β ββ README.md
β ββ src
β β ββ App.svelte
β β ββ assets
β β β ββ svelte.svg
β β ββ lib
β β β ββ components
β β β β ββ Button.svelte
β β β β ββ Fab.svelte
β β β β ββ Modal.svelte
β β β β ββ Sidebar.svelte
β β β ββ composites
β β β β ββ CreateProject.svelte
β β β β ββ Layout.svelte
β β β β ββ Sidenav.svelte
β β β ββ routes
β β β β ββ dashboard.svelte
β β β β ββ Home.svelte
β β β β ββ routes.js
β β β ββ stores.js
β β ββ main.js
β β ββ vite-env.d.ts
β ββ svelte.config.js
β ββ vite.config.js
ββ index.html
ββ LICENSE
ββ main.py
ββ model
β ββ best_pretemp.h5
ββ requirements.txt
ββ settings.json
ββ setup.py
ββ _README.md
Requirements
- Python 3.8.5 or higher
- Arduino IDE
- Node.js 16.15.4 or higher
- Libraries used:
- Python: numpy, pandas, tensorflow, keras, uvicorn, fastapi, scikit-learn
- Svelte, vite, svelte-spa-router
- IBM Carbon Design System
- NanoID
- Optional requirements:
- Hardware support for PMS(Plant Monitoring System) and WMS(Weather Monitoring Station)
- Hardware support for PMS(Plant Monitoring System) and WMS(Weather Monitoring Station)
Integration and Features
Precio offers the following features:
- Real-time monitoring of critical data required for the governance of farming operations.
- Intuitive visualization features for better data analysis and insights.
- Easy integration with third-party tools and devices.
- User-friendly interface for streamlined operations and reduced resource usage.
- Support for following farming practices for greater flexibility:
- Arable farming
- Hydroponic farming
- Horticulture
- Aquaponics
- Vertical farming
- Support for actuators and actions for improved efficiency with Telegram integration:
- Water pumps
- Water heaters
- Lights
- Sprinklers
- Irrigation systems
- Ventilation systems
- CO2 sensors
- Temperature sensors
- Humidity sensors
- pH sensors
- Water level sensors
- Water flow sensors
- Water quality sensors etc.
Current Status
- [x] Create project and organise them.
- [x] Support for Arable farming.
- [x] Visualization dashboard.
- [x] Integration with Arduino with hardware and software support for WMS.
- [x] Dockerized application.
Future Developments
- [ ] Integration with Arduino with hardware and software support for PMS.
- [ ] Telegram integration for actuators and actions.
- [ ] ML model for predicting plant health and advanced predictions
- [ ] Support for Horticulture, Aquaponics, Vertical farming
Contribution and Guidelines
To start contributing to the project, clone the repository into your local system subdirectory using the below git code:
https://github.com/suryan-s/Precio.git
Before cloning the repository, make sure to navigate to the working subdirectory of your command line interface and ensure that no folder with same name exists. Other ways to clone the repository include using a password protected SSH key, or by using Git CLI. The changes may additionally be performed by opening this repo using GitHub Desktop
Submitting a Pull Request
Before opening a Pull Request, it is recommended to have a look at the full contributing page to make sure your code complies with all the pull request guidelines.
Navigate to this subdirectory, & check status of all files that were altered (red) by running the below code in Git Bash:
git status
Stage all your files that are to be pushed into your pull request. This can be done in two ways - stage all or some files:
git add . // adds every single file that shows up red when running git status
git add <filename> // type in the particular file that you would like to add to the PR
Commit all the changes that you've made and describe in brief the changes that you have made using this command:
git commit -m "<commit_message>"
Push all of your updated work into this GitHub repo in the form of a Pull Request by running the following command:
git push origin main
Attached demo video
Final commit included with dashboard and visualisation
Project created by SURYAN S