Heute möchte ich euch zeigen, wie ihr die Wetterstation WS3080
mit WeeWx zum laufen bekommt.
Die Wetterstation WS3080 bietet für 100 € einige Sensoren und einen USB-Anschluss zur Logdatenerfassung.
Als Software verwende ich Weewx, welche eine sehr ausführliche Installationsanleitung bietet.
Für die WS3080 müssen wir den Treiber fousb verwenden.
Bei laufendem Apache kann in der Config WeeWx.conf einfach der
Pfad /var/www/weewx eingetragen werden.
Die Zeiten der Aktualisierung der Daten lassen u.U. sehr sehr lange auf
sich warten, da die Wetterstation die Zeitvorgabe des Archiving-Intervalls
überschreibt.
Nun zur Installation:
wget http://sourceforge.net/projects/weewx/files/weewx_2.4.0-1_all.deb
dpkg --install weewx_2.4.0-1_all.deb
apt-get install -f
danach erscheint ein Konfigurationsfenster, in dem Ihr den Ort und die Koordinaten eintragen
müsst. Vorsicht! die genaue Schreibweise verwenden !
Bei Weather Station Type wählen wir FineOffsetUSB aus und geben im nächsten Fenster WS3080 ein.
nach der Installation prüfen wir, ob Werte gelesen werden mit:
wee_config_fousb --info
und setzen das Logging-Interval auf 1 Minute
wee_config_fousb --set-interval=1 -y
danach erstellen wir im Apache-Ordner noch einen Ordner für WeeWx:
cd /var/www
mkdir weewx
chmod 777 weewx
Danach gehts an die Config mit
nano /etc/weewx/weewx.conf
und setzen
week_start auf 0 für Montag,
Polling_Mode auf ADAPTIVE,
archive_interval auf 60,
record_generation auf Software
und starten den Service mit
service weewx restart
durch. (Bei Fehler nochmal).
danach editieren wir die Konfigurationsdateien fürs Web.
die /etc/weewx/skins/Standard/standard.conf
=> Hier tragen wir für alle Fahrenheit-angaben C ein und
für alle Meilen Km.
in der /etc/weewxskins/Index-default.tpl tragen wir (wenn wir so
möchten) noch die InHumidity als HTML Row ein.
Danach nochmal Speichern und neustarten.
Deinstallieren:
dpkg -r weewx
dpkg --purge weewx
sudo rm -r /var/lib/weewx
sudo rm -r /var/www/weewx
Raspi als Car-PC vorbereiten
Raspi als Car-PC vorbereiten
Für Automatisierung von Tastatur- und Mausaktionen:
apt-get install xkbd (Virtuelle Tastatur)
apt-get install xautomation (für xte)
apt-get install xnee http://xnee.wordpress.com/ (xresponse)
Für Automatisierung von Tastatur- und Mausaktionen:
apt-get install xkbd (Virtuelle Tastatur)
apt-get install xautomation (für xte)
apt-get install xnee http://xnee.wordpress.com/ (xresponse)
Beispiele:
xresponse -k Tab,100 -t Hello -k Return,100
xresponse -k Tab,100 -w 1 xresponse -t Hello -w 1 xresponse -k Return,100 -w 1
xresponse -k Tab,100 -b 250 xresponse -t Hello -b 250 xresponse -k Return,100 -b 250
XBMC
folgenden Text am Ende einfügen: deb http://archive.mene.za.net/raspbian wheezy contrib
STRG + O + STRG + X
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key 5243CDED
sudo apt-get install xbmc
VLC-Player installieren:
apt-get install vlc
apt-get update
apt-get upgrade
VLC-Player installieren:
apt-get install vlc
BLUETOOTH CSL - USB nano Bluetooth-Adapter V4.0
sudo apt-get install bluetooth bluez-utils blueman
VNC Server
Als erstes holen wir uns mit apt-get update die aktuellsten Pakete.
Danch führen wir apt-get install tightvncserver aus.
Jetzt starten wir den Server mit
tightvncserver
und vergeben ein Kennwort für den Server.
und schon kann es losgehen, indem wir eine neue Session mit
vncserver :1 -geometry 1024x768 -depth 24 -- httpport 9501
öffnen .
Um den VNCServer beim Booten mitzustarten legen wir ein Startscript mit folgendem Inhalt unter /etx/init.d ab:
danach noch folgende Befehle ausführen:
sudo chown root:root /etc/init.d/vncserver
sudo chmod 0755 /etc/init.d/vncserver
sudo update-rc.d vncserver defaults
Im Windows holen wir uns einen VNC-Client, UltraVNC ist hier meine wahl
und geben als IP-Adresse die Adresse des Raspberry ein und danach den Port (:9501)
schon sehen wir das LXDE im VNC-Viewer.
Navis:
apt-get install monav
apt-get install navit
Messenger:
apt-get install pidgin
Chrome:
sudo apt-get install chromium-browser
Verbindung zum Mobiltelefon
apt-get install gammu
apt-get install xgnokii
Tethering über Android einrichten
SICHERUNG MACHEN !!!!!!!!!!!!!!!!!!
und die Feineinstellungen im Auto vornehmen.
Read-Only Pi:
http://raspberrycenter.de/forum/umruestung-raspberry-pi-read-only-root-filesystem
Swap-File abschalten
Zuerst sollte man das Swap-File ausschalten und deaktivieren. Hierzu kann man zuerst folgendes ausführen:
# dphys-swapfile swapoff
# dphys-swapfile uninstall
Danach sollte der vom Init gestartete Service ausgeschaltet werden:
# update-rc.d dphys-swapfile disable
mount -o remount,rw /
VNC Server
Als erstes holen wir uns mit apt-get update die aktuellsten Pakete.
Danch führen wir apt-get install tightvncserver aus.
Jetzt starten wir den Server mit
tightvncserver
und vergeben ein Kennwort für den Server.
und schon kann es losgehen, indem wir eine neue Session mit
vncserver :1 -geometry 1024x768 -depth 24 -- httpport 9501
öffnen .
Um den VNCServer beim Booten mitzustarten legen wir ein Startscript mit folgendem Inhalt unter /etx/init.d ab:
#!/bin/sh
#
# /etc/init.d/vncserver this Script
# /usr/bin/vncserver Program
#
### BEGIN INIT INFO
# Provides: tightvncserver
# Required-Start: $syslog
# Required-Stop: $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: vnc server
# Description:
#
### END INIT INFO
# Check for missing binaries
FOO_BIN=/usr/bin/vncserver
test -x $FOO_BIN || exit 5
# User, unter dem der VNC-Server ausgefuehrt wird
VNC_USER=""
export VNC_USER
# Set HOME of User
HOME=""
export HOME
# Set ID for Connections
FOO_ID=1
case "$1" in
start)
echo -n "Starting Vnc-Server with Terminal-ID $FOO_ID "
# Delete old PIDs
rm -f $HOME/.vnc/$HOSTNAME:$FOO_ID.pid
if [ -e $HOME/.vnc/$HOSTNAME:$FOO_ID.log ]; then
cat $HOME/.vnc/$HOSTNAME:$FOO_ID.log >> /var/log/vncserver.log 2>&1
rm -f $HOME/.vnc/$HOSTNAME:$FOO_ID.log
fi
sudo -u $VNC_USER -H $FOO_BIN :$FOO_ID 2>&1
;;
#
stop)
echo -n "Shutting down Vnc-Server "
$FOO_BIN -kill :$FOO_ID 2>&1
cat $HOME/.vnc/$HOSTNAME:$FOO_ID.log >> /var/log/vncserver.log 2>&1
rm -f $HOME/.vnc/$HOSTNAME:$FOO_ID.log
;;
#
restart)
$0 stop
$0 start
;;
#
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
;;
esac
danach noch folgende Befehle ausführen:
sudo chown root:root /etc/init.d/vncserver
sudo chmod 0755 /etc/init.d/vncserver
sudo update-rc.d vncserver defaults
Im Windows holen wir uns einen VNC-Client, UltraVNC ist hier meine wahl
und geben als IP-Adresse die Adresse des Raspberry ein und danach den Port (:9501)
schon sehen wir das LXDE im VNC-Viewer.
Navis:
apt-get install monav
apt-get install navit
Messenger:
apt-get install pidgin
Chrome:
sudo apt-get install chromium-browser
Verbindung zum Mobiltelefon
apt-get install gammu
apt-get install xgnokii
Tethering über Android einrichten
Nachdem wir das Handy angesteckt haben prüfen wir mit ifconfig ob das Netzwerkinterface usb0 vorhanden ist.
Mit einem sudo dhclient usb0 starten wir DHCP auf diesem Interface
nano /etc/network/interfaces
und folgendes dort am Ende einfügen:
iface usb0 inet dhcp
danach folgendes ausführen:
ifup usb0
mit ifconfig prüfen ob USB0 eine Ip-Adresse erhalten hat.
Anschließend:SICHERUNG MACHEN !!!!!!!!!!!!!!!!!!
und die Feineinstellungen im Auto vornehmen.
Read-Only Pi:
http://raspberrycenter.de/forum/umruestung-raspberry-pi-read-only-root-filesystem
Swap-File abschalten
Zuerst sollte man das Swap-File ausschalten und deaktivieren. Hierzu kann man zuerst folgendes ausführen:
# dphys-swapfile swapoff
# dphys-swapfile uninstall
Danach sollte der vom Init gestartete Service ausgeschaltet werden:
# update-rc.d dphys-swapfile disable
mount -o remount,rw /
Spannungsversorgung:
Hintergrund:
Mein Fahrzeug (Golf 6) schaltet die Stromversorgung
des Zigarettenanzünders beim Starten und Stoppen des
Motors aus (komplett aus, keine Versorgung vom
Zigarettenanzünder an die Batterie => Deshalb keine
Diode beim laden der Goldcaps). Wenn ich jetzt das
Fahrzeug starte und den Motor abstelle, so soll der Raspi
die Spannungslose Zeit über die Goldcaps überbrücken.
Nach vielen Bastlereien und Lötereien ist die am besten geeignetste
Lösung auch die simpelste: 14 Goldcaps parallel geschalten, die Direkt
vom Zigarettenanzünder geladen werden. Der Raspi samt USB-Hub
ebenfalls parallel zu der Schaltung.
Bei I > 0,50 wird der Raspi zwar noch versorgt, jedoch brechen die USB-
Geräte teils für den gesamten Betrieb bis zum Neustart weg. Ich werde
weitere Versuche mit einem Step-Up Converter machen, der bis 3.5V die
Spannung konstant auf 5V hält. Das USB-Hub sollte mitversorgt werden,
da ansonsten 1. die Geräte wegbrechen (dauerhaft) und 2. der Raspi durch
das erkennen und entfernen der USB-Geräte enorme zicken macht !
Nachteil der Schaltung ist dass der Raspi durch das auf- und abbauen
der Spannung der Kondensatoren ~ 3 Neustarts versucht, die nach kurzer
Zeit (5 Sec. bis zum Anstieg des Stromes auf ~ 0,4 A) wieder zu einem
Neustart führt. Ich denke dass dieses Problem mit dem Step-Up ebenfalls
behoben wird.
gemessene Werte:
Raspi I(A):
Min / Norm / Max
0,34 / 0.34 / 0,43
0,13 - 0,20 beim booten (Die ersten 5 Sec.)
(Abschaltung bei 4,20V- 4,12V)
Raspi am USB Hub mit Wlan, BT und Tastatur I(A):
Min / Norm / Max
0,48 / 0,53 / 0,60
+ Maus (optisch) + Handy (Laden + Tethering)
Min / Norm / Max
0,59 / 0,59 / 0,60
1 Goldcap 1F 5,5V
Ladestrom: 0,10 A
Max Ausgang: 0,10 A
So ergibt sich für meine Spannungsversorgung:
14F 5,5V Parallel (Ladestrom 1,4 A) + 0,6 A Raspi
= 2A USB-Adapter
durch die Ladekurve der Kondesatoren (Stromaufnahme
verringert sich nach ~ 2Sec enorm können Max. 18 Goldcaps
verbaut werden => 18F, 5,5 V.
Möglicherweise auch 20F wenn die sichergestellt ist dass die
Goldcaps vorgeladen sind (die Goldcaps nicht komplett entladen werden).
Somit ist die Startlast wiederrum < 2A. Ebenfalls zu berücksichtigen ist dass
die 2A (meine Meinung) sich auf eine Dauerlast beziehen und eine kurzfristige
Überlast aushalten. Die Erstladung der Goldcaps stellt eine *kurzfristige*
Überlast dar ...
Links:
http://www.therasberrypi.com/how-to-usb-tether-android-to-your-raspberry-pi/
http://www.elstel.org/Handy.html#creatdev
http://michael.gorven.za.net/blog/2012/08/06/xbmc-packages-raspberry-pi-running-raspbian#comment-116
https://www.modmypi.com/blog/installing-the-raspberry-pi-nano-bluetooth-dongle
http://wiki.openmoko.org/wiki/Manually_using_Bluetooth
Hintergrund:
Mein Fahrzeug (Golf 6) schaltet die Stromversorgung
des Zigarettenanzünders beim Starten und Stoppen des
Motors aus (komplett aus, keine Versorgung vom
Zigarettenanzünder an die Batterie => Deshalb keine
Diode beim laden der Goldcaps). Wenn ich jetzt das
Fahrzeug starte und den Motor abstelle, so soll der Raspi
die Spannungslose Zeit über die Goldcaps überbrücken.
Nach vielen Bastlereien und Lötereien ist die am besten geeignetste
Lösung auch die simpelste: 14 Goldcaps parallel geschalten, die Direkt
vom Zigarettenanzünder geladen werden. Der Raspi samt USB-Hub
ebenfalls parallel zu der Schaltung.
Bei I > 0,50 wird der Raspi zwar noch versorgt, jedoch brechen die USB-
Geräte teils für den gesamten Betrieb bis zum Neustart weg. Ich werde
weitere Versuche mit einem Step-Up Converter machen, der bis 3.5V die
Spannung konstant auf 5V hält. Das USB-Hub sollte mitversorgt werden,
da ansonsten 1. die Geräte wegbrechen (dauerhaft) und 2. der Raspi durch
das erkennen und entfernen der USB-Geräte enorme zicken macht !
Nachteil der Schaltung ist dass der Raspi durch das auf- und abbauen
der Spannung der Kondensatoren ~ 3 Neustarts versucht, die nach kurzer
Zeit (5 Sec. bis zum Anstieg des Stromes auf ~ 0,4 A) wieder zu einem
Neustart führt. Ich denke dass dieses Problem mit dem Step-Up ebenfalls
behoben wird.
gemessene Werte:
Raspi I(A):
Min / Norm / Max
0,34 / 0.34 / 0,43
0,13 - 0,20 beim booten (Die ersten 5 Sec.)
(Abschaltung bei 4,20V- 4,12V)
Raspi am USB Hub mit Wlan, BT und Tastatur I(A):
Min / Norm / Max
0,48 / 0,53 / 0,60
+ Maus (optisch) + Handy (Laden + Tethering)
Min / Norm / Max
0,59 / 0,59 / 0,60
1 Goldcap 1F 5,5V
Ladestrom: 0,10 A
Max Ausgang: 0,10 A
So ergibt sich für meine Spannungsversorgung:
14F 5,5V Parallel (Ladestrom 1,4 A) + 0,6 A Raspi
= 2A USB-Adapter
durch die Ladekurve der Kondesatoren (Stromaufnahme
verringert sich nach ~ 2Sec enorm können Max. 18 Goldcaps
verbaut werden => 18F, 5,5 V.
Möglicherweise auch 20F wenn die sichergestellt ist dass die
Goldcaps vorgeladen sind (die Goldcaps nicht komplett entladen werden).
Somit ist die Startlast wiederrum < 2A. Ebenfalls zu berücksichtigen ist dass
die 2A (meine Meinung) sich auf eine Dauerlast beziehen und eine kurzfristige
Überlast aushalten. Die Erstladung der Goldcaps stellt eine *kurzfristige*
Überlast dar ...
Links:
http://www.therasberrypi.com/how-to-usb-tether-android-to-your-raspberry-pi/
http://www.elstel.org/Handy.html#creatdev
http://michael.gorven.za.net/blog/2012/08/06/xbmc-packages-raspberry-pi-running-raspbian#comment-116
https://www.modmypi.com/blog/installing-the-raspberry-pi-nano-bluetooth-dongle
http://wiki.openmoko.org/wiki/Manually_using_Bluetooth
GUI Programmierung auf dem PI
GUI Programmierung auf dem PI
Mono
zuerst holen wir uns Mono mit:
apt-get update
apt-get upgrade
apt-get install mono-complete --fix-missing
anschließend öffnen wir Nano und fügen folgenden Sourcecode ein:
using System;
using System.Windows.Forms;
using System.Drawing;
class Programm{
public static void Main (string[] args){
Application.EnableVisualStyles();
var f = new Form();
f.SetBounds (0,0,200,200);
Application.Run(f);
}
}
und Speichern das ganze unter "Test.cs"
jetzt führen wir gmcs mit den Imports aus und compilieren unsere Anwendung:
gmcs test.cs /r:System.dll,System.Drawing.dll,System.Windows.Forms.dll
Im Ordner, in der unsere cs-Datei liegt finden wir jetzt auch eine .exe Datei mit dem
gleichen Namen.
Jetzt können wir die Anwendung auch schon Testen mit mono Test.exe
Bootauswahl mittels Raspiboot
Bootauswahl mittels Raspiboot auf einem USB-Stick.
Als erstes lade ich mir das Zip-Paket von
http://sourceforge.net/projects/berryboot/files/berryboot-cubieboard-beta6.zip/download
herunter.
Das entpackte Image lade ich mittels W32DiskImager auf die SD-Karte.
Der Raspi hat an einem USB-Anschluss eine Tastatur und am 2. USB einen USB-Stick angeschlossen.
Jetzt starte ich den Raspi mit der eingelegten SD-Karte.
Eine Benutzeroberfläche zeigt mir meinen USB-Stick an, den ich nach EXT4 Formatiere.
Nach dem Update des Raspiboot und anschließendem Neustart des Systems kann ich mir jetzt
mit "ADD OS" ein Betriebssystem aus der Auswahl aufspielen Bzw. ein Backup davon machen.
Ich wähle das Raspian aus, das auch gleich heruntergeladen und auf dem USB-Stick installiert wird.
Nachdem ich das heruntergeladene System auf Default gesetzt habe, wird nach dem Reboot ein Auswahlfenster mit den Betriebssystemen angezeigt, und das gewählte nach 10 Sec. gestartet.
Perfekt !
Projektseiten mit interessanten Projekten für den PI
Pi in das Automatisierungssystem EVAGui mit einbinden.
Schaut auch mal bei EVAGui2 (Windows-Tool für Automatisierung) vorbei !
Dort finden sich Projekte, wie ihr mit den Pi als Client für EVAGui2
Heimautomatisierungsprojekte umsetzen könnt.
Ein Blick lohnt auf alle Fälle !
DynDNS Client mit dem Raspberry
Alles was dazu benötigt wird, ist ein DynDNS.org Account und das Programm “ddclient” für Linux.
Installation:
Um ddclient zu installieren müssen lediglich folgende Befehle in die Shell eingegeben werden
sudo apt-get update
sudo apt-get install ddclient
Konfiguration:
Schon während der Installation startet der Konfigurationsassistent, der nachfragt, welcher DynDNS Service genutzt werden soll.
Im Anschluss müssen als erstes der Benutzername und das Passwort eingegeben werden.
Außerdem wird gefragt, ob der IPCheck von DynDNS genutzt werden soll. Diese Frage bestätigt man mit “yes“.
Ist dies erledigt, so muss nun nur noch die richtige Domain ausgewählt, und bestätigt werden. Dazu wird im ersten Schritt der Menüpunkt “From List” ausgewählt, und anschließend ein Sternchen vor der gewünschten Domain gesetzt werden.
TV-Streaming mit dem Pi
Dieser Artikel befindet sich gerade im Aufbau ...
Als erstes holen wir uns die aktuelle Version von GitHub mit
git clone https://github.com/tvheadend/tvheadend.git
danach wechseln wir in das Verzeichnis mit TVheadend
mit cd tvheadend.
dann updaten wir die Paketlisten mit
apt-get update && apt-get upgrade
apt-get install libssl.dev openssl.dev libcurl4-openssl-dev libavcodec-dev libavformat-dev libswscale-dev unrar-free
jetzt führen wir
./configure
make && make install aus, um die Pakete zu compilieren.
danach können wir das ganze auch schon mit tvheadend --noacl starten und einen
ersten Benutzer erstellen.
In meinem Fall habe ich auch einen 2. Streamingbenutzer ohne Kennwort erstellt, um
beim öffnen der Videos über VLC keine Benutzerdateneingabe machen zu müssen.
Nach dem Installieren der Pakete geht es nun an die Installation des Tevii DVB-S2 USB.
apt-get install -y mercurial gcc libc6-dev
wget http://www.tevii.com/dvb-usb.rar
wget http://www.tevii.com/dvb-fe-ds3000.rar
die Dateien entpacken wir und kopieren die fw-Dateien in den Ordner
cp -pv dvb-usb-s660.fw /lib/firmware
cp -pv dvb-fe-ds3000.fw /lib/firmware
Danach noch ein Neustart des Systems mit
init 6
Nach dem Neustart starten wir tvheadend und melden uns auf der Seite
http://IP-des-Raspi:9981 mit
Benutzernamen/Kennwort an, Gehen unter Configuration -> DVB Inputs -> TV-Adapters
und wählen unseren TV-Adapter aus. danach müssen wir den Satelliten (Bei mir Astra 19.2E) hinzufügen und einen ersten Scan ausführen.
Jetzt werden alle Sender des Satelliten gesucht. Nach der Suche können wir unter Mapping die gefundenen Sender auf Kanäle mappen.
ansehen kann man sich das ganze (SDTV und Radio) am besten mit dem VLC-Player
wenn wir den Link hinter "Play" kopieren und im VLC-Player öffnen und unsere Benutzerdaten
nochmals eingeben bzw. den allgemeinen Streaming-User * verwenden.
Links für VLC sind:
http://IP-Raspberry:9981/playlist/channels
um eine Auflistung der Kanäle zu erhalten
oder
http://192.168.1.110:9981/stream/channelid/15
um einen bestimmten Kanal aufzurufen.
Wenn wir eine Liste der aktuell laufenden Sendungen erhalten wollen dann können wir den Link
http://192.168.1.110:9981/epg
verwendn. Dieser Link liefert eine JSON-Datei zurück, die wir leicht (z.B. mit NodeBrowser aus EVACMD) parsen können.
... und hier wie gewünscht eine Anleitung für den Autostart:
Startscript erstellen für Tvheadend Server
nano /etc/init.d/tvheadend
mit diesem Inhalt füllen
#!/bin/bash
TVHNAME="tvheadend"
TVHBIN="/usr/local/bin/tvheadend"
TVHUSER="root"
TVHGROUP="root"
case "$1" in
start)
echo "Starting tvheadend"
start-stop-daemon --start --user ${TVHUSER} --exec ${TVHBIN} -- \
-u ${TVHUSER} -g ${TVHGROUP} -f -C
;;
stop)
echo "Stopping tvheadend"
start-stop-daemon --stop --quiet --name ${TVHNAME} --signal 2
;;
restart)
echo "Restarting tvheadend"
start-stop-daemon --stop --quiet --name ${TVHNAME} --signal 2
start-stop-daemon --start --user ${TVHUSER} --exec ${TVHBIN} -- \
-u ${TVHUSER} -g ${TVHGROUP} -f -C
;;
*)
echo "Usage: tvheadend {start|stop|restart}"
exit 1
esac
exit 0
Startscript ausführbar machen
chmod 755 /etc/init.d/tvheadend
und im Bootprozess anlegen
update-rc.d tvheadend defaults
USB Stick mit FAT 32 in fstab fest einbinden.
cd /media
mkdir DVBS
chmod -R 777 DVBS/
nano /etc/fstab
/dev/sda1 /media/DVBS auto defaults
mount -a
Links: http://christian-nagel.net/?p=285
Angetestet - Fedora für den Pi
Hier mal ein kleiner Test des angepassten Fedora-Linux für den Pi.
Erstmal muss man das Image von: http://pidora.ca/pidora/releases/18/images/pidora-18-r1c.zip
von http://pidora.ca/ herunterladen.
Danach beginnt das Entpacken des Images und das aufspielen auf die SD-Karte mithilfe von
Disk-Imager (Aus dem Blog Grundeinrichtung).
Nach dem aufspielen auf die SD-Karte und starten des PI finden wir auch gleich eine Benutzeroberfläche für die Konfiguration, die sehr schnell beendet ist.
Nach dem Setup können wir uns an dem XFCE-Desktop anmelden.
Spracherkennung auf dem RaspberryPi
Linkliste:
http://stevenhickson.blogspot.com/2013/05/voice-command-v20-for-raspberry-pi.html
http://aonsquared.co.uk/raspi_voice_control
http://voxforge.org/home/dev/acousticmodels/windows/create/htkjulius/tutorial/data-prep/step-1
Am besten funktioniert jedoch Atom Electron, welches ein NodeJS mit Webkit ist und Spracherkennung als HTML Api beinhaltet. Um an die Daten zu kommen verwende ich momentan Websockets. Bei Fragen meldet euch einfach !
http://stevenhickson.blogspot.com/2013/05/voice-command-v20-for-raspberry-pi.html
http://aonsquared.co.uk/raspi_voice_control
http://voxforge.org/home/dev/acousticmodels/windows/create/htkjulius/tutorial/data-prep/step-1
Am besten funktioniert jedoch Atom Electron, welches ein NodeJS mit Webkit ist und Spracherkennung als HTML Api beinhaltet. Um an die Daten zu kommen verwende ich momentan Websockets. Bei Fragen meldet euch einfach !
Ampache auf dem Raspi
apt-get install ampache
nach dem Setup im Browser mit
IP-DES-RASPBERRY/Ampache
starten.
und den Anweisungen für das Setup folgen.
Face Detection
Face Detection (Gesichtserkennung) auf dem Raspberry-PI:
Als erstes erstellen wir uns auf dem Raspi einen Ordner mit
mkdir facedetect && cd facedetect
danach installieren wir die Pakete mit:
apt-get install python-opencv festival
und laden uns die Dateien mit
git clone https://github.com/vectrasoft/raspi-face-talk.git
herunter.
schon können wir das ganze mit
python facedetect.py --cascade=face.xml 0
starten und sehen im Ausgabefenster einen Rahmen
um das erkannte Gesicht.
Ein zusätzliches Paket ist Motion, das ein Webinterface
und Bewegungserkennung bietet, dieses kann sogar mit
EVACMD verwendet werden, wenn es bei einem Ereignis
einen Code an das Webinterface per HTTPGet sendet.
VNC Server installieren
VNC Server installieren und starten ..
Als erstes holen wir uns mit apt-get update die aktuellsten Pakete.
Danch führen wir apt-get install tightvncserver aus.
Jetzt starten wir den Server mit
tightvncserver
und vergeben ein Kennwort für den Server.
und schon kann es losgehen, indem wir eine neue Session mit
vncserver :1 -geometry 1024x768 -depth 24 -- httpport 9501
öffnen .
Um den VNCServer beim Booten mitzustarten legen wir ein Startscript mit folgendem Inhalt unter /etx/init.d ab:
#!/bin/sh
#
# /etc/init.d/vncserver this Script
# /usr/bin/vncserver Program
#
### BEGIN INIT INFO
# Provides: tightvncserver
# Required-Start: $syslog
# Required-Stop: $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: vnc server
# Description:
#
### END INIT INFO
# Check for missing binaries
FOO_BIN=/usr/bin/vncserver
test -x $FOO_BIN || exit 5
# User, unter dem der VNC-Server ausgefuehrt wird
VNC_USER=""
export VNC_USER
# Set HOME of User
HOME=""
export HOME
# Set ID for Connections
FOO_ID=1
case "$1" in
start)
echo -n "Starting Vnc-Server with Terminal-ID $FOO_ID "
# Delete old PIDs
rm -f $HOME/.vnc/$HOSTNAME:$FOO_ID.pid
if [ -e $HOME/.vnc/$HOSTNAME:$FOO_ID.log ]; then
cat $HOME/.vnc/$HOSTNAME:$FOO_ID.log >> /var/log/vncserver.log 2>&1
rm -f $HOME/.vnc/$HOSTNAME:$FOO_ID.log
fi
sudo -u $VNC_USER -H $FOO_BIN :$FOO_ID 2>&1
;;
#
stop)
echo -n "Shutting down Vnc-Server "
$FOO_BIN -kill :$FOO_ID 2>&1
cat $HOME/.vnc/$HOSTNAME:$FOO_ID.log >> /var/log/vncserver.log 2>&1
rm -f $HOME/.vnc/$HOSTNAME:$FOO_ID.log
;;
#
restart)
$0 stop
$0 start
;;
#
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
;;
esac
danach noch folgende Befehle ausführen:
sudo chown root:root /etc/init.d/vncserver
sudo chmod 0755 /etc/init.d/vncserver
sudo update-rc.d vncserver defaults
Im Windows holen wir uns einen VNC-Client, UltraVNC ist hier meine wahl
und geben als IP-Adresse die Adresse des Raspberry ein und danach den Port (:9501)
schon sehen wir das LXDE im VNC-Viewer.
Webcam Server über FFMPEG und Motion
Webcam Server über FFMPEG und Motion
Um den Pi als Webcamserver zu verwenden benötigen wir die Software Motion, die wir einfach in der Konsole als Root mit dem Befehl:
apt-get update && apt-get upgrade
apt-get install motion
installieren können.
Nach der Installation können wir das Programm auf dem PI unter Localhost:8080 starten.
Um Motion von einem anderen Computer aus zu konfigurieren starten wir:
nano /etc/motion/motion.conf
und suchen nach der Zeile:
control_localhost on
Diese Zeile muss auf contol_localhost off geändert werden.
Nach dem Speichern mit Strg + O , Strg + X starten wir Motion erneut mit der eingabe
von "Motion" und können unter IP-Raspberry:8080 weitere Einstellungen konfigurieren.
unter Config-List im Webinterface können wir nun die Einzelheiten der Config bearbeiten.
Um den Pi als Webcamserver zu verwenden benötigen wir die Software Motion, die wir einfach in der Konsole als Root mit dem Befehl:
apt-get update && apt-get upgrade
apt-get install motion
installieren können.
Nach der Installation können wir das Programm auf dem PI unter Localhost:8080 starten.
Um Motion von einem anderen Computer aus zu konfigurieren starten wir:
nano /etc/motion/motion.conf
und suchen nach der Zeile:
control_localhost on
Diese Zeile muss auf contol_localhost off geändert werden.
Nach dem Speichern mit Strg + O , Strg + X starten wir Motion erneut mit der eingabe
von "Motion" und können unter IP-Raspberry:8080 weitere Einstellungen konfigurieren.
unter Config-List im Webinterface können wir nun die Einzelheiten der Config bearbeiten.
USB over IP
USB Over IP
Hier folgt demnächst eine Anleitung ...
http://www.raspberrypi.org/phpBB3/viewtopic.php?p=121691#p121691
Hier folgt demnächst eine Anleitung ...
sudo apt-get install git
git clone git://github.com/raspberrypi/linux.git kernel
cd kernel
wget https://raw.github.com/raspberrypi/firmware/master/extra/Module.symvers
zcat /proc/config.gz > .config
http://www.raspberrypi.org/phpBB3/viewtopic.php?p=121691#p121691
PHPMyAdmin (Datenbankverwaltung)
Installation von PHPMyAdmin auf dem PI
apt-get install phpmyadmin
und danach den Anweisungen auf dem Bildschirm folgen.
Als Webserver wählen wir Apache aus und vergeben ein Kennwort für
die Datenbank und für die Weboberfläche.
Nach der Installation ist PhpMyAdmin unter
http://IP-Adresse/phpmyadmin
erreichbar.
apt-get install phpmyadmin
und danach den Anweisungen auf dem Bildschirm folgen.
Als Webserver wählen wir Apache aus und vergeben ein Kennwort für
die Datenbank und für die Weboberfläche.
Nach der Installation ist PhpMyAdmin unter
http://IP-Adresse/phpmyadmin
erreichbar.
Grundeinrichtung des PI
Einrichtung des Raspberry Pi
Im 1. Schritt nehmen wir die Grundeinrichtung des Raspberry PI vor.
Dazu brauchen wir die Software DiskImager für Windows und das aktuellste Image (Raspbian “wheezy”) von RaspberryPi.org.
Im Diskimager wählen wir nur die SD-Karte und das gerade geladene Image aus.
Die SD-Karte sollte wenn möglich eine Class 10 SD-Karte sein, wenn wir den
Raspberry als Webserver betreiben wollen.
Meine Empfehlung ist hier eine
SanDisk Class 10 Ultra SDHC 8GB, die es schon für ~ 10 € gibt (Schreibrate 35MB/s)
oder eine
Sandisk Extreme Pro SDHC 8GB für ~ 20 €, (Schreibrate 95 MB/s ).
Die SD-Karte kann die Bootzeit und diverse Prozesse enorm beschleunigen.
Hier solle nicht gespart werden!
Danach flashen wir das geladene Image auf die SD-Karte, packen diese in den Raspberry-Pi.
Nach dem Booten wird auch gleich das Setup gestartet.
Mit der IP des des Raspberry (ifconfig) starte ich Putty und melde mich am PI an.
Eine 'neuere' Version von Putty ist Kitty.
Benutzername ist 'pi'
Kennwort ist 'raspberry'
Zudem empfehle ich den Download von WinScp, um Dateien vom Computer
und dem Raspberry auszutauschen.
Danach wechsle ich zu root mit sudo su und rufe die Konfiguration mit raspi-config auf.
sudo su
apt-get update
apt-get upgrade
apt-get install lsb-release git-core
wget https://raw.github.com/Hexxeh/rpi-update/master/rpi-update -O /usr/bin/rpi-update && sudo chmod +x /usr/bin/rpi-update
rpi-update
echo "" >> /etc/apt/sources.list
nano /etc/apt/sources.list
und fügen den kopierten Inhalt von:
Im 1. Schritt nehmen wir die Grundeinrichtung des Raspberry PI vor.
Dazu brauchen wir die Software DiskImager für Windows und das aktuellste Image (Raspbian “wheezy”) von RaspberryPi.org.
Im Diskimager wählen wir nur die SD-Karte und das gerade geladene Image aus.
Die SD-Karte sollte wenn möglich eine Class 10 SD-Karte sein, wenn wir den
Raspberry als Webserver betreiben wollen.
Meine Empfehlung ist hier eine
SanDisk Class 10 Ultra SDHC 8GB, die es schon für ~ 10 € gibt (Schreibrate 35MB/s)
oder eine
Sandisk Extreme Pro SDHC 8GB für ~ 20 €, (Schreibrate 95 MB/s ).
Die SD-Karte kann die Bootzeit und diverse Prozesse enorm beschleunigen.
Hier solle nicht gespart werden!
Danach flashen wir das geladene Image auf die SD-Karte, packen diese in den Raspberry-Pi.
Nach dem Booten wird auch gleich das Setup gestartet.
Mit der IP des des Raspberry (ifconfig) starte ich Putty und melde mich am PI an.
Eine 'neuere' Version von Putty ist Kitty.
Benutzername ist 'pi'
Kennwort ist 'raspberry'
Zudem empfehle ich den Download von WinScp, um Dateien vom Computer
und dem Raspberry auszutauschen.
Danach wechsle ich zu root mit sudo su und rufe die Konfiguration mit raspi-config auf.
- Expand RootFS aufrufen
- configure Keyboard- Set keyboard layout = Sprache des Keybords beantwortet man 2 mal mit "German". Die Frage, ob per Control+Alt-Backspace, den X-Server beendet werden soll, sollte man mit "Yes" beantworten.
- Change Password
- change_locale - Set locale = Hier de_DE ISO-8859-1 auswählen mit Leertaste
- .Im nächsten Fenster en_GB auswählen.
- Memory Split einstellen auf 16 MB (Über Terminal brauchen wir keine Grafik ...)
- Overclock auf Turbo (Es wird nur hochgetaktet wenn die Leistung benötigt wird. Bei Webanwendungen lief bei mir alles doppelt so schnell mit dieser Einstellung. Manche Benutzer melden jedoch Probleme mit der SD-Karte bei dieser Geschwindigkeit. Die CPU würde sich zurücktakten wenn Sie zu heiß werden würde.). Durch das Takten auf 1 GHz laufen die Gleitkommaberechnungen um ca. 64 % und die Integerberechnungen um ca. 52 % schneller. Zudem ist der Speicher rund 55 % schneller als zuvor. Alles in allem ein richtiger Kraftprotz mit diesen Einstellungen. Meine 2 Pi´s laufen sehr stabil mit diesen Einstellungen (kein Kühlkörper).
- Danch mit Finish einen neustart durchführen.
sudo su
apt-get update
apt-get upgrade
apt-get install lsb-release git-core
wget https://raw.github.com/Hexxeh/rpi-update/master/rpi-update -O /usr/bin/rpi-update && sudo chmod +x /usr/bin/rpi-update
rpi-update
echo "" >> /etc/apt/sources.list
nano /etc/apt/sources.list
und fügen den kopierten Inhalt von:
ein.
STRG+O + STRG + X
und zum Abschluss der Grundkonfiguration noch ein
init 6
An diesem Punkt der Konfiguration empfehle ich eine Sicherung des aktuellen Systems
mithilfe von Diskimager. Dazu einfach den Pfad unter Source eintragen und auf Lesen
drücken (z.B: C:\Wheezy_Update_1.bin).Sollte etwas schief laufen wollen wir nicht wieder Stunden warten bis alle Updates abgeschlossen sind.
Links: how-to-raspberry-pi-web-server
STRG+O + STRG + X
und zum Abschluss der Grundkonfiguration noch ein
init 6
An diesem Punkt der Konfiguration empfehle ich eine Sicherung des aktuellen Systems
mithilfe von Diskimager. Dazu einfach den Pfad unter Source eintragen und auf Lesen
drücken (z.B: C:\Wheezy_Update_1.bin).Sollte etwas schief laufen wollen wir nicht wieder Stunden warten bis alle Updates abgeschlossen sind.
Links: how-to-raspberry-pi-web-server
SNORT mit SNORBY (Intrusion Detection System)
Installation von Snort auf dem PI
Webserver installieren:
apt-get update
apt-get install apache2 apache2-utils apache2.2-bin apache2.2-common libapache2-mod-php5
MySQL Datenbankserver installieren:
apt-get install mysql-client mysql-common mysql-server libmysqlclient-dev
während der Installation müssen Sie ein Passwort für den User 'root' vergeben.
Dieses Kennwort wird uns noch lange begleiten...
Installation von Abhängigkeiten:
apt-get install g++ make autoconf automake libtool flex bison gcc libnet1 libnet1-dev libcrypt-ssleay-perl libpcre3 libpcre3-dev libphp-adodb libssl-dev libtool libwww-perl ntp php5-cli php5-gd php5-mysql php-pear
Installation von Abhängigkeiten für SNORT:
cd /usr/src
wget http://www.tcpdump.org/release/libpcap-1.3.0.tar.gz
wget http://libdnet.googlecode.com/files/libdnet-1.12.tgz
wget http://www.snort.org/dl/snort-current/daq-1.1.1.tar.gz
tar -zxf libpcap-1.3.0.tar.gz
tar -zxf libdnet-1.12.tgz
tar -zxf daq-1.1.1.tar.gz
rm *.tgz && rm *.tar.gz
cd libpcap-1.3.0 &&./configure --prefix=/usr --enable-shared && make && make install
cd ../libdnet-1.12 && ./configure --prefix=/usr --enable-shared && make && make install
cd ../daq-1.1.1 && ./configure && make && make install
Library-Pfad aktualisieren:
echo >> /etc/ld.so.conf /usr/lib
echo >> /etc/ld.so.conf /usr/local/lib && ldconfig
Snort installieren und einrichten:
cd /usr/src
wget http://nbhcrew.de/zmod/downloads/Configs/snort.conf
wget http://nbhcrew.de/zmod/downloads/Configs/local.rules
wget http://nbhcrew.de/zmod/downloads/Configs/barnyard2.conf
wget http://www.snort.org/dl/snort-current/snort-2.9.3.1.tar.gz -O snort-2.9.3.1.tar.gz
tar -zxf snort-2.9.3.1.tar.gz && cd snort-2.9.3.1 && rm ../*.tar.gz
./configure --enable-sourcefire && make && make install
mkdir /etc/snort /etc/snort/rules /var/log/snort /var/log/barnyard2 /usr/local/lib/snort_dynamicrules
touch /etc/snort/rules/white_list.rules /etc/snort/rules/black_list.rules /etc/snort/rules/local.rules
groupadd snort && useradd -g snort snort
chown snort:snort /var/log/snort /var/log/barnyard2
cp /usr/src/snort-2.9.3.1/etc/*.conf* /etc/snort
cp /usr/src/snort-2.9.3.1/etc/*.map /etc/snort
cp /usr/src/snort.conf /etc/snort
cp /usr/src/local.rules /etc/snort/rules
Snort starten und einen ersten Ping-Test ausführen:
/usr/local/bin/snort -A console -q -u snort -g snort -c /etc/snort/snort.conf -i eth0
Barnyard2 installieren (Schnittstelle für Snort)
cd /usr/src && wget https://github.com/firnsy/barnyard2/tarball/master
tar -zxf master && cd firnsy-barnyard2-*
autoreconf -fvi -I ./m4
./configure --with-mysql && make && make install
cp /usr/src/barnyard2.conf /etc/snort
cp schemas/create_mysql /usr/src
MYSQL konfigurieren:
mysql -uroot -pPASS
create database snort;
create database archive;
grant usage on snort.* to snort@localhost; grant usage on snort.* to snort@127.0.0.1;
grant usage on archive.* to snort@localhost; grant usage on archive.* to snort@127.0.0.1;
set password for snort@localhost=PASSWORD('PASS');
grant all privileges on snort.* to snort@localhost;
grant all privileges on snort.* to snort@127.0.0.1;
grant all privileges on archive.* to snort@localhost;
flush privileges;
use snort;
source /usr/src/create_mysql
exit
Testen von Snort mit Barnyard2:
/usr/local/bin/barnyard2 -c /etc/snort/barnyard2.conf -d /var/log/snort -f snort.log -w /etc/snort/bylog.waldo -G /etc/snort/gen-msg.map -S /etc/snort/sid-msg.map -C /etc/snort/classification.config &
Services installieren:
touch /etc/init.d/snortbarn
nano /etc/init.d/snortbarn
chmod +x /etc/init.d/snortbarn
update-rc.d snortbarn defaults
CleanUp:
rm /var/www/index.html
pkill snort && pkill barnyard2
rm -rf /var/log/snort/* /var/log/barnyard2/*
sudo service snortbarn start
Nano /etc/snort/snort.conf
Zeile 553: include $RULE_PATH/snort.rules
sudo service snortbarn start
Regeln aktualisieren:
Bei www.snort.org registrieren und einen Oinkcode beschaffen .
cd /usr/src && wget http://pulledpork.googlecode.com/files/pulledpork-0.6.1.tar.gz
tar -zxf pulledpork-0.6.1.tar.gz && cd pulledpork-0.6.1
cp pulledpork.pl /usr/local/bin && cp etc/*.conf /etc/snort
Edit "/etc/snort/pulledpork.conf":
Comment out lines 22 & 26
Line 20: enter your “oinkcode” where appropriate or comment out the line if you didn’t get one above
Line 23: leave alone (uncommented) to use the Emerging Threats rule set
Line 71: change to: rule_path=/etc/snort/rules/snort.rules
Line 86: change to: local_rules =/etc/snort/rules/local.rules
Line 89: change to: sid_msg=/etc/snort/sid-msg.map
Line 112: change to: config_path=/etc/snort/snort.conf
Line 124: change to: distro=Debian-Lenny
Line 171: Uncomment and change to: enablesid=/etc/snort/enablesid.conf
Line 173: Uncomment and change to: disablesid=/etc/snort/disablesid.conf
Line 174: Uncomment and change to: modifysid=/etc/snort/modifysid.conf
/usr/local/bin/pulledpork.pl -c /etc/snort/pulledpork.conf -T -l
apt-get install Nikto
perl nikto.pl -h HOST -p PORT
Installation von SNORBY:
(geht jetzt endlich!)
echo "gem: --no-rdoc --no-ri" >> ~/.gemrc
curl -L https://get.rvm.io | bash -s stable --ruby --rails
source /usr/local/rvm/scripts/rvm
rvm autolibs enable
rvm pkg install openssl
rvm install 1.9.2 --with-openssl-dir=$HOME/.rvm/usr
aptitude install -y imagemagick wkhtmltopdf openjdk-6-jdk
aptitude install -y make unzip git libxml2-dev libxslt1-dev libmysqlclient-dev g++ libmagickcore-dev libmagickwand-dev libcurl4-openssl-dev libssl-dev apache2-prefork-dev libapr1-dev libaprutil1-dev build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion libiconv libiconv-dev
gem install rails
gem install pdfkit
gem install rake
cd /var/www
git clone http://github.com/Snorby/snorby.git
cd config
bundle install
cp database.yml.example database.yml
cp snorby_config.yml.example snorby_config.yml
database.yml konfigurieren
sed -i "s|username:.*|username: root|g" database.yml
sed -i "s|password:.*|password: Password|g" database.yml
sed -i "s|host:.*|host: localhost|g" database.yml
sed -i "s|database:.*|database: snorby|g" database.yml
config.yml konfigurieren
sed -i "s|domain:.*|domain: localhost:3000|g" snorby_config.yml
rake snorby:setup
cd/var/www/snorby/
bundle exec rails server -e production
Dann zu der Seite:
und einloggen mit
Links:
howto-guide-to-snort-ids-in-debian
Snorby
https://snorby.org/
Webserver installieren:
apt-get update
apt-get install apache2 apache2-utils apache2.2-bin apache2.2-common libapache2-mod-php5
MySQL Datenbankserver installieren:
apt-get install mysql-client mysql-common mysql-server libmysqlclient-dev
während der Installation müssen Sie ein Passwort für den User 'root' vergeben.
Dieses Kennwort wird uns noch lange begleiten...
Installation von Abhängigkeiten:
apt-get install g++ make autoconf automake libtool flex bison gcc libnet1 libnet1-dev libcrypt-ssleay-perl libpcre3 libpcre3-dev libphp-adodb libssl-dev libtool libwww-perl ntp php5-cli php5-gd php5-mysql php-pear
Installation von Abhängigkeiten für SNORT:
cd /usr/src
wget http://www.tcpdump.org/release/libpcap-1.3.0.tar.gz
wget http://libdnet.googlecode.com/files/libdnet-1.12.tgz
wget http://www.snort.org/dl/snort-current/daq-1.1.1.tar.gz
tar -zxf libpcap-1.3.0.tar.gz
tar -zxf libdnet-1.12.tgz
tar -zxf daq-1.1.1.tar.gz
rm *.tgz && rm *.tar.gz
cd libpcap-1.3.0 &&./configure --prefix=/usr --enable-shared && make && make install
cd ../libdnet-1.12 && ./configure --prefix=/usr --enable-shared && make && make install
cd ../daq-1.1.1 && ./configure && make && make install
Library-Pfad aktualisieren:
echo >> /etc/ld.so.conf /usr/lib
echo >> /etc/ld.so.conf /usr/local/lib && ldconfig
Snort installieren und einrichten:
cd /usr/src
wget http://nbhcrew.de/zmod/downloads/Configs/snort.conf
wget http://nbhcrew.de/zmod/downloads/Configs/local.rules
wget http://nbhcrew.de/zmod/downloads/Configs/barnyard2.conf
wget http://www.snort.org/dl/snort-current/snort-2.9.3.1.tar.gz -O snort-2.9.3.1.tar.gz
tar -zxf snort-2.9.3.1.tar.gz && cd snort-2.9.3.1 && rm ../*.tar.gz
./configure --enable-sourcefire && make && make install
mkdir /etc/snort /etc/snort/rules /var/log/snort /var/log/barnyard2 /usr/local/lib/snort_dynamicrules
touch /etc/snort/rules/white_list.rules /etc/snort/rules/black_list.rules /etc/snort/rules/local.rules
groupadd snort && useradd -g snort snort
chown snort:snort /var/log/snort /var/log/barnyard2
cp /usr/src/snort-2.9.3.1/etc/*.conf* /etc/snort
cp /usr/src/snort-2.9.3.1/etc/*.map /etc/snort
cp /usr/src/snort.conf /etc/snort
cp /usr/src/local.rules /etc/snort/rules
Snort starten und einen ersten Ping-Test ausführen:
/usr/local/bin/snort -A console -q -u snort -g snort -c /etc/snort/snort.conf -i eth0
Barnyard2 installieren (Schnittstelle für Snort)
cd /usr/src && wget https://github.com/firnsy/barnyard2/tarball/master
tar -zxf master && cd firnsy-barnyard2-*
autoreconf -fvi -I ./m4
./configure --with-mysql && make && make install
cp /usr/src/barnyard2.conf /etc/snort
cp schemas/create_mysql /usr/src
MYSQL konfigurieren:
mysql -uroot -pPASS
create database snort;
create database archive;
grant usage on snort.* to snort@localhost; grant usage on snort.* to snort@127.0.0.1;
grant usage on archive.* to snort@localhost; grant usage on archive.* to snort@127.0.0.1;
set password for snort@localhost=PASSWORD('PASS');
grant all privileges on snort.* to snort@localhost;
grant all privileges on snort.* to snort@127.0.0.1;
grant all privileges on archive.* to snort@localhost;
flush privileges;
use snort;
source /usr/src/create_mysql
exit
Testen von Snort mit Barnyard2:
/usr/local/bin/barnyard2 -c /etc/snort/barnyard2.conf -d /var/log/snort -f snort.log -w /etc/snort/bylog.waldo -G /etc/snort/gen-msg.map -S /etc/snort/sid-msg.map -C /etc/snort/classification.config &
Services installieren:
touch /etc/init.d/snortbarn
nano /etc/init.d/snortbarn
#! /bin/sh
#set -x
#
### BEGIN INIT INFO
# Provides: snortbarn
# Required-Start: $remote_fs $syslog mysql
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# X-Interactive: true
# Short-Description: Start Snort and Barnyard
### END INIT INFO
. /lib/init/vars.sh
. /lib/lsb/init-functions
do_start()
{
log_daemon_msg "Starting Snort and Barnyard" ""
/sbin/ifconfig eth0 up
/usr/local/bin/snort -q -u snort -g snort -c /etc/snort/snort.conf -i eth0 &
/usr/local/bin/barnyard2 -q -c /etc/snort/barnyard2.conf -d /var/log/snort -f snort.log -w /etc/snort/bylog.waldo -G /etc/snort/gen-msg.map –S /etc/snort/sid-msg.map -C /etc/snort/classification.config 2> /dev/null &
log_end_msg 0
return 0
}
do_stop()
{
log_daemon_msg "Stopping Snort and Barnyard" ""
kill $(pidof snort) 2> /dev/null
kill $(pidof barnyard2) 2> /dev/null
log_end_msg 0
return 0
}
case "$1" in
start)
do_start
;;
stop)
do_stop
;;
restart)
do_stop
do_start
;;
*)
echo "Usage: snort-barn {start|stop|restart}" >&2
exit 3
;;
esac
exit 0
chmod +x /etc/init.d/snortbarn
update-rc.d snortbarn defaults
CleanUp:
rm /var/www/index.html
pkill snort && pkill barnyard2
rm -rf /var/log/snort/* /var/log/barnyard2/*
sudo service snortbarn start
Nano /etc/snort/snort.conf
Zeile 553: include $RULE_PATH/snort.rules
sudo service snortbarn start
Regeln aktualisieren:
Bei www.snort.org registrieren und einen Oinkcode beschaffen .
cd /usr/src && wget http://pulledpork.googlecode.com/files/pulledpork-0.6.1.tar.gz
tar -zxf pulledpork-0.6.1.tar.gz && cd pulledpork-0.6.1
cp pulledpork.pl /usr/local/bin && cp etc/*.conf /etc/snort
Edit "/etc/snort/pulledpork.conf":
Comment out lines 22 & 26
Line 20: enter your “oinkcode” where appropriate or comment out the line if you didn’t get one above
Line 23: leave alone (uncommented) to use the Emerging Threats rule set
Line 71: change to: rule_path=/etc/snort/rules/snort.rules
Line 86: change to: local_rules =/etc/snort/rules/local.rules
Line 89: change to: sid_msg=/etc/snort/sid-msg.map
Line 112: change to: config_path=/etc/snort/snort.conf
Line 124: change to: distro=Debian-Lenny
Line 171: Uncomment and change to: enablesid=/etc/snort/enablesid.conf
Line 173: Uncomment and change to: disablesid=/etc/snort/disablesid.conf
Line 174: Uncomment and change to: modifysid=/etc/snort/modifysid.conf
/usr/local/bin/pulledpork.pl -c /etc/snort/pulledpork.conf -T -l
apt-get install Nikto
perl nikto.pl -h HOST -p PORT
Installation von SNORBY:
(geht jetzt endlich!)
echo "gem: --no-rdoc --no-ri" >> ~/.gemrc
curl -L https://get.rvm.io | bash -s stable --ruby --rails
source /usr/local/rvm/scripts/rvm
rvm autolibs enable
rvm pkg install openssl
rvm install 1.9.2 --with-openssl-dir=$HOME/.rvm/usr
aptitude install -y imagemagick wkhtmltopdf openjdk-6-jdk
aptitude install -y make unzip git libxml2-dev libxslt1-dev libmysqlclient-dev g++ libmagickcore-dev libmagickwand-dev libcurl4-openssl-dev libssl-dev apache2-prefork-dev libapr1-dev libaprutil1-dev build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion libiconv libiconv-dev
gem install rails
gem install pdfkit
gem install rake
cd /var/www
git clone http://github.com/Snorby/snorby.git
cd config
bundle install
cp database.yml.example database.yml
cp snorby_config.yml.example snorby_config.yml
database.yml konfigurieren
sed -i "s|username:.*|username: root|g" database.yml
sed -i "s|password:.*|password: Password|g" database.yml
sed -i "s|host:.*|host: localhost|g" database.yml
sed -i "s|database:.*|database: snorby|g" database.yml
config.yml konfigurieren
sed -i "s|domain:.*|domain: localhost:3000|g" snorby_config.yml
rake snorby:setup
cd/var/www/snorby/
bundle exec rails server -e production
Dann zu der Seite:
http://IP-DES-RASPBERRY:3000 gehen
und einloggen mit
- Benutzername: snorby@snorby.org
- Passwort: snorby
Links:
howto-guide-to-snort-ids-in-debian
Snorby
https://snorby.org/
Zabbix (Netzwerküberwachung)
apt-get install fping apache2 sqlite3 libsnmp-dev libcurl4-openssl-dev libapache2-mod-php5 php5-gd php5-sqlite php5-dev libiksemel-dev libsqlite3-dev php5-mysql
cd /usr/src
wget "http://sourceforge.net/projects/zabbix/files/ZABBIX Latest Stable/2.0.5/zabbix-2.0.5.tar.gz"
tar zxvf zabbix-2.0.5.tar.gz
cd zabbix-2.0.5/database/mysql
sudo adduser zabbix
sudo adduser zabbix root
sudo adduser www-data zabbix
mysql -uroot -pPASS
# drop database zabbix;
create database zabbix;
quit;
mysql -uroot -pPASS zabbix < schema.sql;
mysql -uroot -pPASS zabbix < images.sql;
mysql -uroot -pPASS zabbix < data.sql;
cd ../..
./configure --prefix=/usr --with-net-snmp --with-mysql --with-ssh2 --enable-agent --enable-server --with-libcurl
make install
mkdir /var/www/zabbix
cp -a frontends/php/* /var/www/zabbix/
chown -R www-data /var/www/zabbix
nano /etc/php5/apache2/php.ini
und mit STRG + W nach folgenden Einstellungen suchen und ersetzen
max_execution_time = 300zab
max_input_time = 300
post_max_size = 16M
date.timezone = de_de
STRG + O
STRG + X
apache2 restart
sudo
cp
misc
/init
.d
/debian/zabbix-server
/etc/init
.d/
sudo
cp
misc
/init
.d
/debian/zabbix-agent
/etc/init
.d/
nano /usr/etc/zabbix_server.conf
nano /tmp/zabbix_server.log
Links:
Zabbix
https://www.zabbix.com/documentation/2.0
Icinga (Netzwerküberwachung) und Konfiguration mit NConf
apt-get update
apt-get upgrade
apt-get install php5 php5-cli php-pear php5-xmlrpc php5-xsl php5-pdo php5-ldap php5-soap php5-gd php5-mysql
apt-get install apache2 build-essential libgd2-xpm-dev
apt-get install libjpeg62 libjpeg62-dev libpng12 libpng12-dev
apt-get install snmp libsnmp5-dev
apt-get intall icinga
danach ist das Webinterface erreichbar unter:
http://IP-DES_RASPBERRY/Icinga
mit den Benutzerdaten
"icingaadmin" und ihr Kennwort
wget https://sourceforge.net/projects/nconf/files/nconf/1.3.0-0/nconf-1.3.0-0.tgz
tar -xzf nconf-1.3.0-0.tgz
chmod 777 -R nconf
http://IP-DES_RASPBERRY/nconf
Bei der installation den MYSQL Server auswählen und Datenbank erstellen.
unter Icinga-Binarys "/usr/sbin/icinga" eintragen
rm UPDATE* -R
rm INSTALL* -R
nano config/deployment.ini
und alles bis auf nagios config unter local deployment ausdokumentieren.
mkdir /etc/nagios
chmod 777 /etc/nagios
nano /etc/icinga/icinga.cfg
und alle cfg_dir und cfg_file auskommentieren
und folgende 2 Zeilen eintragen:
cfg_dir=/etc/nagios/global
cfg_dir=/etc/nagios/Default_collector
dann mit STRG + O speichern
und mit STRG + X verlassen
jetzt auf der Weboberfläche von NConf eine Konfiguration erstellen
und auf Deploy drücken.
Danach im Terminal
service icinga restart
eingeben.
und das Resultat auf der Icinga Weboberfläche überprüfen.
Webmin (Verwaltung)
Installation von Webmin auf dem Raspery-Pi
Für eine einfache und komfortable Verwaltung des Raspi empfehle ich die Installation von Webmin.
cd /usr/src && wget http://sourceforge.net/projects/webadmin/files/webmin/1.620/webmin_1.620_all.deb
apt-get install libauthen-pam-perl libapt-pkg-perl libio-pty-perl apt-show-versions
dpgk --install webmin_1.620_all.deb
rm webmin_1.620_all.deb
Nach der Installation ist Webmin unter:
http://IP-Adresse:10000
erreichbar.
Für eine einfache und komfortable Verwaltung des Raspi empfehle ich die Installation von Webmin.
cd /usr/src && wget http://sourceforge.net/projects/webadmin/files/webmin/1.620/webmin_1.620_all.deb
apt-get install libauthen-pam-perl libapt-pkg-perl libio-pty-perl apt-show-versions
dpgk --install webmin_1.620_all.deb
rm webmin_1.620_all.deb
Nach der Installation ist Webmin unter:
http://IP-Adresse
erreichbar.
NTOP (Netzwerkstatistik) mit NetFlow für OpenWRT am TPLink WR1043ND
Installation von NTop
Ntop kann über:
apt-get update
apt-get upgrade
apt-get install libpcap-dev libgdbm-dev libevent-dev librrd-dev python-dev libgeoip-dev rrdtool libtool automake autoconf svn subversion
wget http://sourceforge.net/projects/ntop/files/ntop/Stable/ntop-5.0.1.tar.gz
tar -xzf ntop-5.0.1.tar.gz
cd ntop
./autogen.sh
ldconfig
# cp /usr/local/lib/libntop* /usr/lib/
make
make install
mkdir rrd
useradd -M -s /sbin/nologin -r ntop
chown ntop:root /usr/local/var/ntop/
chown ntop:ntop /usr/local/share/ntop/
ntop -A
/usr/local/bin/ntop -d -L -u ntop -P /usr/local/var/ntop --skip-version-check --use-syslog=daemon --set-admin-password=password
installiert werden.
oder einfacher ...
apt-get install ntop
Nach der Installation ist NTop unter der Url:
http://IP-Adresse/:3000
erreichbar.
Im Webinterface sollte der Port zwecks Überschneidungen mit SNORBY geändert werden!
Nach dem aufrufen der Web-Oberfläche werden wir noch eine Änderungen vornehmen,
um den Datenverkehr eines WLan-APs mit OpenWRT als System zu überwachen.
Auf dem WLan-Accesspoint wechseln wir zu dem Punkt Firmware flashen und
geben als Dateiname den Pfad zu der Heruntergeladenen Firmware von openwrt.org
für den Router an. (In meinem Fall der TP-Link WR1043ND).
Nach dem Flashen und anschließeendem Reboot melden wir uns auf der Konfigurationsseite
LuCi des Openwrt an und klicken unter System-Software auf 'Update Lists', um die Paket-
listen zu aktualisieren.
im Reiter 'Available Packages" installieren wir nun das Paket 'fprobe'
für eine Abfrage per Snmp installieren wir das Paket snmpd bzw. minisnmpd gleich noch mit.
In der Oberfläche von NTop aktivieren wir nun nter Plugins-NetFlow die Netflow Schnittstelle
und unter Round Robin Database aktivieren wir dieses Plugin ebenfalls.
und fügen über Plugins-NetFlow-Configure eine Netflow-Schnittstelle hinzu.
im Terminal geben wir nun ein chmod 775 -R /var/lib/ntop
Local Collector UDP Port setzen wir auf 2055 und Set
und IP-Adresse auf 192.168.1.0/255.255.255.0 (bzw. unser lokales Netzwerk) + Set
service Restart ntop
unter Plugins-RRD-Configure tragen setzen wir nun den Dump-Interval auf 5 Sec,
bei Data to Dump wählen wir alle Schnittstellen aus und drücken auf Save References.
Jetzt wechseln wir im Admin-Menü auf die Schnittstelle Netflow1 und sehen uns
die Statistiken des Netflow-Interfaces an.
Links:
OpenWRT-Konfiguration
netzwerk-management-server-mit-raspberry-pi
Ntop kann über:
apt-get update
apt-get upgrade
apt-get install libpcap-dev libgdbm-dev libevent-dev librrd-dev python-dev libgeoip-dev rrdtool libtool automake autoconf svn subversion
wget http://sourceforge.net/projects/ntop/files/ntop/Stable/ntop-5.0.1.tar.gz
tar -xzf ntop-5.0.1.tar.gz
cd ntop
./autogen.sh
ldconfig
# cp /usr/local/lib/libntop* /usr/lib/
make
make install
mkdir rrd
useradd -M -s /sbin/nologin -r ntop
chown ntop:root /usr/local/var/ntop/
chown ntop:ntop /usr/local/share/ntop/
ntop -A
chown -R nobody:nogroup /usr/local/var/ntop /usr/local/bin/ntop -d -L -u ntop -P /usr/local/var/ntop --skip-version-check --use-syslog=daemon --set-admin-password=password
installiert werden.
oder einfacher ...
apt-get install ntop
Nach der Installation ist NTop unter der Url:
http://IP-Adresse/:3000
erreichbar.
Im Webinterface sollte der Port zwecks Überschneidungen mit SNORBY geändert werden!
Nach dem aufrufen der Web-Oberfläche werden wir noch eine Änderungen vornehmen,
um den Datenverkehr eines WLan-APs mit OpenWRT als System zu überwachen.
Auf dem WLan-Accesspoint wechseln wir zu dem Punkt Firmware flashen und
geben als Dateiname den Pfad zu der Heruntergeladenen Firmware von openwrt.org
für den Router an. (In meinem Fall der TP-Link WR1043ND).
Nach dem Flashen und anschließeendem Reboot melden wir uns auf der Konfigurationsseite
LuCi des Openwrt an und klicken unter System-Software auf 'Update Lists', um die Paket-
listen zu aktualisieren.
im Reiter 'Available Packages" installieren wir nun das Paket 'fprobe'
für eine Abfrage per Snmp installieren wir das Paket snmpd bzw. minisnmpd gleich noch mit.
In der Oberfläche von NTop aktivieren wir nun nter Plugins-NetFlow die Netflow Schnittstelle
und unter Round Robin Database aktivieren wir dieses Plugin ebenfalls.
und fügen über Plugins-NetFlow-Configure eine Netflow-Schnittstelle hinzu.
im Terminal geben wir nun ein chmod 775 -R /var/lib/ntop
Local Collector UDP Port setzen wir auf 2055 und Set
und IP-Adresse auf 192.168.1.0/255.255.255.0 (bzw. unser lokales Netzwerk) + Set
service Restart ntop
unter Plugins-RRD-Configure tragen setzen wir nun den Dump-Interval auf 5 Sec,
bei Data to Dump wählen wir alle Schnittstellen aus und drücken auf Save References.
Jetzt wechseln wir im Admin-Menü auf die Schnittstelle Netflow1 und sehen uns
die Statistiken des Netflow-Interfaces an.
Links:
OpenWRT-Konfiguration
netzwerk-management-server-mit-raspberry-pi
FHEM (Heimautomatisierung)
FHEM Installieren
wget http://fhem.de/fhem-5.4.deb
dpkg --install fhem-5.4.deb
apt-get -f -y install
FHEM ist nun erreichbar unter:
http://IP-DES-RASPBERRY:8083/fhem
- CUL vom PC aus flashen
- Einrichtung des CUL
- Einrichtung einer FS20 Funksteckdose
- Einrichtung eines IR-Senders
- Aufbauen von Raumplänen mit SweetHome3D
- Externe Steuerung von FHEM über Terminal bzw. http-get
Auf die Einrichtung von FHEM werde ich demnächst weiter
eingehen, wenn die Zentrale Verwaltung der Heimautomatisierung
über EvaCmd funktioniert. Damit ist es auch jetzt schon möglich
FHEM über einen anderen Webservice sowie ein PC-Frontend bzw.
Sprache zu steuern.
Die Beschreibung zum Projekt befindet sich unter: evacmd
http://www.itbasic.de/raspberry-pi-erster-schritt-zur-hausautomation/
Abonnieren
Posts (Atom)