Posts mit dem Label IoT werden angezeigt. Alle Posts anzeigen
Posts mit dem Label IoT werden angezeigt. Alle Posts anzeigen

Freitag, 27. Dezember 2019

Einfache Bewegungserkennung auf dem Raspberry Pi

Mit dem Thema Bewegungserkennung wird gerne KI in Verbindung gebracht, aber Bewegungserkennung geht auch mit normalen Computer Vision Mitteln.

Es ist sehr einfach möglich, Bewegungserkennung mit einfachen UNIX Programmen durchzuführen. Ich benutze hier ImageMagic. Folgend ein Beispiel, das auf einem Raspberry Pi Zero W läuft. Hier ein Auszug aus dem BASH Script:

raspistill -o                      camImages/$DATE.jpg
convert    -normalize -blur 0x8    camImages/$DATE.jpg blur/$DATE.jpg
compare    -fuzz 8%   -metric RMSE nb3.jpg nb4.jpg x.jpg

  1. Zuerst muss ein Bild aufgenommen werden.
  2. Dann wir das Bild bzgl. des Histogramms normalisiert und mit dem Weichzeichen wird das Bildrauschen des Kamerasensors eliminiert.
  3. Zuletzt wird das aktuelle Bild mit dem Vorgängerbild verglichen. Die Metrik gibt an, wie stark sich die Bilder unterscheiden, hier muss ein passender Schwellwert (-fuzz 8%) eingestellt werden.

Mit dieser Lösung werden Bewegungen in Bildern zuverlässig erkannt. Hier ein Beispiel für ein Differenzbild.

Die Nachteile:
  1. Dieser Lösung ist die hohe Laufzeit von ca. 75 sec auf Raspberry Zero W. 
  2. Die Normalisierung ist noch nicht optimal, Änderungen in der Beleuchtung werden häufig als Bewegung erkannt, das kann zur Zeit nur durch ein Anhaben des Schwellwertes kompensiert werden.
Update:
Einige Optimierungen wie die Verringerung der Bildauflösung führen zur einer Reduktion der Laufzeit von 90 sec auf 75 sec auf 23 sec. Durch die jetzt kürzeren Abstände zwischen den Bildern werden Fehlerkennungen noch weiter reduziert.

Donnerstag, 8. Dezember 2016

Vortrag bei der Java User Group Dublin - Fotos

Jetzt sind die wirklich guten Fotos von meinen Vorträgen, IoT mit Tinkerforge und Software Robustheit, bei der Java User Group Dublin da:
https://www.flickr.com/photos/139932355@N08/albums/72157674941628376

Danke an die beiden netten Hosts: Barry und Gerry und an die Firma Tinkerforge für die Unterstützung.





Dieser Briefkasten (Dublin, Temple Bar) stammt aus der Zeit als George König war. GR bedeutet George Royal und nicht wie es einem die Iren erzählen George Rules. Man beachte das der Briefkasten irisch Grün und nicht Englisch rot ist!


Sonntag, 31. Juli 2016

Tinkerforge IoT First Steps Java Project launched on Github

I launched the first steps Java project for learning Tinkerfor ge and IoT (Github).

It uses following hardware as my simple and low cost starter kit:

  • Master Brick
  • Segment Display 4x7 Bricklet
  • Teperature Bricklet
  • Ambient Light Bricklet
  • Accelerometer Prickelt


The newbie can start with some experiments or challenges:

  • Hello World
  • Simple Themometer
  • Thermomenter and Clock
  • Small weather station with temeperatur, time and illumination
  • Resource saving programming with Call Backs/Listeners
  • Ambient Light sensor as contactless display light switch
  • Accelerometer as contactless switch
Code examples helps to realize the challenges.

Tinkerforge Weather Station published on Github

Tinkerforge is electronics framework for software developers. It's a good starting point for your own Internet of Things (IoT).  So I decide to bye me a starter kit. I choose the weather station kit.

Now, after some time I publish my Tinkerforge Weather Station Java Project on Github (Link). Its simple and robust. It uses callbacks to recognize on sensor changes. and runs over days without problems. It measures humidity, air pressure, ambient light and temperature. The temperature is measured indirectly via chip temperature of the humidity bricklet. Special features are, switching the display light depending on ambient light, show alternating date and time and show warnings because of to low or high humidity. If you put your hand over the ambient light sensor, the sensor works as contactless light switch.


If you are looking for more information on Tinkerforge, you can read the book (Kindle, german only) from Sven Ruppert: Einführung in die Heimautomatisierung: IoT mit Tinkerforge.