Wview ist ein Linux-Tool um eine Davis Vantage Pro 2 Wetterstation auszulesen. Dies benötigt die radlib Bibliothek. Diese kannst du auf http://www.radlib.teel.ws/ downloaden.
Um radlib kompilieren zu können brauchst du noch folgende Pakete:
libmysqlclient15-dev libsqlite3-dev
Diese am besten mit dem Paketmanager deiner Wahl nachinstallieren. Das sind die Debianpakete, können also bei anderen Distributionen auch anders heißen.
Als nächstes wird radlib kompiliert und installiert.
./configure --enable-sqlite
make
make install
Als nächstes kannst du dir wview besorgen. Einfach auf http://www.wviewweather.com/ gehen und den aktuellen Quellcode runterladen und entpacken.
Um wview kompilieren zu können brauchst du folgende Pakete:
libgd2-xpm-dev sqlite3 gawk
Wenn du diese installiert hast, kannst du wview kompilieren.
HTTP_DOC_ROOT=/var/www/ ./configure --enable-station-vpro
make
make install-env
cp examples/Debian/wview /etc/init.d/wview
Danach solltest du mit
und
dein wview konfigurieren und mit
sudo /etc/init.d/wview start
starten.
Zuerst solltest du dir eine neue Version von ImageMagick von http://www.imagemagick.org besorgen.
Ich habe den Quellcode mit folgendem Befehl kompiliert,diesen musst du aber noch an deine Bedürfnisse und dein OS anpassen.
./configure --without-magick-plus-plus --without-perl -prefix=/usr
Danach kannst du mit dem Befehl
convert bild.jpg -colorspace Gray -format "%[fx:100*image.mean]" info:
die Durchschnittshelligkeit eines Bildes berechnen. Mit
habe ich mir einen Prozentwert ausgeben lassen, dabei sind aber alle anderen Operationen auch möglich.
Das Problem:
Der Weather Envoy Datenlogger der Vantage Pro Wetterstation wird als ttyUSB* device unter Linux erkannt, jedoch scheint die USB Verbindung zwischen Datenlogger und Linux sporadisch abzurechen. Geschieht dies so stürzt WVIEW ab und durch UDEV wird das Gerät unter dem nächsten freien Namen neu mit dem System verbunden. ttyUSB0 -> Unterbrechung -> ttyUSB1 -> usw. Jedoch verliert so die Software zu Datenanalyse WVIEW die Verbindung zum Gerät, da diese sich nur auf ein festes Gerät konfigurieren lässt.
Ein Lösungsvorschlag:
- Symbolischer Link auf das aktuelle ttyUSB* device sobald der Weather Envoy neu verbunden ist
- Neustart von WVIEW nach Zuordnung des USB Anschlußes
Meine Umsetzung:
Für den Davis Weather Envoy wird eine neue UDEV regel angelegt. Eine UDEV-Regel besteht aus einer einfachen textdatei im Pfad /etc/udev/rules.d/ , der dateiname muss mit einer Zahl zwischen 00 und 99 beginnen, je niedriger die Zahl desto höher die Priorität für UDEV. Ich habe die regel für den Weather Envoy der Vantage Pro 01-vantage.rules genannt. In unserem Fall soll UDEV sobald der USB-Adapter des Weather Envoy erkannt wurde den symbolischen link /dev/ttyVPpro anlegen. Über diesen kann WVIEW immer auf das aktuelle ttyUSB* device zugreifen. Zusätzlich soll ein Script ausgeführt werden das WVIEW neustartet und so das neue Device verwendet. Die UDEV-Regel könnte wie folgt aussehen:
BUS=="usb", KERNEL=="ttyUSB*", SYSFS{idVendor}=="10c4" SYSFS{idProduct}=="ea60", SYMLINK+="ttyVPro", RUN+="/root/restartvwiew"
idVendor und idProduct können einfach über lsusb ermittelt werden.
Das kleine Script beendet WVIEW, startet das Programm nach 10 Sekunden neu und logt das Ereignis in einer Datei:
#!/bin/bash
# get date
aDate=`date +%Y-%m-%0e_%H:%M:%S`;
echo "$aDate WVIEW restart due to UDEV change." >> /root/wview_log
/etc/init.d/wview stop
sleep 10
/etc/init.d/wview start
There was a time, when I shared a blog. This post was written by Stephan.
See all blogpost from him or stalk him on github.
VirtualBox eignet sich bestens, um mit Linux einige Experimente durchzuführen- man kann ja jeder Zeit eine neue virtuelle Maschine installieren.
Um ein Backup der vdi von VirtualBox zu machen, benötigt man folgenden Befehl in der Konsole:
VBoxManage clonevdi `echo $HOME`/.VirtualBox/HardDisks/ubuntu.vdi `echo $HOME`/Desktop/ubuntu.vdi
Ein einfaches kopieren der .vdi-Datei aus dem VirtualBox-Ordner führt beim Einbinden in einem anderen Rechner zu Fehlern - Bitte immer VBoxManage verwenden.
Ab der Virtualboxversion 3.0.8 OSE werden die VDI im Ordner ".VDI/HardDisks" gespeichert.
Die erstellte VDI-Datei muss dann nur noch in den VDI-Ordner kopiert werden. Der Start erfolgt dann wie gewohnt über VirtualBox.
Der Name der VDI-Datei muss natürlich angepasst werden.
Viel Spaß
There was a time, when I shared a blog. This post was written by Stephan.
See all blogpost from him or stalk him on github.
Das folgende Tutorial soll zeigen, wie man aus Flashvideos (Youtube) oder anderen Videodateien mit Hilfe von ffmpeg die Audiospur extrahieren und als mp3 & Co abspeicheren kann. Die Umwandlung erfolgt dabei über ein kleines Shellscript, dass individuell angepasst werden kann.
Allgemein:
Folgende Pakete müssen installiert werden:
sudo apt-get install build-essential yasm subversion git-core checkinstall
Erklärung:
- build-essential: stellt die grundlegenden Pakte fürs Kompilieren zur Verfügung
- yasm: beinhaltet einen Assembler, den wir ebenfalls zum Kompilieren der benötigten Encoder benötigen, bewirkt eine Optimierung des Quellcodes bei x264 (mehr)
- subversion und git: ermöglichen das Downloaden der aktuellsten Versionen von ffmpeg, xvid u.a. (aus den entsprechenden Repositories)
- checkinstall: erzeugt Debianpakete und installiert diese sofort (bei der Angabe von - -install=no wird nur ein Debianpaket erstellt)
Alle heruntergeladenen Archive werden wir im Ordner /tmp/capture abspeichern und auch kompilieren.
Okay, let's go...
Encoder/Decoder
ffmpeg soll mit den neusten Encodern/Decodern kompiliert werden. Dies sind:
- lame mp3
- faac
- faad2
- h264
- xvid
lame
ffmpeg aus den Ubuntuquellen bietet von Haus aus keine mp3 Unterstüzung. Deshalb müssen wir uns lame als MP3-Encoder installieren - und das natürlich in der neusten Version.
Wir öffnen die Konsole, wechseln ins Verzeichnis /tmp, legen den Ordner "capture" an und betreten diesen anschließend:
cd /tmp
mkdir capture
cd capture
Dann holen wir uns das neuste lame-Archiv und compilieren es mit den Standardwerten (Version wenn nötig anpassen, eine Übersicht gibt es hier):
wget http://dfn.dl.sourceforge.net/sourceforge/lame/lame-398-2.tar.gz
tar -xzf lame-398-2.tar.gz
cd lame-398-2
./configure
make
sudo checkinstall
faac und faad2, Advanced Audio Coder (MPEG2-AAC, MPEG4-AAC)
Analog wie bei lame gehen wir jetzt bei faac und faad vor (wir befinden uns wieder im Ordner /tmp/capture).
Achtung: Wer denkt, dass er diesen Endoder/Decoder nicht braucht, soll gewarn seint: Youtube verwendet (auch oder nur ???) AAC in seinen flv-Dateien!!!
wget http://switch.dl.sourceforge.net/sourceforge/faac/faac-1.28.tar.gz
tar -xzf faac-1.28.tar.gz
cd faac-1.28
./configure --enable-shared
make
sudo checkinstall
wget http://switch.dl.sourceforge.net/sourceforge/faac/faad2-2.7.tar.gz
tar -xzf faad2-2.7.tar.gz
cd faad2-2.7
./configure
make
sudo checkinstall
Eine Übersicht der aktuellesten Versionen: faac und faad2
x264
x264 ist ein freier h264 Encoder, der u.a. auch beim beliebten VLC-Player Verwendung findet.
Die aktuelle Version laden wir mit git herunter, ansonsten muss beim Kompilieren noch das shared-Flag gesetzt werden, um die Bibliothek auch für andere Programme verfügbar zu machen:
git clone git://git.videolan.org/x264.git
cd x264
./configure --enable-shared
make
sudo checkinstall
xvid
Auch xvid sollte bei ffmpeg nicht fehlen, auch wenn es etwas an Bedeutung verloren hat( eigene Einschätzung;-)):
wget http://downloads.xvid.org/downloads/xvidcore-1.2.2.tar.gz
tar -xzf xvidcore-1.2.2.tar.gz
cd xvidcore/build/generic
./configure
make
sudo checkinstall
ffmpeg
Nun können wir ffmpeg zusammen mit den eingangs erstellten Encodern/Decodern kompilieren:
svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg
cd ffmpeg
./configure --enable-gpl --enable-x11grab --enable-libfaac --enable-libfaad --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-nonfree
make
sudo checkinstall
Anmerkung:
- ffmpeg Quellcodedateien können per git oder svn heruntergeladen werden (mehr dazu hier)
Im zweiten Teil dieses Tutorials werde ich dann auf den Shellscript eingehen, der in Verbindung mit ffmpeg die Audiodateien erzeugen wird.
Bis dahin aber erst einmal: Fröhliches Kompilieren!!!!!!