Schlagwort Archiv: Software

Feinstaubsensor – Teil 5: Konfigurationsdaten löschen

Die Konfigurationsdaten des Feinstaubsensors löschenbraucht man das? Im Normalfall nicht und wer nicht explizit ein Problem damit hat, eine fehlerhafte Konfiguration nicht mehr weg zu bekommen, der kann dieses Kapitel getrost überspringen. Wichtig zu wissen ist vielleicht, was mit Konfigurationsdaten des Feinstaubsensors überhaupt gemeint ist. Das sind die Daten, die sich über die Web-Konfigurationsoberfläche des Feinstaubsensors eingeben lassen, also vor allem WLAN-Netz und Passwort. So lange man Zugang zu dieser Weboberfläche hat ist alles in Ordnung und man kann darüber alle Daten ändern. Nur wenn das nicht mehr klappt, dann kann das Löschen aller Konfigurationsdaten das System quasi in den Urzustand zurück versetzen. (mehr …)

Feinstaubsensor – Teil 4: Feinstaub-Software flashen

Wenn die Arduino IDE auf einem PC installiert ist und die USB-Verbindung vom PC zum NodeMCU-Board funktioniert, dann können wir uns dran machen, die Feinstaub-Software aufzuspielen. Das sollte in jedem Fall passieren, bevor wir die Komponenten verkabeln und unter Strom setzen, damit keine ungewollten Spannungspegel die Bauteile zerstören können. Das Flashen der Feinstaub-Software kann auf zwei verschiedene Arten geschehen. Wir können eine fertig kompilierte Version flashen, oder wir kompilieren selbst in der Arduino IDE. Ich zeige hier beide Möglichkeiten für einen Linux-PC. (mehr …)

Feinstaubsensor – Teil 3: Arduino IDE installieren

Bevor die Komponenten des Feinstaubsensors zusammengebaut und verkabelt werden, muss die Software aufgespielt werden. Dazu sind ein paar Vorarbeiten nötig – unter anderem die Installation der Arduino IDE (integrated development environment) auf einem PC. Von diesem wird die Feinstaub-Software dann mit Hilfe der Arduino IDE per USB auf den NodeMCU geflasht (also ins Flash-Memory übertragen). Verwenden kann man dazu einen Windows-PC – ich zeige aber wie es geht anhand eines Linux-Rechners. Das kann auch eine Virtuelle Maschine sein, sie muss lediglich über den USB-Anschluss verfügen können. (mehr …)

Raspberry Video Camera – Teil 26: Optimierungen gegen Frame Drops

Wer kennt das? Die Raspberry Video Camera zeichnet ein Full-HD Video auf, aber wenn man es sich danach anschaut, gibt es gelegentlich einen Sprung im Filmablauf, als ob kurze Sequenzen fehlen würden. Kurze Sequenzen, das können einzelne Frames sein, die gar nicht auffallen oder auch einmal Aussetzer über mehrere Sekunden. Frame Drops also Bilder, die bei der Aufnahme verloren gegangen sind. Wer so etwas bei seinen Versuchen mit der Raspi Cam nicht beobachtet, der kann glücklich sein und diesen Artikel getrost überspringen. Für alle anderen teste und bewerte ich hier eine Anzahl von Tuningmaßnahmen, um die Frame Drops zu minimieren. (mehr …)

Raspberry Video Camera – Teil 25: Zweite Kamera

Seit den ersten Tagen der Raspberry Video Cam gibt es das Konzept der Multi-Kamera-Fähigkeit. Nun wird es Zeit, dass ich auch hier im Blog endlich vorstelle, wie sich eine zweite (und dritte und vierte) Kamera zuschalten lässt. Dabei geht es vor allen Dingen darum, dass eine Kamera das Triggern übernimmt und weitere abhängige Kameras auf dieses Auslösesignal reagieren. Damit wird erreicht, dass eine Szene gleichzeitig aus mehreren Blickwinkeln aufgenommen wird. Später kann dann ein Video aus dem Material von mehreren Kameras geschnitten werden. (mehr …)

Raspberry Video Camera – Teil 24: Anpassung von Programmparametern

Diesmal stelle ich keine neue Programmversion für die Raspberry Pi Video Cam vor, sondern gehe im Detail auf all die Konstanten ein, die sich inzwischen am Programmanfang angesammelt haben. Damit möchte ich all jene, die mein Python-Programm ausprobieren, ermutigen selbst Parameter zu verändern. Dadurch lassen sich Anpassungen an die eigenen Gegebenheiten vornehmen und an die Tiere, die erkannt und gefilmt werden sollen. Parameter-Tuning ist auch sinnvoll um die Erkennungsrate zu steigern um möglichst kein Tier zu verpassen. (mehr …)

Raspberry Video Camera – Teil 23: Verbesserung durch ROI und Aufnahmezeitbegrenzung

Auch ein gutes Programm lässt sich weiter verbessern und zwei solche Verbesserungen für die selbstlernende Farberkennung schlage ich hier vor: ROI steht hier nicht für „Return on Investment“ sondern für Region of Interest. Und das bedeutet, dass wir für die Farberkennung nicht mehr das gesamte Bild verwenden, sondern nur eine bestimmte Region, in der wir das Auftauchen eines Objekts vermuten. Das ist Thema 1 und die zweite Verbesserung führt eine generelle Aufnahmezeitbegrenzung für Videos ein um endlos lange Recordings zu vermeiden. Beide Verbesserungen können hilfreich sein, sind aber sicher nicht in jeder Umgebung sinnvoll. (mehr …)

Raspberry Video Camera – Teil 22: SW selbstlernende Farberkennung in Python

Konzeptionell habe ich die selbstlernende Farberkennung zur Kameraauslösung im letzten Artikel bereits besprochen. Nun geht es um die Realisierung in Form eines Python-Programms für den Raspberry Pi. Dabei baue ich auf dem zuletzt besprochenen Kombinationstrigger-Programm auf und erweitere es um ein paar zusätzliche Komponenten. Damit ist es künftig nicht mehr nötig, Farbbereiche für die Erkennung von Hand zu definieren. Das Programm wird die Farben selbständig anhand von Beispielbildern lernen und diese dann verwenden um die Kamera zu triggern. (mehr …)

Raspberry Video Camera – Teil 21: Konzept einer selbstlernenden Farberkennung

Damit ein Programm die Farben eines Objekts in den Videobildern erkennen kann, muss das Programm erst mal wissen, nach welchen Farben es suchen soll. Bisher hatten wir das von Hand gemacht und die typischen Farben der Eichhörnchen aus den Histogrammen von Beispielbildern abgelesen. Wie wäre es nun, wenn das Trigger-Programm das selbst erledigt und anhand einiger bereitgestellter Beispielbilder die Objektfarben erlernt? Und wie wäre es weiterhin, wenn das Programm laufend den Bildhintergrund analysiert, der sich über den Tag sonnenlichtbedingt ändert, und dessen aktuelle Farben in die Auswertung mit einbezieht? In diesem Artikel stelle ich ein paar Konzepte für eine selbstlernende Farberkennung vor, im nächsten folgt dann das entsprechende Python-Programm. (mehr …)

Raspberry Video Camera – Teil 20: Exkurs – Farbdarstellung per 2D-Histogramm

Farbhistogramme helfen bei der Beurteilung, welche Farben wie häufig in einem Bild vertreten sind. Vereinfacht ausgedrückt zumindest. Eindimensionale Histogramme haben wir bei der Farbkalibrierung des Python-Kamera-Triggerprogramms bereits verwendet. Für die drei HSV-Farbkanäle Hue, Saturation und Value, hatten wir zu diesem Zweck drei Histogramme generiert und daraus die Grenzen der Eichhörnchenfarben abgelesen. Nun stelle ich das 2D-Histogramm vor, mit dem wir zwei Kanäle gleichzeitig berechnen und visualisieren können – typischerweise Hue und Saturation. (mehr …)