DuisBird
Dieses Project ist eine Implementation auf der Basis von Arduino für die Verwendung von ESP32S3 Prozesoren im "Smart bird feeding house" des Projekts "WieDiversIstMeinGarten".
Projektbetreiber ist der Makerspace der VHS Duisburg. Die Software ist in C++ geschrieben für VS-Code Platform IO und Arduino. Als Arduino core wird espressif esp32 in der Version 2.0.17 benutzt. Es werden keine Arduino Libs für zeitkritische Bereiche wie Audio, Video , Hx711 Loadcell und BME280 verwendet. Die Sensoren Treiber sind Eigenentwicklungen und alle "nonblocking".
Die Software ist eingerichtet und getestet für das SEEED XIAO SENSE ESP32S3 board. Als Kamera wird OV2640 unterstützt. Frameraten bis 20FPS bei 800x600 können zuverlässig eingehalten werden. Die Software verfügt über ein umfangsreiches Webinterface zur Einrichtung und Wartung der Station. OTA Updates und Sensorkalibrierung sind online möglich.
Als Ausgangspunkt diente das "ESP32-CAM_MJPEG2SD" project in der Version 9.4. Siehe https://github.com/s60sc/ESP32-CAM_MJPEG2SD. Vielen Dank an die Entwickler um s60sc für die wertvolle Vorarbeit.
Mehr Informationen zu Details finden sich im README im Unterverzeichnis ../src
Die für vollständigen Betrieb notwendige Verdrahtung kann der Anleitung unter https://gitlab.com/iot-download/DuisBird entnommen werden.
Im Verzeichniss ../docs sind einige .draio Zeichnungen welche für das Verständniss von Nutzen sein können. z.B blockstationEsp32-s3-sense.drawio, mainstates.drawio, OverallTiming.drawio
Im Verzeichniss. ../build ist ein Buildlog der Arduino IDE.
Der Quellcode zu großen Teil mit docs der Funktionen versehen. Die für den Betrieb als WieDiversIstMeinGarten Station wesentlichen Programmteile sind in C++ Klasse Bird* implementiert.
Ändererungen in der ESP32-CAM_MJPEG2SD Basissoftware sind meistens mit dem conditional compiling #BIRDIARY gewrappet.
Eine in Betrieb befindliche Version mit dieser Hard-/Software ist unter https://wiediversistmeingarten.org/view/station/f2ac2e34-7067-4275-8d55-440001852513 zu sehen.
Das Team des Makerspace der VHS Duisburg sieht sich nicht in der Lage, für dieses Project einen umfangreichen Support zu geben. Wir würden uns jedoch freuen, wenn andere, mit der dieser Entwicklungsumgebung vertraute Entwickler, behilflich sein könnten.
-
Wir würden gerne die Version 10.6 von https://github.com/s60sc/ESP32-CAM_MJPEG2SD als Basis verwenden. Diese Version benutzt das expressif api 3.x. mit zahlreichen rewrites besonders im Bereich Networking.
-
Die Software kann auch mit anderen Boards auf Basis ESP32S3 laufen. Ein einfacherere Konfiguratuion der GPIO's wäre dabei von Nutzen.
-
Der deep sleep modus des ESP32 wird zur Zeit nicht benutzt was einen Betrieb mit einem kleinen Akku unterstützten Solar Panel nicht zulässt und zudem thermische Probleme in 3D gedrukten Boardfassungen mit sich bringt.
You can also document commands to lint the code or run tests. These steps help to ensure high code quality and reduce the likelihood that the changes inadvertently break something. Having instructions for running tests is especially helpful if it requires external setup, such as starting a Selenium server for testing in a browser.
Vielen Dank an alle die zum Gelingen des jetztigen Standes des Projektes beigetragen haben. Insbesondere für die Erstellungen der Bauanleitung und Betreuung des Feldtests.
BSD 2 Licence
First Release.