Schlagwort-Archive: WiringPi

Raspberry als billige Webcam, Bewegungsmelder und Wetterdatensammler

Dieser Artikel beschreibt den Bau einer kostengünstigen Ueberwachungskamera mittels eines Raspberry PI als Mikrocomputer. Es werden Videos in HD Qualität bei Bewegung aufgezeichnet und mittels WiFI auf einen Cloud hochgeladen. Live – Bilder und Wetterdaten sind mittels Webbrowser auf Smartphone oder Computer jederzeit sichtbar. Normalerweise ist so eine Einrichtung ein Kostenfaktor, aber diese Lösung ist für ca. 100 chf machbar.

Ich wiederhole hier nochmals die Daten aus einem vorhergehenden Artikel, was wir bei diesem Projekt benötigen sind:

Einen Raspberry Pi mit 700Mhz ARM Prozessor und 512MB RAM bestückt. (Variante B Rev.2).

Als Betriebssystem verwende ich ein spezielles Linux Derivat, das bereits auf den ARM Prozessor abgestimmt ist. Das Raspian Image (zip File) kann von dieser Seite heruntergeladen und entpackt werden.

Nebst einem bestehenden PC mit SD-Card Reader, Netzwerkkabel, Wlan-Router habe ich folgende Hardware beschafft:

Steckernetzteil 5.25V 1.5A (Speziell für den Pi entwickelt)

8 GB SDHC Speicherkarte, Class 10 (Kingston, SanDisk,Transcend)

Miniature WiFi (802.11b/g/n) Modul für Raspberry Pi

PiNoIR Camera Modul mit Flachbandkabel

Steckbrett mit div Male/Female Kabeln, 10 kOhm Widerstand

DS18B20 Temperatursensor

BMP085 Luftdrucksensor

DHT11 Temperatur/Feuchtigkeitssensor

Dummy Ueberwachungskameragehäuse

Lieferbar z.B. Pi-Shop, Amazon, RS Component, Digitec

Webcam

Bei Betriebssystemen die auf Linux aufbauen kann man die gesamte Arbeit auf der Kommandozeile oder eben im Terminal erledigen. Wir stecken also die Speicherkarte in einen Computer oder Laptop und geben:

fdisk -l

Die SDHC Karte wird beispielsweise mit sdb1 angegeben, was darauf hinweist das wir die SDHC Karte mit sdb ansprechen.
Nun wechseln wir ins Directory wo sich unser entpacktes Raspian image befindet z.B.:

cd /home/user/download

Mit dem Befehl:

dd bs=4M if=xxx-wheezy-raspian.img of=/dev/sdb

kopieren wir das Image auf die SDHC Karte. Dies geht ca. 2 Minuten
Stecken Sie die Karte in Ihren Raspberry, verbinden Sie mit dem Netzwerkkabel und starten Sie den Raspi.
Finden Sie in Ihrem Router die IP Adresse heraus und gehen per SSH auf Ihren Raspi z.B. ssh pi@192.168.178.200 antworten Sie mit

yes und password raspberry

Jetzt sind Sie auf der Konsole vom Raspi und werden hier noch einige Aenderungen vornehmen:
Zuerst aktivieren wir das WiFi, indem wir die Datei folgendermassen anpassen z.B:

nano /etc/network/interfaces

auto lo
iface lo inet loopback
 iface eth0 inet dhcp
allow-hotplug wlan0
 iface wlan0 inet manual
 wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
 iface default inet static
 address  192.168.178.200
 netmask  255.255.255.0
 gateway  192.168.178.1

Die WPA Konfiguration für den WiFi Router noch eingeben, nano /etc/wpa_supplicant/wpa_supplicant.conf:


ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="Ihre SSID"
psk="Ihr WPA Code"
# Protocol type can be: RSN (for WP2) and WPA (for WPA1)
proto=WPA
# Key management type can be: WPA-PSK or WPA-EAP (Pre-Shared or Enterprise)
key_mgmt=WPA-PSK

# Pairwise can be CCMP or TKIP (for WPA2 or WPA1)
pairwise=TKIP

#Authorization option should be OPEN for both WPA1/WPA2 (in less commonly used $
auth_alg=OPEN
}

Wir starten den Raspi neu und prüfen, ob Wlan funktioniert ohne Ethernetkabel, dazu geben wir den Befehl ein: reboot
Falls Verbindung mit WiFi klappt geht’s weiter, ansonsten mit Ethernetkabel nochmals überprüfen, wo der Fehler liegt. Evtl muss SD Karte neu kopiert werden 😦
Mit ssh pi@192.168.178.200 sind wir mit WiFi wieder im Raspi und können noch die weiteren Befehle eingeben!
Jetzt updaten wir mal den Raspi:


sudo su
apt-get update
apt-get upgrade
apt-get install rpi-update
rpi-update
 

Wir konfigurieren den Raspi auf unsere Bedürfnisse und geben ein:

raspi-config

Expand Filesystem,Passwort ändern,Zeit,Sprache,Kamera ein, SSH ein, Optionen.Hostname etc.
Nun gehts weiter mit Zusatzsoftware installieren z.B Motion (Kamerasteuerung) Wir installieren zuerst das Standardpaket um alle Abhängigkeiten korrekt zu haben und ändern nachher auf eine Spezialversion (in Dropbox), die auf die Raspi Camera angepasst wurde:

apt-get install motion
cd /tmp
sudo apt-get install -y libjpeg62 libjpeg62-dev libavformat53 libavformat-dev libavcodec53 libavcodec-dev libavutil51 libavutil-dev libc6-dev zlib1g-dev libmysqlclient18 libmysqlclient-dev libpq5 libpq-dev
wget https://www.dropbox.com/s/xdfcxm5hu71s97d/motion-mmal.tar.gz
tar zxvf motion-mmal.tar.gz
sudo mv motion /usr/bin/motion
sudo mv motion-mmalcam.conf /etc/motion.conf
sudo nano /etc/default/motion

change line:

start_motion_daemon=yes

Weiter gehts:

sudo nano /etc/motion.conf
sudo chmod 664 /etc/motion.conf
sudo chmod 755 /usr/bin/motion
sudo touch /tmp/motion.log
sudo chmod 775 /tmp/motion.log

Im motion.conf ändern wir:nano /etc/motion.conf

daemon on
logfile /tmp/motion.log
width 640
height 480
framerate 2
pre_capture 2
post_capture 2
max_mpeg_time 600
fmpeg_video_codec msmpeg4
stream_localhost off

Da die SD Karte nicht viel Speicher hat werden wir später Videos auf einen Cloud hochladen.
In der Zwischenzeit eröffnen wir einen Pfad wo Fotos und Videos von Motion abgelegt werden:


mkdir /home/pi/Bilder  

Und im motion.conf ändern wir target dir /home/pi/Bilder

jetzt kann man motion starten:motion motion.conf >> LED rot leuchtet an Camera auf! Wir probieren Mal den Livestream im Webbrowser: http://192.168.178.200:8080 (8080 ist der Streamport den wir beliebig wählen können im motion.conf)


Nun Gehts weiter für die Sensoren: Billige digitale Temperatursensoren wie zb DS18B20 (siehe Amazon) 1-wire digital temperature sensor. Installation kann zb auf der linken Seite unten in der Webcam eingetragen werden Dazu die 1 wire anschlüsse installieren siehe hier http://www.raspberrypi-spy.co.uk/2013/03/raspberry-pi-1-wire-digital-thermometer-sensor/ Details und Verdrahtung auf einem Steckbrett sind dort gut dargestellt. Hier mein modifiziertes Programm:

 

nano sensor2motion.sh

#!/bin/bash

#########################################################################

#Name: sensor2motion.sh
#Subscription: This script fetches the tempreature from a sensor and send the forecast to motion
#by A. Laub
#andreas[-at-]laub-home.de
#Set the language
export LANG="de_DE.UTF-8"
#Load the Pathes
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 

#set the variables:

TEMP1=$(echo " $(grep 't=' /sys/bus/w1/devices/w1_bus_master1/28-00000585d789/w1_slave | awk -F't=' '{print $2/1000}')" )

#start the things

TEXT="Aussentemperature: $TEMP1 C"

# Set on Camera Image0

wget -q --delete-after "http://localhost:8081/0/config/set?text_left=$TEXT"

 im crontab -e

fügen wir diese zeile ein:

* * * * /home/pi/sensor2motion.sh*

Wir werden nun einige Programme in Python verwenden um weitere Schritte zu unternehmen dazu überprüfen wir, ob die entsprechenden Programme schon auf dem Raspi installiert sind:

apt-get install python
apt-get install python-pip
pip2 install gdata

Um Bilder und Videos im Google Drive hochzuladen kann dieses Python Programm weiterhelfen, Details siehe:

http://jeremyblythe.blogspot.pt/2012/06/motion-google-drive-uploader-and.html

Beim update von Raspian siehe uname -a! Falls Kernel grösser 3.18 dann sollte Raspi Config gemäss:

https://learn.adafruit.com/adafruits-raspberry-pi-lesson-4-gpio-setup/configuring-i2c

angepasst werden!

Um Feuchte und Temperatur zu messen habe ich folgende Anleitung angewendet funktioniert einwandfrei:

https://chrisbaume.wordpress.com/2013/02/10/beer-monitoring/

Damit ist ein tolles Tool aus der Webcam geworden! Viel Spass

Advertisements