Smart irrigation with solar energy and weather forecasting
Irrigation that decides on its own: weather forecast, photovoltaic surplus and pump control over Modbus TCP, with Telegram notifications.
Runs on: Raspberry Pi (Docker) — Python 3 scripts (Linux PLC).
The application
A farm wanted to irrigate using its photovoltaic installation and avoid wasting water when rain is on the way. A Raspberry Pi with a Docker stack (Node-RED, MySQL, Nginx, Laravel) reads the inverter over SunSpec Modbus TCP, checks the OpenWeather forecast before each cycle (rain or frost → the cycle is cancelled), controls the pump through a Schneider variable frequency drive over Modbus TCP with 4-20 mA pressure feedback, logs alarms in MySQL and allows remote control through a Telegram bot. The plant panel is a full-screen kiosk.
Architecture
- Irrigation scheduler (morning/afternoon) conditioned by OpenWeather
- Solar inverter read over SunSpec Modbus TCP (generation vs consumption)
- Schneider ATV320 drive over Modbus TCP + 4-20 mA pressure on AI3
- Alarms in MySQL queried from a multi-user Laravel frontend
- Telegram bot for notifications and remote control + on-site kiosk
Bill of materials
- Raspberry Pi (Docker) — Industrial Shields controller
- Schneider Altivar 320 drive — irrigation pump
- 4-20 mA pressure transducer — line pressure
- Solenoid valves per sector — water distribution
- SunSpec photovoltaic inverter — already installed on the farm
What is in the pack
alarm-history-mysql.sqlaltivar320-modbus-tcp-control.pydocker-compose-irrigation.ymlfronius-sunspec-modbus-reading.pyirrigation-weather-openweather-scheduler.jskiosk-wayfire-chromium.shtelegram-bot-alarms-control.js- Bill of materials + README
Get the pack by email — free
Fill in the form and we will send the complete pack to your inbox within minutes.