SmartFarming Documentation
Welcome to the SmartFarming documentation hub!
This site provides a structured overview of the system’s architecture, database, deployment, hardware integration, and software components.
SmartFarming combines hardware (Arduino & Raspberry Pi) and software (C#, Blazor, Docker) to collect and visualize environmental data like soil moisture, CO₂, and temperature — enabling smarter, data-driven plant care.
📘 Contents
🏠 Overview
General overview of the SmartFarming project, components, and setup.
🧩 Architecture
Detailed explanation of the SmartFarming system architecture, including hardware layout, data flow, and software structure.
🗃️ Database
Documentation of the MariaDB database schema, entity-relationship diagram (ERD), and model descriptions.
🚀 Deployment
Instructions for setting up and deploying SmartFarming using Docker, WSL, and Ubuntu.
💻 SmartFarming UI
Overview of the Blazor-based web interface for monitoring and managing plant data.
🔌 REST API
API reference for endpoints, data transfer objects (DTOs), and controllers in the SmartFarming backend.
🍓 Raspberry Pi
Setup guide for the Raspberry Pi, including communication with the Arduino and REST API integration.
🌱 Arduino
Firmware overview, sensor connections, and data collection logic for the Arduino components.
🧠 About the Project
SmartFarming is developed under the ESPAS Zürich initiative to teach and apply modern IoT, software, and system integration techniques in agricultural technology.
The project integrates:
- Arduino – Sensor control and data acquisition
- Raspberry Pi – Edge processing and data forwarding
- C# REST API – Backend logic and database management
- Blazor Frontend – Real-time data visualization and dashboards
- MariaDB – Persistent data storage
- Docker & WSL – Containerized environment for local and production setups
🔗 Related Resources
- GitHub Repository
- SmartFarming REST API Docs
- SmartFarming REST API Code Docs
- SmartFarming UI Docs
- ESPAS Zürich
© 2025 ESPAS Zürich — SmartFarming Development Team