Schlagwort-Archive: WEBCAM

MFG WEBCAM

Webcam Projekt MFG Niederdorfelden e.V.

von Klaus Sauerteig und Shintaro Fujita

Die Idee und der Wunsch nach einer vereinseigenen Webcam entstand nach unserem erfolgreichen Flugplatzumzug im Jahr 2014. Bei der Internet Recherche fand ich etliche Lösungsansätze. Da unser Modellflugplatz keine Infrastruktur wie Strom, Telefon oder Internet hat, bleibt nur eine solarbetriebene Webcam. Fertige Webcams mit Internetfunktionalität gibt es mittlerweile im Handel, sogenannte IP Kameras. Möchte man diese IP Kameras auch noch für Outdoor und Solarstromversorgung, findet man kaum etwas passendes für wenig Geld. Auch ist man mit fertigen IP Kameras auf die Software angewiesen, die mit dem Gerät ausgeliefert wird und in dieses integriert ist. Deshalb entschieden wir uns für einen anderen Weg, an die gewünschten Kamerabilder vom Modellflugplatz zu kommen.

1. Überlegungen zur Stromversorgung

Zur Auslegung einer Solaranlage gibt es ganze Abhandlungen. Für uns schwer durchschaubar ist zunächst der Leistungshunger unserer Technik. Es gibt tatsächlich Messgeräte, die in die Stromversorgung eingeschleift werden und dann zuverlässig Auskunft geben. Weiterhin gibt es für einige wenige Komponenten im Netz Angaben, wie viel sie verbrauchen. Faktoren für die Effizienz der Solaranlage sind der Neigungswinkel des Solarpanels, die Himmelsrichtung, die Energiespeicherung um nur einige zu nennen. Alles das zusammen ergibt mehr Unbekannte in der Gleichung, als uns lieb ist. Daher haben wir uns kurzerhand für eine mittelgroße Solarzelle mit nicht allzu großen Pufferbatterien entschieden, wohlwissend, dass es Versorgungsengpässe geben kann.

Unsere Solaranlage – auch Photovoltaikanlage genannt – besteht aus einem monokristallinen 30 Watt Solarpanel,

IMG_6307b_k
wetterfester Rahmen aus Edelstahl an der Südwand

welches über einen Solarregler 2 Puffer – Bleigelbatterien a 7.5AH auflädt. Die beiden Batterien wurden parallel geschaltet und fungieren wie eine Einzelbatterie. Das Solarmodul wurde in exakter Südlage mit einer Neigung von ca. 55 Grad von der Waagerechten installiert. Für Deutschland gilt die Empfehlung, für den höchsten Stromertrag das liegende Solarpanel ca. 30 Grad anzukippen. Für den gleichbleibendsten Energieertrag über das Jahr gesehen werden ca. 55 Grad Anstellwinkel empfohlen. Ich habe mich für die 2. Variante entschieden. Unsere Bleigelbatterien waren kostenlos und stammen aus einer Notstromversorgung. Sie haben noch genug Restkapazität( > 80%) für unsere Anwendung.

Bei den Bleibatterien für Solaranlagen muss man folgendes beachten. Es gibt zum einen die uns bekannten Starterbatterien für den PKW. Wie der Name schon sagt sind die ‚Autobatterien‘ für den kurzen aber heftigen Startvorgang ausgelegt. Sie sind nur beschränkt zyklenfest – komplette Entladungen verkürzen die Lebensdauer drastisch. Der Elektrolyt ist in der Regel flüssige Säure und die Lade(schluss)spannung darf nicht mehr als 13.8 Volt betragen. Liegt sie doch darüber, zersetzt sich die Säure in Knallgas(Wasserstoff+Sauerstoff). Man kann diesen Verlust bei Batterien mit Öffnungen durch Auffüllen mit dest. Wasser ausgleichen.

IMG_6316b_k
Batterien aus einer Notstromversorgung

Die Empfehlung für Photovoltaikanlagen sind die geschlossenen Bleigelakkus. Hier ist die flüssige Säure gebunden. Außerdem liegt die Zyklenfestigkeit bei über 1000 und sie sind langlebiger und auch tiefentladefester. Die Lade(schluss)spannung liegt etwas höher bei 14.4 Volt.

Handelsübliche Klein-Solarregler kümmern sich um die Ladung der Batterien. Einfache, preiswerte Varianten messen die Batteriespannung und vergleichen sie mit der Herstellervorgabe. Erreicht die Batterie die obere Grenze(auch Ladeschluss-Spannung genannt), wird die Verbindung zur Solarzelle elektronisch getrennt. Bei Unterschreitung der Batteriespannung wird die Solarzelle wieder zugeschaltet. Die Ladung erfolgt also getaktet. Bei unserer Minimallösung erübrigt sich eine Kühlung des Ladereglers.

IMG_6314b_k
preiswerter Solarregler 2x8A max.

Die Schaltschwellen unseres eingesetzten Regler liegen bei ca. 14,2 V/DC (± 5%) nach oben und ca. < 12,9 V/DC (± 5%) nach unten. Damit erklärt sich unsere Wahl für Bleigelakkus. Wer ebenfalls eine preiswerte Solaranlage plant, sollte als mögliche Bezugsquelle für die Bleibatterien auch gebrauchte Batterien aus Rollstühlen erwägen. Diese Batterien sind genau der richtige Typ und werden auch frühzeitig ausgetauscht, um kein Risiko des ‚Liegenbleibens‘ einzugehen.

IMG_6606b_k
rustikale Profiverdrahtung 🙂

2. Die Technik der Webcam

Für die Steuerung und das Management wurde ein Raspberry Pi B+ Computer gewählt. Nur scheckkartengroß ist dies ein später Nachfolger von den legendären Homecomputern wie Apple2 oder Commodore C64. Vorteil des Raspberry Pi ist die einfache Stromversorgung mit nur einer USB Spannung von 5 Volt, ist sehr genügsam und gut geeignet für Solaranlagen.

raspi_b+
Raspberry Pi B+ mit Dualcore CPU, 512 MB RAM, 4xUSB2.0

Ein Raspberry Pi – kurz Raspi – läuft mit einem Betriebssystem namens Raspbian, welches ein Linux-Klone ist. Der Linux-Kern ist unter der GPL(General Public Licence) lizensiert und lizenzkostenfrei. Gerade deshalb sind quasi alle Raspi Programme frei am Markt erhältlich. Ein Raspi hat einen ARM Cortex-A-Prozessor, der weitverbreitet ist und oft in Smartphones eingesetzt wird. Dies ist der Grund, weshalb man bei der Betriebssystem- und somit auch der Softwarewahl flexibel ist. Microsoft hat  angekündigt, dass ein Raspi basierend auf der ARM-Architektur kompatibel mit Windows 10 sein wird.

Die Rechenarbeit zur Auslösung der Kamera in wählbaren Intervallen und die Weiterverarbeitung erledigt unser kleiner Rechenknecht perfekt. Per Cronjob – einem zeitgesteuertem Script – erfolgt jeden Abend ein Shutdown des Betriebssystems und kurz danach die Abschaltung der Stromversorgung per Schaltuhr.

Raspikameramodul
5 MP Kameramodul mit Standardlinse

Die eigentliche Kamera ist ein Kameramodul, was extra zum Raspi entwickelt wurde und 5MP Auflösung hat. Dieses Modul etwa briefmarkengroß, hat als Standard eine winzige Fixfokuslinse. So eine Linse lässt sich nicht justieren und bildet alles im vorgegebenen Bereich scharf ab.

IMG_6322b_k
aus der Restekiste: Verbrennermotorträger als Objektivhalter

Mir war das Blickfeld zu eng, habe sie deshalb entfernt und mit einer zoombaren, weitwinkligeren Linse ersetzt. Dieses Modul wird über eine 15-polige serielle MIPI-Kameraschnittstelle (CSI), welche onboard auf dem Raspi sitzt, angesteuert. Ebenso könnte man an die USB 2.0 Buchsen des Raspi jede handelsübliche USB Kamera anschließen. Das Betriebssystem eines Raspi unterstützt alle handelsübliche Hardware durch eine (Linux)Treiberdatenbank, die kaum Wünsche offen lässt.

Die Versorgungsspannung präsentieren wir dem Raspi mundgerecht mit einem Stepdown-Wandler, der die 12 Volt Batteriespannung auf 5 Volt USB Spannung wandelt. Der Stepdown-Wandler ist die einzige Möglichkeit, quasi ohne hohe Leistungsverluste die überzähligen Volts zu eliminieren. Ich wählte hier einen gängigen Wandler, welcher gerne für Arduino-Programmierboards eingesetzt wird.

KIS3R33S
preiswerter Spannungswandler max. 3 A mit hohem Wirkungsgrad

Sein Wirkungsgrad ist mit max. 96% recht ordentlich und schont unseren kostbaren Solarstrom. Unser Raspi B+ verbraucht im sogenannten Headlessbetrieb(ohne Maus, Tastatur und HDMI-Monitor) aber mit WLAN Adapter in Nanobauweise im Leerlauf ca. 300 mA, was etwa 1,5 Watt Leistung entspricht. Der WLAN Adapter wurde nach der Einrichtung der Software wieder entfernt und wir sparen dadurch ca.100 mA ein.

IMG_6321b_k
der bestückte Einschub fürs Outdoor-Gehäuse

Wetterfest verpackt findet die komplette Einheit ihren Platz in einem Outdoor Kameragehäuse.

Pollin_gehaeuse
wasserfestes Kamera Leergehäuse

Wir arbeiten mit einer einzigen 12 Volt Stromeinführung ins Gehäuse. Die Spannung wird im Outdoorgehäuse gewandelt. Um Problemen mit Feuchtigkeit durch Kondensation vorzubeugen, wird das Outdoorgehäuse mit etwas Trockenmittel versehen. Platz für die kleinen Beutelchen ist genug da.

 

SilicaGelPack
Trockenmittel findet man z.B. in Schuhkartons

Die Solaranlage und Kamera kann räumlich voneinander getrennt werden. Zur Verbindung sollte ein Kabel mit genügenden Querschnitt gewählt werden um einem Spannungsabfall vorzubeugen. Unsere Leitungslänge liegt um ca. 5 Meter und hat ein Kabelquerschnitt von 1,5 mm2 . Die Leitungen, welche im Freien verlegt werden, sollten UV stabil sein, z.B. eine Silikonschlauchleitung.

3. UMTS Datenversand und Software

Da wo ein Mobiltelefon Empfang hat, kann unsere Webcam eine Internetverbindung aufbauen. Realisiert wird dies durch einen handelsüblichen USB Surfstick in einer routerlosen Konfiguration.

IMG_6324b_k
Surfstick und Stepdown-Wandler

Der Surfstick baut via UMTS eine Internetverbindung auf. UMTS (Universal mobile telecommunications system) ist ein Mobilfunkstandard der dritten Generation (3G). Zusätzlich braucht man einen Mobilfunkprovider, welcher einem eine Internet-Flatrate anbietet. Es gibt vereinzelt leistungsschwache Gratisangebote, welche durch Werbe SMS finanziert werden. Unsere Flatrate läuft zur Zeit noch über eine Zweitkarte eines Vereinsmitgliedes und ist somit ‚kostenlos‘. Auf längere Sicht werden wir für eine preiswerte Flatrate etwas Geld sammeln. Die gibt es am Markt für unter 10 Euro im Monat. Ausreichend ist eine reine Internet Flatrate ohne Telefonie und SMS. Unser Raspi ist nach einem Ausfall der Versorgungsspannung selbststartend. Er initialisiert selbstständig per PIN Eingabe die SIM Karte im Surfstick. Die PIN Abfrage der SIM Karte könnte man jedoch auch ganz abschalten, wenn man die SIM Karte in ein Handy einlegt und dort in den Einstellungen die PIN Abfrage deaktiviert.

Es folgen die Skripte und Einstellungen am Raspi:

Abb.1  Zur Umschaltung des Surfsticks in den Modembetrieb werden die rot hinterlegten Werte benötigt. In unserer Konfiguration von dem Hersteller ZTE:

usb_modeswitch.conf

usb_modeswitch


Abb.2  wvdial ist ein Linux-Kommando und installiert die Modemkonfiguration entsprechend der folgenden Konfigurationsdatei:

wvdial.conf

[Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1 E1
Momdem Type = Analog Modem
ISDN = 0
New PPPD = yes
# Baud = 460800
Modem = /dev/ttyUSB2
Auto Reconnect = off

[Dialer pin]
Init3 = AT+CPIN=*SIM-KARTEN PIN*

[Dialer 3gconnect]
# Auto DNS = on
Stupid Mode = 1
Init4 = AT+CGDCONT=1,“IP“,“internet“
Modem Type = Analog Modem
Phone = *99***1#
Password = o2
Username = o2


Abb.3  Skript zur Bilderzeugung, Dateinamenaufbereitung und FTP Übertragung:

timelaps.sh

#!/bin/bash

localFile=/tmp/cam.jpg
fileName=cam$(date +%H%M).jpg
newfilePath=/$(date +%Y)/$(date +%m)/$(date +%d)
newfp=/$(date +%Y)/$(date +%m)/$(date +%d)/cam$(date +%H%M).jpg

raspistill -o $localFile -vf -hf -q 15 -w 640 -h 480
wvdial 3gconnect &
sleep 10
lftp -u *FTP Benutzer+PW* sftp://mfg-niederdorfelden.de <<EOF
mkdir -p $newfilePath
put $localFile -o $newfp
bye
EOF
poff


 

Abb. 4 Skript mit dem Befehl zum Modembetrieb:

modeswitch.sh

 #!/bin/sh

usb_modeswitch -c /etc/usb_modeswitch.conf
sleep 10
wvdial pin


Abb.5 PHP Skript auf der Serverseite zur Auswertung und Anzeige der Webcamdateien (Auszug)

php_webcam
Abb.5: mfg_cam_image.php

 

Eine Hürde war die Umschaltung des Surfsticks unter Raspbian auf Modembetrieb. Normale Surfsticks arbeiten üblicherweise im Dualmode, als Datenspeicher mit eingelegter Memorycard oder im USB-Modembetrieb. Wir brauchen den 2. Betriebszustand , um die Bilddaten per FTP Client an den Webspace unserer Vereinshomepage abzuschicken. Ein FTP(File Transfer Protocol) Client ist ein Programm, welches Dateien an einen FTP Server übertragen kann. Unsere Vereinswebseite fungiert hierbei als FTP Server und speichert die Bilddaten in einem Zielverzeichnis. Ein PHP Skript sorgt hier dafür, das Bild mit dem aktuellsten Datum aus dem Verzeichnis der Webcambilder auszuwählen und anzuzeigen. Die vorher angesprochenen Cronjobs werden beim Raspi in der Cronjobtabelle verwaltet. Dort hinterlegen wir den allabendlichen Stop zur Nachtzeit.


 

Abb.6 Der automatische Shutdown erfolgt um 21:25 Uhr. In der Crontabelle stehen die Minuten zuerst:

/etc/crontab
25 21 * * * root /sbin/shutdown -h now


Das definierte Herunterfahren verhindert einen Datenverlust, welcher beim Raspi möglich wäre. Auf das nötigste reduziert hat ein Raspi keinen An-/Ausschalter. Ausschalten durch das Wegnehmen der Versorgungsspannung ist denkbar, aber erst nach dem Herunterfahren. Unserer Meinung nach hat der Tageszyklus mit einer Nachtpause den Vorteil, dass es keine Langzeiteffekte durch eine ununterbrochene Betriebszeit geben kann.

Schaltuhr12V
preiswerte 12V Schaltuhr

Die Schaltung der Webcam steuern wir mit einer einfachen programmierbaren 12 Volt Schaltuhr, die es für wenig Geld bei Ebay gibt. Wir können ca. 9 Betriebsstunden pro Tag Solarstromversorgung einsparen. Dies ist sicherlich auch interessant für die lichtarme Jahreszeit.

Der Raspi hat aufgrund seiner Kompaktheit als Festspeicher nur eine eingelegte Micro SD-Speicherkarte. Sie enthält neben dem Betriebssystem auch Verzeichnisse, welche durch das Raspian ständig neu geschrieben werden, z.B. Logdateien, etc. Aufgrund der verwendeten Speichertechnik ist Flashspeicher grundsätzlich nicht unbegrenzt oft beschreibbar. Man geht nach dem heutigen Stand der Technik von ca. 100.000 – 1.000.000 Schreibzugriffen aus. Was können wir also tun, um die Lebensdauer der Micro SD-Karte zu erhöhen? Denkbar ist der Einsatz einer RAM-Disk. Hier wird vom Arbeitsspeicher, welcher beim Raspi B+ 512 MB groß ist, ein Teil reserviert und die Schreibvorgänge, welche eigentlich für die SD-Karte bestimmt sind, dorthin umgeleitet.

Wir können uns andererseits mit einem temporären Filesystem helfen.

Abb.7 Das systemweite, temporäre Dateisystem unter /tmp wird folgendermaßen geändert:

/etc/fstab
tmpfs /tmp tmpfs nodev,nosuid,size=20M 0  0


Zum Datenvolumen soviel: Jedes Einzelbild von unserem Flugplatz hat eine Größe von 640 x 480 P. Die Dateigröße hängt von dem Detailreichtum des jeweiligen Bildes ab und bewegt sich zwischen 40-90 KB. Ein typischer Tag mit Aufnahmen von 6:00 – 21:30 Uhr alle 10 Minuten produziert 93 Aufnahmen und hat ein Tagesgesamtvolumen von 6,6 MB. Für einen Monat mit 30 Tagen muss die erforderliche(=kostenpflichtige) Flatrate etwa 198 MB Bilddaten verkraften. Dazu kommt noch eine gewisse Datenmenge für das Handshake, welches durch die Datenübertragung verursacht wird und u.a. eine Fehlerkorrektur ermöglicht. Eine raschere Taktung oder die nächste Qualitätsstufe 800 x600 P wird die erforderliche Flatrate rasch ansteigen lassen.

Optional kann man am Raspi die GUI=grafische Oberfläche abschalten. Damit sparen wir Arbeitsspeicher. Außerdem ist das Tool zur Hotkeyrealisierung überflüssig, da wir keine Tastatur am Raspi betreiben.


 

Abb.8 LightDM ist der DisplayManager und TriggerHappy das Tool für Keyboard Hotkeys:

sudo update-rc.d lightdm remove
sudo update-rc.d triggerhappy remove

Der eingesparte RAM beläuft sich auf 25MB. Die im Dauerbetrieb gemessene CPU-Last beträgt exakt 5%.


Während der Installation auf dem Flugplatz haben wir festgestellt, dass es komfortabel ist, den Raspi per WLAN und SSH zu konfigurieren. Jedoch verbraucht auch ein WLAN Adapter im Leerlauf Solarstrom. Wir haben uns folgende Lösung überlegt: eine USB-Buchse des Raspi verlängern wir mit einem USB-Kabel bis in unseren Gerätewagen, an dem der Kameramast angeschraubt ist. Das USB-Kabel wird mit einem Schutzmantel UV sicher installiert. Bei Bedarf haben wir auch in Zukunft eine Komunikationsmöglichkeit mit dem Raspi, indem wir den WLAN-Adapter ans USB-Kabel anstecken und müssen nun nicht mehr jedesmal am Kameramast hochklettern und das Outdoorgehäuse aufschrauben.

Abb.9 Ein WLAN Accesspoint am Raspi wird mit dem Paket ‚hostapd‘ realisiert. Unsere Konfigurationsdatei sieht wie folgt aus:

/etc/hostapd/hostapd.conf

interface=wlan0
bridge=br0
driver=rtl871xdrv
ctrl_interface=/var/run/hostapd
ctrl_interface_group=0
ssid=RaspiMFGCam
hw_mode=g
channel=8
wpa=2
wpa_passphrase=*WLAN-PW*
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP
rsn_pairwise=CCMP
beacon_int=100
auth_algs=3
wmm_enabled=1


 

Letzter Feinschliff an der Webcamanlage

IMG_6598b_k
nur was für Sportliche 🙂
IMG_6604b_k
per WLAN aus dem Bauwagen via AP zum Raspi

4. Eingesetzte Technik:

(Preise teils aus 2014)

  • 1/3″ Linse mit man. Focus,2.8-12mm, 110-23.8Grad, F1.4                   11,86 €
  • Raspberry Kameramodul 5 MP, Ver. 1.3, 1080p, CSI Bus                     22,89 €
  • DC 7V-24V auf 5V 3A Step Down Buck KIS3R33S Modul                  1,- €
  • 16mm F2.0 1/3″ Replacement Board Lens for CCTV Camera               5,87 €
  • Raspberry Pi B+ Microcomputer                                                          29,90 €
  • Gehäuse für Raspi                                                                               8,90 €
  • Edimax EW-7811Un Netzwerkadapter, USB 2.0                                  7,85 €
  • Samsung 8GB Micro SD Karte, bespielt mit Noobs                              5,90 €
  • Offgridtec, Solarpanel 30 Watt Mono 12V                                           39,90 €
  • Kemo Solar Laderegler Dual 16A                                                        14,29 €
  • Pollin Kameragehäuse Outdoor                                                                       14,95 €
  • Pollin Kamera-Wandhalter, Metall                                                      8,95 €
  • 12 Volt Schaltuhr, programmierbar                                                     5,88 €

Gesamt                                                                                                          178,14 €

Von Vereinsmitgliedern gespendet:

  • 2 Stück Yuasa NPW30-12 Bleigel Batterien
  • O2 Surfstick
  • Handarbeit, Softwareprogrammierung und unsere Zeit (!)

 

Klaus Sauerteig im Juni 2015