WEB Radio hören mit dem PI

Es gibt mehre emöglichkeiten,aberd ie einfachste ist wohl mg321

Installation mittels  sudo apt-ge install mpg321

Das Abspielen von von MP3 Quellen (zB Bayern 3) erfolgt dann mittels
mpg321 http://br-mp3-bayern3-s.akacast.akamaistream.net/7/464/142692/v1/gnl.akacast.akamaistream.net/br_mp3_bayern3_s

Achtung!
mpg321 kann keine m3u Listen abspielen!

Optional erhältlich zu den PI Medellen ist die Rasppi CAM (z.B. bei Reichelt)

 

Die Einrichtubng der CAM ist hier sehr schön beschrieben.

Einrichtung Motion-Detection Software

siehe dazu auch:  Artikel in der PC-Welt

Vorausgesetzt wird, das die USB Cam ordnungsgemäß erkannt wurde.
Installieren der Motion Software

  1. sudo apt-get install motion          (19Mb)
    „/etc/init.d/motion“ --> YES
  2.  Motion manuell starten
    sudo /etc/init.d/motion start
  3.   (nur zum Testen bzw Fehler ermitteln)
    sudo motion
  4. Erweiterte Rechte vergeben
    sudo chgrp +r /etc/modtion/*.conf
  5. Konfiguration in /etc/motion/motion.conf
    webcam_ localhost off
  6. Browser 192.168.1.XXX:8081
  7. Kontrolle Bewegungserkennung (mittels FTP oder via ls)
    momentan liegen die Bilder in /tmp/motion
  8. Konfigurationen vornehmen (je nach Bedarf)

Einrichtung PI-Video

Mittels des Kommandos raspivid kann ein Video[stream] bereitgestellt werden.
Zu beachten ist, dass während das Kommand raspivid läuft keine Bilder mit der Cam aufgenommen werden können.
Will man ein Bild machen, so ist vorher das raspivid Kommand zu beende, da die Kamera als "globale" Ressource sonst blockiert ist.

Ich habe das ganze in 2 Scripte verpackt:

video.sh

startet den Videostream
raspivid -o - -t 0 -hf -w 600 -h 300 -fps 5 |cvlc stream:///dev/stdin --sout '#standard{access=http,mux=ts,dst=:6666}' :demux=h264
 

novideo.sh

beendet den Videostream
pid=`ps -ef | grep -v grep|grep vlc| awk {'print $2'}`
if test $pid > 0 ; then  
   kill -9 $pid  
sleep 1
fi

Aufgerufen wird das ganze über das folgende Scrip

#!/bin/bash

./novideo.sh

xx=`date +%H%M`
echo Snapshoot $xx 
/home/pi/picture $xx

USER=xxxxxxxxxxxxxxx
PASSWD=xxxxxxxxxxxxxx

raspistill -t 0 -o /home/pi/smartcam/$xx.jpg

ftp -n webftp55.1blu.de < user $USER $PASSWD
binary
passive
cd picture/
lcd picture
put $xx.jpg
quit
SCRIPT

./video.sh &

Cron Eintrag (crontab  –e )

# m h  dom mon dow   command
* * * * * /home/pi/pic2ftp

Soll auf den Pi ohne Netzwerkkabel, also mittels WLAN zugegriffen werden, so brauch man erst mal einen WLAN Stick.
Diesbezüglich bietet sich der EDIMAX Nano USB Adapter  an.

www.reichelt.de

 

Einrichtung WLAN

Als erstes sollte man, mittels des Kommandos  

lsusb nachsehen, ob der Stick auch wirklich von Pi erkannt wurde.

Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 004: ID 7392:7811 Edimax Technology Co., Ltd EW-7811Un 802.11n Wireless Adapter

Nun gilt es die WLAN Einstellungen  zu tätigen. Dazu gibt es verschiedeneMöglichkeiten.
Ich bevorzuge die Datei:

/etc/network/interfaces

auto lo
iface lo inet loopback

iface eth0 inet static
    address 192.168.1.69
    netmask 255.255.255.0
    gateway 192.168.1.2

auto wlan0
allow-hotplug wlan0
iface wlan0 inet static
    address 192.168.1.68
    netmask 255.255.255.0
    gateway 192.168.1.2
wpa-ap-scan 1
wpa-scan-ssid  1
wpa-ssid "yyyyyyyyy"
wpa-psk "xxxxxxxxxx"

iface default inet dhcp

Dabei sind xxxx und yyyy natürlich durch die korrekten SSID und PSK zu ersetzen!

Mittels des Kommandos ifconfig kann nun geprüft werden ob der Stick korrekt funktioniert:

eth0    Link encap:Ethernet  Hardware Adresse b8:27:eb:00:19:0c
          inet Adresse:192.168.1.69  Bcast:192.168.1.255  Maske:255.255.255.0
          UP BROADCAST MULTICAST  MTU:1500  Metrik:1
          RX packets:1828 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:1000
          RX bytes:84734 (82.7 KiB)  TX bytes:350 (350.0 B)

lo        Link encap:Lokale Schleife
          inet Adresse:127.0.0.1  Maske:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metrik:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

wlan0  Link encap:Ethernet  Hardware Adresse 80:1f:02:d2:99:b7
          inet Adresse:192.168.1.68  Bcast:192.168.1.255  Maske:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1
          RX packets:4244 errors:0 dropped:4512 overruns:0 frame:0
          TX packets:386 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:1000
          RX bytes:509651 (497.7 KiB)  TX bytes:72639 (70.9 KiB)

Falls die eth0 und wlan0 im selben Netz liegen, so sind ggf die MAC Adressen am Router gleich, da über ein Interface auf die andere IP geroutet wird. Erst wenn das Netzwerkkabel abgezogen wird, unterschieden sich die Adressen.
Wird der Pi gestartet und es ist kein Netzwerkkabel angeschlossen, so wird Interface eth0 nicht aktiviert und bekommt keine IP Adresse. Auch nicht, wenn diese statisch vergeben wurde. Somit kann der PI unter der eth0 IP über den WLAN Adapter nicht erreicht werden.ird (auch nur Kurz) über eth0 eine Netzwerkverbindung hergestellt (Kabel anschießen), so wird eth0 aktiviert und somit auch die IP vergeben. Im weiteren (Kabel ist abgezogen), kann der PI auch über diese IP erreicht werden (über WLAN).

Mittels des Kommandos iwlist wlan0 scanning kann man mal nachsehen "wer so alles da ist".

wlan0     Scan completed :
          Cell 01 - Address: 20:AA:4B:08:56:8D
                    ESSID:"xxxxxxxxx "
                    Protocol:IEEE 802.11bg
                    Mode:Master
                    Frequency:2.437 GHz (Channel 6)
                    Encryption key:on
                    Bit Rates:54 Mb/s
                    Extra:rsn_ie=
                    IE: IEEE 802.11i/WPA2 Version 1
                        Group Cipher : CCMP
                        Pairwise Ciphers (1) : CCMP
                        Authentication Suites (1) : PSK
                    Quality=100/100  Signal level=51/100

          Cell 02 - Address: C0:C1:C0:C2:D4:48
                    ESSID:"yyyyyyyyyyyyy"
                    Protocol:IEEE 802.11bgn
                    Mode:Master
                    Frequency:2.437 GHz (Channel 6)
                    Encryption key:on
                    Bit Rates:300 Mb/s
                    Extra:rsn_ie=
                    IE: IEEE 802.11i/WPA2 Version 1
                        Group Cipher : CCMP
                        Pairwise Ciphers (1) : CCMP
                        Authentication Suites (1) : PSK
                    Quality=100/100  Signal level=64/100

 

PI als Videorecorder

In Verbindungmit einer externen [USB] Platte und einer IP Netzwerkkamera kann man den PI als Recorder benutzen.

Dazu ist als erstes das ffmpeg Package erforderlich, welches mit sudo apt-get install ffmpeg installiert werden muß.

Nun ermittelt man den korrekten Link, auf welchem die Kamera den RTSP Datenstream sendet.
Dazu kann man am besten VLC benutzen. Der Link sollte im Internet Explorer oö. schon mal getestet werden.
Beispiel: rtsp://192.168.1.93:554

Mittels ffmpeg kann man nun den Datenstrom der Kamera in eine Datei wegschreiben.
ffmpeg -i rtsp://192.168.1.93:554 -metadata title "IPCAM" -vcodec copy -an -y -t 600 /mnt/irgendwo/cam.mp4

Dabei ist 

-i rtsp://192.168.1.93:554                   der Inputdatenstream
-metadata title "IPCAM" die Metadaten (hier der Video Titel)
-vcodec copy        der spezial Codec, INPUT=OUTPUT, keine Umcodierung
-y evt. vorhandene Ausgabedatei überschreiben
-an keine Tonspur
-t 600 600 sec. alo 10min aufzeichnen
/mnt/irgendwo/cam.mp4       der AUsgabedateiname

Mit einem Trick kann man dafür sorgen, dass die Platte nicht überläuft.
Man benennt die Datei dynamisch anhand der Uhrzeit und weitere Werte.
Beispiel:  /mnt/irgendwo/cam$(date +"%w%H%M").mp4    

Damit wird der Dateiname nach dem Wochentag der Stunde und Minute benannt (Bsp. cam32210.mp4).

Trägt man das ganze noch in der corntab ein
sudo crontab -e
# m    h  dom mon dow   command
 */10  *   *   *   *    /home/pi/rec10m.sh
so startet aller 10min eine Aufzeichnung von 10min Video.

Das 10min Intervall kann natürlich geändert werden, sollte aber nicht allzu groß gewählt sein,
um bei einem Netz oder Kameraausfall, nicht mehrere Stunden MP4 Material zu verlieren.
Bei einem 10min Interval sind eben nur diese 10min weg, wenn das Netz mal kurz ausfällt.

Einrichtung LAN

Um den PI in ein Netzwerk einzubinden sind im Normalfall nur wenige Schritte notwendig.
Entweder das geschieht über die Installationsoberfläche (Tastatur und HDMI Gerät notwendig),
oder man macht das mittels SSH.

Wird der Pi an ein Netzwerkkabel angeschlossen, holt er sich per Defaultkonfiguration per DHCP seine Netzwerkkonfiguartion. Hat man die IP des Pi mit einem geeignten Tool ermitteln
(auf dem Router nachsehen oder zB. Netscan ) , kann man sich mittels SSH darauf verbinden.

Um dem Pi eine feste IP zuzuweisen,passt man die

/etc/network/interfaces an

auto lo
iface lo inet loopback

iface eth0 inet static
    address 192.168.1.69
    netmask 255.255.255.0
    gateway 192.168.1.

   
© ALLROUNDER