App zum Steuern des Hühnerstalls 🐔
Im Jahr 2021
sind 4 neue Schützlinge 🐔 zu uns gestoßen. Hierfür wurde natürlich zuvor ein Hühnerstall für die notwendige Behausung errichtet, welcher im Jahr 2022
mit etwas Technik modernisiert wurde.
Insgesamt wurden verbaut:
- 1x Raspberry PI 4b
- 1x 8-Port Optokoppler
- 1x Kamera (ohne IR-Filter) für Innenansicht Stall
- 1x Kamera (ohne IR-Filter) für Gehegeansicht
- 1x Temperatursensor
- –> Um bei Gefriertemperaturen automatisch die Getränkeheizung sowie Wärmelampe zu aktivieren
- 1x Lumensensor
- –> Um den Eingang/Ausgang bei Sonnenaufgang/-untergang zu öffnen/schließen
- 1x Hybrid-Schrittmotor
- –> Um den Eingang/Ausgang automatisch schließen/öffnen zu können
- 2x Trafo 12V DC
- 1x 220mm Lüfter
- –> Abluft
- 1x 140mm Lüfter
- –> Lufttransport im Dachspitz
Anbei die Verkablung:
Eine Montage um die Kabel abzudecken ist noch in Planung 🙈
Ohne Software nutzt jedoch die beste Hardware nichts 😌, weshalb zudem eine PWA-App
sowie ein passendes Back-End
entwickelt wurde.
Hinweis: Das Front-End sowie Back-End sind nur durch einen VPN-Tunnel erreichbar und somit nicht öffentlich einsehbar
Front-End⌗
Das Front-End wurde mittels Angular umgesetzt und kann als PWA-App lokal installiert werden.
Diese App bettet beide Kameras ein, deren Streams mittels dem Motion-Project zur Verfügung gestellt werden.
Weiterhin kann die Beleuchtung
gesteuert, die Belüftung
aktiviert und die Stalltemperatur
abgelesen werden.
Impressionen⌗
Back-End⌗
Das Back-End wurde mittels folgender Technologien umgesetzt:
- Rust als Programmiersprache
- actix-web als API-Framework
- Swagger als API-Dokumentation
- Python für die Steuerung der GPIO-Pins
- sqlite als Datenbank
- Raspberry-PI-OS als Betriebssystem
Das Ansteuern der GPIO-Pins und somit das Steuern des Optokopplers sowie des Motors wurde mittels Python
gelöst, da hier bereits entsprechende Bibliotheken zur Verfügung stehen.
Die REST-API wurde dagegen mittels Rust + actix-web entwickelt.