Krisi Connect is an innovative agricultural platform designed to bridge the gap between farmers, agricultural experts, and consumers. The app provides farmers with real-time market prices, weather updates, and expert advice, while also serving as a direct connection between farmers and buyers, ensuring fair pricing and reduced reliance on middlemen.
A key feature of Krisi Connect is its integration with IoT technology, utilizing pH sensors and soil moisture sensors connected via Arduino. These devices help farmers monitor soil health and moisture levels, providing real-time data to optimize farming practices and improve crop yields. This modern approach empowers farmers with accurate, data-driven insights, fostering sustainable farming practices.
The platform also offers a community space for knowledge sharing, resources on the latest agricultural technologies, and multi-language support in both Nepali and English, making it accessible to a wide range of users.
- Access up-to-date market prices for crops, helping farmers make informed decisions.
- Receive real-time weather forecasts, helping farmers plan their activities efficiently.
- Connect with agricultural experts for insights on sustainable farming techniques, crop management, and best practices.
- pH Sensors: Monitor the pH level of soil in real-time to ensure optimal soil conditions for different crops.
- Soil Moisture Sensors: Get real-time data on soil moisture levels, enabling farmers to manage irrigation more efficiently.
- Arduino Integration: The IoT sensors are connected via Arduino, providing accurate data to help improve farming outcomes.
- Farmers can connect directly with buyers, reducing the need for middlemen and ensuring fair prices for produce.
- Access a wide range of resources on the latest agricultural technologies and innovations, helping farmers stay updated.
- Promotes sustainable farming by offering expert advice and insights, along with IoT data, to help farmers make eco-friendly decisions.
- Laravel is used to build the Progressive Web Application (PWA) for Krisi Connect. It provides a robust backend framework that handles user management, data processing, and dynamic content delivery.
- Python is utilized to create the APIs that interact with the frontend and manage data flow between different components. Additionally, Python powers the machine learning models integrated into the platform, enabling real-time analysis and smart farming insights.
- Ultralytics (YOLOv8) is used for training machine learning models, specifically for object detection. It have set the benchmark for object detection in the coco dataset. It is used to train the model for detecting diseases in the crops. The training takes place on Google Colab, leveraging cloud GPU resources for efficient model training.
- LangChain is incorporated to handle natural language processing (NLP) tasks and conversational AI. It enables smart interactions between users and the platform, providing personalized recommendations and responses.
- The Arduino IDE is used to program the Arduino devices connected to pH and soil moisture sensors. This allows real-time monitoring of agricultural data, which is integrated with the platform for actionable insights.
- Farmers, buyers, and agricultural experts can create accounts and log in to the platform.
- Upon login, users are greeted with a dashboard that provides personalized information based on their role (e.g., market prices, weather updates, expert advice, etc.).
- The platform fetches real-time market prices and weather forecasts from external APIs, which are displayed on the farmer's dashboard to help them make informed decisions.
- Users can view and track prices of specific crops and get alerts on weather changes relevant to their farming activities.
- pH sensors and soil moisture sensors are deployed on the farm, connected via Arduino.
- The data from these sensors is sent to the platform in real-time, providing farmers with insights into soil conditions.
- Farmers can monitor and adjust their farming practices (e.g., irrigation) based on the sensor data displayed on their dashboard.
- The platform uses Python-based FastAPI as the backend to process IoT data and run machine learning models.
- These models, trained with YOLOv8 on Google Colab, analyze environmental conditions and provide suggestions to optimize crop yield.
- Farmers receive notifications and recommendations based on this analysis, helping them make data-driven decisions.
- Farmers can list their crops for sale, and buyers can directly connect with them through the platform.
- By facilitating direct interactions, Krisi Connect reduces the dependency on middlemen, allowing farmers to receive fair prices for their produce.
- Farmers can ask questions and seek advice from agricultural experts integrated into the platform.
- A community forum enables users to share experiences, advice, and success stories, building a collaborative farming network.
- The platform incorporates LangChain to process natural language queries.
- Farmers can ask questions related to farming techniques, crop management, or troubleshooting issues, and receive intelligent responses tailored to their needs.
- The platform is built as a Progressive Web Application (PWA) using Laravel, allowing users to access the app from any device, with features like offline access, push notifications, and fast load times.
- The platform uses the Arduino IDE to program the IoT devices (pH and soil moisture sensors).
- These devices communicate with the backend, enabling the platform to provide real-time insights based on the soil data collected from the farm.
- Challenge: Gathering a diverse and comprehensive dataset for training object detection models using YOLOv8 was a significant hurdle.
- Solution: We spent considerable time collecting and labeling data to ensure accurate detection of various agricultural conditions and scenarios, such as crop health, pests, and soil conditions.
- Challenge: Training complex models like YOLOv8 requires high computational resources, which can be limited on local machines.
- Solution: We leveraged Google Colab cloud GPU resources for efficient training, although managing training time and optimizing for GPU usage was a challenge due to limited session durations.
- Challenge: Achieving high model accuracy for agricultural conditions was difficult due to varying environments and external factors like lighting and weather conditions.
- Solution: We iteratively fine-tuned the model with additional data augmentation techniques and experimented with hyperparameter tuning to improve accuracy, but it required significant trial and error.
- Challenge: Ensuring the accuracy of the pH sensors and soil moisture sensors was a challenge, as the devices needed to be calibrated correctly to give reliable data.
- Solution: We performed multiple rounds of calibration in different soil types and environmental conditions to ensure accurate readings. Each calibration had to be checked against industry standards for precision.
- Challenge: Transmitting data from the IoT sensors to the platform in real time required reliable connectivity and integration between the sensors, the Arduino controller, and the web platform.
- Solution: We optimized the communication protocols to reduce data transmission delays and implemented error handling mechanisms to ensure data integrity during transmission.
To install and configure KrisiConnect, follow these steps:
- Node.js and npm (Node Package Manager) installed on your machine.
- Python and pip (Python Package Manager) installed on your machine.
- Git installed on your machine.
- Access to the KrisiConnect GitHub repository.
- Laravel Framework: Version 8 or later for building and running the Progressive Web App (PWA).
- Python: Version 3.8 or later, with necessary libraries like Flask, FastAPI for API development, and machine learning libraries (e.g., TensorFlow, PyTorch).
- YOLOv8: Installed on Google Colab or a local machine with GPU support for model training.
- LangChain: Python library for natural language processing (NLP) tasks.
- Arduino IDE: For programming IoT devices connected to the platform.
- Node.js: For running the JavaScript dependencies in the frontend of the web application.
- IoT Devices:
- pH sensor
- Soil moisture sensor
- Arduino Board: Compatible with the sensors (e.g., Arduino Uno or Nano).
- Internet Connection: Stable connection for real-time data transmission from IoT sensors to the platform.
- Google Colab: To train machine learning models using cloud GPUs.
- Git: Version control for managing project code.
- Open a terminal and clone the Krisi Connect project repository from GitHub:
git clone https://github.com/santoshvandari/krisiconnect.git
- Navigate to the project directory:
cd krisiconnect
- Install the Laravel dependencies using Composer:
composer install
- Copy the
.env
file and set up environment variables for your database, APIs, etc.:cp .env.example .env
- Generate the application key:
php artisan key:generate
- Run database migrations to set up the required tables:
php artisan migrate
- Start the Laravel development server:
php artisan serve
- Set up a Python virtual environment:
python3 -m venv venv source venv/bin/activate
- Install the required Python dependencies:
pip install -r requirements.txt
- Run the Python API server to handle requests from the frontend:
fastapi dev main.py
- Open Google Colab and upload the training dataset.
- Install the required YOLOv8 libraries by running the following in a Colab notebook:
!pip install ultralytics
- Train the model:
from ultralytics import YOLO model = YOLO('disease.pt') model.train(data='data.yaml', epochs=50)
- Export the trained model and integrate it into the backend for real-time inference.
- Install the Arduino IDE from the official Arduino website.
- Connect the pH sensor and soil moisture sensor to the Arduino board.
- Write the Arduino code for reading data from the sensors and uploading it to the web platform using HTTP requests:
// Example code to read from the sensor int sensorValue = analogRead(A0);
- Upload the code to the Arduino board via the Arduino IDE.
- Ensure the board is connected to the network and data is transmitted to the Laravel backend.
- Install the JavaScript dependencies:
npm install
- Start the frontend development server:
npm run dev
- With the Laravel backend, Python APIs, and Arduino sensors properly set up, you can access the Krisi Connect platform in your browser:
http://localhost:8000
- Use Heroku, Vercel, or another hosting provider for deployment.
- Set up continuous deployment with Git to keep your app updated.
For any questions, support, or inquiries, please contact our team at meprazhant@gmail.com, sanketshiwakoti2@gmail.com, shameerkharel2@gmail.com, santoshvandari100@gmail.com
We welcome contributions! If you'd like to contribute to this Mero Share IPO Filler Script, please check out our Contribution Guidelines.
Please review our Code of Conduct before participating in this Script.
KrisiConnect is released as an open-source collaboration and customization.