10.10.2015

ADS-B Empfang per DVB-T Stick

Durch Zufall bin ich auf die Verwendung eines 10€ DVB-T Sticks als Software Defined Radio (SDR) gestoßen. Damit FM Radio zu hören ist nicht wirklich spannend, daß kann man auch einfacher ohne große Bastelei haben. Die Möglichkeit damit ADS-B Daten von Flugzeugen im Umkreis zu empfangen ist da schon interessanter. Im Folgenden wird Schritt für Schritt erklärt wie die benötigten Treiber und Grundprogramme (RTL-SDR) sowie dump1090 zum ADS-B Empfang aud einem Raspberry Pi B+ installiert werden. Dump1090 bring einen Webserver mit, der eine Kartenansicht mit allen empfangenen Flugbewegungen im Browser zeigt. Die Installationsschritte stammen aus verschiedenen Internetquellen, eine Suche sollte für fast jeden Spezialfall ein Ergebnis bringen.

Den DVB-T Stick als Software Defined Radio im Frequenzbereich von ca. 24-1800 MHz benutzen kann man auch z.B. mit SDRSharp (SDR#).So kann man auch unter Windows erstmal mit der Hardware spielen. Achtung: Nicht den mitgelieferten Treiber installieren, der ist "nur" für DVB-T Empfang gedacht.


Benötigte Hardware

DVB-T Stick

Ich benutze zwei Sticks, einen mit dem Chipsatz RTL2832U+R820T und einen mit RTL2832U+R820T2. Der R820T2 soll etwas besser sein als der R820T, da ich ihn aber erst jetzt in Betrieb nehme, kann ich noch nichts dazu  sagen.
Bei den einschlägigen Online-Shops sollten sich beide Versionen für ~10€ inklusive Versand finden lassen.

Antenne

Wenn man nicht abseits jeglicher Flugrouten wohnt reicht für die ersten Versuche die mitgelieferte DVB-T Antenne aus. Um die Empfangleistung zu optimieren kann man später mit kleinem finanziellen Aufwand auch eigene Antennen basteln.

Installation

Die Installation geschieht in zwei Schritten. Zuerst wird der Treiber für den DVB-T Stick installiert (RTL-SDR) und danach dump1090 um ADS-B Nachrichten zu Empfangen. Den Stick am besten erst nach erfolgter Installation der Software einstecken.

Installation von RTL-SDR

Folgende packages installieren:

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install git-core
$ sudo apt-get install git
$ sudo apt-get install cmake
$ sudo apt-get install libusb-1.0-0-dev
$ sudo apt-get install build-essential

Folgende Befehle laden den RTL-SDR Treiber Sourcecode für den DVB-T Stick und starten die Installation

$ cd ~
$ git clone git://git.osmocom.org/rtl-sdr.git
$ cd rtl-sdr
$ mkdir build
$ cd build
$ cmake ../ -DINSTALL_UDEV_RULES=ON
$ make
$ sudo make install
$ sudo ldconfig

$ cd ~
$ sudo cp ./rtl-sdr/rtl-sdr.rules /etc/udev/rules.d/
$ sudo shutdown -h now

Nun den DVB-T Stick einstecken und den Raspberry wieder starten.

Test

Mit 'rtl_test' kann die Installation getestet werden. Die Ausgabe sollte ungefähr wie folgt aussehen, der Test kann mit Ctrl-C abgebrochen werden.

$ rtl_test
Found 1 device(s):
  0:  Realtek, RTL2838UHIDIR, SN: 00000001

Using device 0: Generic RTL2832U OEM
Found Rafael Micro R820T tuner
Supported gain values (29): 0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7 16.6 19.7 20.7 22.9 25.4 28.0 29.7 32.8 33.8 36.4 37.2 38.6 40.2 42.1 43.4 43.9 44.5 48.0 49.6
Sampling at 2048000 S/s.

Sollte der Test folgende Meldung bringen:
Kernel driver is active, or device is claimed by second instance
In the first case, please either detach or blacklist the kernel
(dvb_usb_rtl28xxu), or enable automatic detaching at compile time

usb_claim_interface error -6
Error opening the RTLSDR device: Device or resource busy
Ist der Stick schon vom Betriebssystem als TV Gerät in Beschlag genommen. Dies kann man folgendermassen verhindern:

$ sudo nano /etc/modprobe.d/rtl-sdr-blacklist.conf

Und folgende Einträge machen:
blacklist dvb_usb_rtl28xxu
blacklist e4000
blacklist rtl2832

Danach den Raspberry neustarten.

Installation von dump1090

dump1090-mutability installieren
$ wget https://github.com/mutability/mutability-repo/releases/download/v0.1.0/mutability-repo_0.1.0_armhf.deb
$ sudo dpkg -i mutability-repo_0.1.0_armhf.deb
$ sudo apt-get update && sudo apt-get install dump1090-mutability
Es empfiehlt sich dump1090 automatisch per init script starten zu lassen.

Dump1090 kann jederzeit mit folgendem Befehl konfiguriert werden:
$ sudo dpkg-reconfigure dump1090-mutability
Zum Anfang sollte man mit den Standardeinstellungen hinkommen. Will man von einem anderen Gerät den dump1090 Webserver erreichen, muß man 'Interface address to bind to' leer lassen, andernfalls kann man den Server nur vom Raspberry selbst aus erreichen.
Die Kartenansicht kann je nach Konfiguration z.B. unter http://meinraspberry:8080 aufgerufen werden (meinraspberry natürlich ensprechend ersetzen).

07.10.2015

Timelapse mit Eieruhr-Stativ

Zeitraffer (Timelapse)

Zeitraffer (Timelapse) Filme sind faszinierend, da sie langsame Aufläufe beschleunigen und manchmal erst sichtbar machen. Normalerweise montiert man eine Kamera auf ein Stativ und läßt per Kamerafunktion oder durch einen externen Auslöser in regelmäßigen Abständen Aufnahmen machen. Der zeitliche Abstand zwischen den Aufnahmen hängt von einigen Faktoren ab wie z.B. das zu fotografierende Ereignis, die gewünschten fps (frames per second) des Filmes und natürlich dem gewünschte Grad der Beschleunigung. Mit einem Abstand von 1s zwischen den Aufnahmen und einer wiedergabe mit 25 fps werden die fotografierten Abläufe im späteren Film 25-fach beschleunigt dargestellt. Verdoppelt man die Zeit zwischen den Aufnahmen bei gleicher Aufnahmedauer, erhält man halb so viele Fotos, das fotografierte Ereignis läuft doppelt so schnell ab und der produzierte Film ist nur halb so lang (gleiche fps vorausgesetzt).


Was benötigt man?

Prinzipiell reicht folgendes Equipment:
  • Eine Kamera mit Intervallfunktion, die automatisch im Sekunden- oder Minutenabstand auslöst;
  • Eine mechanische Eieruhr (Timer);
  • Eine Software, die aus den Einzelaufnahmen einen Film macht.


Wozu die Eieruhr?

Montiert man die Kamera normal auf ein Stativ, zeigt der produzierte Film - ohne weiteres Zutun -  immer den gleichen Bildausschnitt.Will man im späteren Film einen Kameraschwenk sehen, könnte man die Kamera auf dem Stativ zwischen jeder Aufnahme ein kleines Stückchen weiterdrehen.
Wer seine Zeit sinnvoller verbringen will, kann dies von einer Eieruhr übernehmen lassen.
Man montiert die Kamera auf die Eieruhr, zieht die Uhr auf und die Kamera dreht sich einigermaßen gleichmäßig und langsam, je nach Eieruhr (z.B. 270° in 1 Stunde). Die Idee stammt nicht von mir, Google bringt zahlreiche Beispiele.

Meine Konstruktion

Die Eieruhr soll in meinem Fall einen  GoPro China-Klon tragen. Ein übliches Stativgewinde (1/4"-20 UNC) in der Eieruhr erlaubt es die Kamera einfach oben in die Uhr zu schrauben. Der entsprechende Gewindebohrer war in meinem Discounter-Set schon vorhanden. Vorgebohrt wurde der Kunststoff mit 5mm.

Eieruhr mit Stativgewinde

Befestigung mit Stativ-Schraube

Das fertige Eieruhr-Stativ
Die gezeigte Ausführung ist nur eine mögliche Option. Von Klettband über Heißkleber zu Tesafilm ist eigentlich alles möglich.

Fotos aufnehmen

Nachdem die Kamera erfolgreich auf die Eieruhr gebastelt wurde und ausreichend Speicherplatz zur Verfügung steht sucht man sich einen passenden Standort. Die Kamera sollte möglichst waagerecht ausgerichtet sein und das während der Drehung auch bleiben. Dann die Eieruhr aufziehen, die Intervall-Aufnahmefunktion der Kamera einstellen (z.B. Intervall 5s), starten und warten.

Wie mache ich aus den einzelnen Fotos einen Film?


Hat man nun alles erfolgreich zusammengebaut und nach dem ersten Versuch ein paar Hundert oder Tausend Aufnahmen auf der Speicherkarte fehlt nur noch die Fotos in einen Film zu verwandeln.
Es gibt sicher viele Möglichkeiten, ich habe den Film mit dem kostenlosen VirtualDub erstellt. Hier nur kurz wie man vorgehen kann oder sollte:
  1. Bilder laden
    Alle Fotos müssen im gleichen Verzeichnis liegen und fortlaufend nummeriert sein.
    File → Open video file... (ja!) und nur das erste Bild der Serie zum Öffnen wählen. VirtualDub lädt alle weiteren Bilder automatisch anhand der fortlaufenden Nummerierung.
  2. Ausgabeformat einstellen
    Per Video → Compression... einen passenden codec auswählen (z.B. H.264). Macht man dies nicht, speichert VirtualDub das Ergebnis unkomprimiert und die Datei wird entsprechend riesig.
  3. Filter anwenden (optional)
    Per Video → Filters... folgende sinnvolle Filter hinzufügen (Reihenfolge!)
    resize: wandelt die meist zu hoch auflösenden Fotos der Kamera in HD oder eine noch geringere Auflösung. Die Originalfotos bleiben unangetastet. Man kann also mit niedriger Auflösung anfangen und zum Schluß eine hochauflösende Version produzieren.
    interpolate: "Scale framerate by 2, linear blending" berechnet Zwischenbilder und verdoppelt in diesem Beispiel die Anzahl der frames (Einzelbilder) um einen "flüssigeren" Film zu erhalten.
    sharpen: Schärft...
  4. Ergebnis speichern
    File → Save as AVI
    Warten....fertig.
Wie am Anfang schon beschrieben besteht ein Zusammenhang zwischen den Einzelbildern pro Sekunde (fps) des fertigen Films, dem Aufnahmeintervall zwischen den Fotos und der Dauer des fertigen Films. Macht man 100 Aufnahmen für einen 25 fps Film, wird dieser nur mickrige 4 Sekunden lang. Senkt man die fps wird der Beschleunigungseffekt geringer und der Film wird weniger flüssig und fängt an zu ruckeln.

Noch ein paar Anmerkungen

  • Die Eieruhr trägt keine >1kg Spiegelreflex Kamera. Eine kleine Actioncam (GoPro oder ein China-Klon) sind ideal;
  • Eine digitale Eieruhr wird zu eher schlechten Ergebnisses führen;
  • Stellt man das Intervall auf 1s und die Eieruhr auf 1h nimmt man bis die Uhr abgelaufen ist 3600 Fotos auf. Je nach eingestellter Auflösung der Kamera kommt da einiges zusammen auf der Speicherkarte (z.B. ~3MB pro Foto ergeben ~10GB Daten);
  • Wer täglich Zeitrafferaufnahmen mit der Spiegelreflex macht kommt schnell an die geschätzte Lebensdauer des mechanischen Verschlusses (eine Actioncam oder Kompaktkamera hat normalerweise keinen mechanischen Verschluss);
  • Je nach Aufnahmesituation sollten Belichtung und Fokus fest eingestellt werden, damit die Kameraautomatik zwischen den Aufnahmen nicht nachregelt.

02.10.2015

Dynamisches DNS per Rasperry Pi aktualisieren

Da mein DSL Router (FritzBox) nur einen Anbieter für dynamisches DNS (DynDNS) gleichzeitig aktualisiert und ich der automatischen Aktualisierung nicht 100% traue wird diese Aufgabe jetzt zusätzlich von einem Raspberry Pi erledigt, was folgende Vorteile hat:
  • Man kann mehrere DynDNS services gleichzeitig benutzen und aktualisieren;
  • Die Aktualisierung wird per cron regelmäßig angestoßen;
  • Alle Aktivitäten werden in ein log file geschrieben;
  • Die Lösung ist erweiterbar (z.B. email Benachrichtigung bei IP Änderung).
Das script basiert auf der Arbeit von https://github.com/AntonioCS/no-ip.com-bash-updater. Das geänderte script benutzt unter anderem curl statt wget, da ich mit wget Probleme bei der SSL Verbindung hatte. Wer weitere oder andere Anbieter von dynamischem DNS verwenden will, muß sich die ensprechende update URL besorgen und das bestehende script erweitern.

Zuerst das script anlegen mit, z.B. mit:

nano ~/no-ip-updater.sh
Folgenden Inhalt einfügen:
#!/bin/bash
# The script assumes existing user 'pi'
# Ensure to URL encode if required (e.g.encode the @ as %40)
# Change below to match your NO-IP user/email
USERNAME=your.name%40email.com
# Change below to match your NO-IP password
PASSWORD=your-NO-IP-cleartext-password
# Change below
HOST_NOIP=mygreathostname.ddns.org
LOGFILE=/var/log/no-ip-updater.log
STOREDIPFILE=/home/pi/current_ip
USERAGENT="My bash No-IP Updater"

if [ ! -e $STOREDIPFILE ]; then
  touch $STOREDIPFILE
fi

NEWIP=$(wget -q -O - "http://myexternalip.com/raw")
STOREDIP=$(cat $STOREDIPFILE)

if [ "$NEWIP" != "$STOREDIP" ]; then
  RESULT=$(curl --silent --user-agent "$USERAGENT" "https://$USERNAME:$PASSWORD@dynupdate.no-ip.com/nic/update?hostname=$HOST_NOIP&myip=$NEWIP" >> $LOGFILE)
  LOGLINE="[$(date +"%Y-%m-%d %H:%M:%S")] Updated IP from $STOREDIP to $NEWIP"
  #ADD MORE SERVICES HERE IF REQUIRED
  echo $NEWIP > $STOREDIPFILE
else
  LOGLINE="[$(date +"%Y-%m-%d %H:%M:%S")] No IP change"
fi
echo $LOGLINE >> $LOGFILE
exit 0
Das script abspeichern (bei nano mit Ctrl-O Ctrl-X) und ausführbar machen.

chmod +x ~/no-ip-updater.sh
Jetzt fehlt noch der Eintrag in der crontab um das script regelmäßig auszuführen. Die crontab des aktuellen Benutzers (pi) editieren mit:

crontab -e
Und folgende Zeile hinzufügen um das script z.B. alle 20 Minuten auszuführen:

*/20 * * * *  sudo /home/pi/no-ip-updater.sh
Fertig.

22.05.2015

AEG DTBK-15 [1]

Neuzugang

Nach langer erfolgloser Suche nach einer guten gebrauchten Handbohrmaschine um 50€ für meinen Bohrständer konnte ich einem passenden Angebot nicht widerstehen und habe für das gleiche Budget eine alte Tischbohrmaschine AEG DTBK-15 gekauft.


Das Teil ist kein Leichtgewicht, ich schätze mal 80-90kg. Die Maschine läuft und Spiel konnte ich an der Bohrwelle erstmal keines feststellen. Das Bohrfutter  läßt sich rausnehmen, der MK1 Dorn sieht allerdings schon etwas mitgenommen aus. Die AEG ist noch im ungereinigten Scheunenzustand, was sich allerdings ändern wird.


19.05.2015

Bauknecht Ku 2-1 restaurieren [3]: Abschluß

Der Zusammenbau

Wegen anderer Aufgaben wurde die Restaurierung etwas im Umfang eingeschränkt. Das Gehäuse wird nicht neu lackiert und eine Elektronik wird vorerst auch nicht nachgerüstet.

Letztendlich wurden folgende Teile bestellt:




Das Getriebefett wurde soweit möglich entfernt allerdings habe ich das Getriebe nicht komplett zerlegt (u.a. das Pertinax ähnliche Zahnrad wurde nicht ausgebaut). Da das alte Fett noch einigermaßen OK aussah sind ein paar Reste davon wohl kein Problem.



Die Restaurierung beschränkte sich also hauptsächlich auf eine Grundreinigung (dringend notwendig), Getriebefettwechsel und das Ersetzen defekter Teile (z.B. spröde oder zugeschmodderte Kunststoffteile). Hier ein paar Fotos.
Getriebe von oben, noch ohne Fett

Neue "Zwischenplatte", die alte war nur noch Schmodder

Antrieb oben

Die "Elektronik" ist wieder am Platz

Fett wurde bei laufender Maschine eingefüllt bis zum sichtbaren Stand

Gleich kommt der Deckel wieder drauf

Die Nabe, noch ohne Dichtungsring

Neue Füße

Ein neue Gummischlauchleitung, die Tülle fehlt noch

Erste Tests

Erste Tests wurden natürlich schon (erfolgreich) durchgeführt. Relativ feines Brät läßt sich herstellen indem man einmal die Zutaten (ohne Eis) durch mit 3mm wolft und danach das Hack mit Crush-Eis durch die 2mm Scheibe lässt. Noch etwas kneten und der Teig wird schön bindig. Für den ersten Versuch ist es recht gut geworden.



21.01.2015

Bauknecht Ku 2-1 restaurieren [2]: Zerlegen und Bestandsaufnahme

Ersatzteile

Defekte oder verschlissene Teile kommen direkt auf die Bestellliste. Ersatzteilllisten mit Explosionszeichnungen für alte und aktuelle Ausführungen sind bei der Firma Krefft hier zu finden. Die Ersatzteilliste für mein Gerät scheint diese hier (KU 2-1 - Art.Nr. 504106) zu sein.

Gehäuse öffnen

Als Erstes muß die Maschine zerlegt werden soweit sinnvoll und möglich. Dafür sollte man zuerst den Drehknopf des Schalters abziehen und den Abdeckring am oberen Antrieb entfernen.



Danach die folgenden vier Schrauben lösen, welche das Gehäuse auf dem Unterteil fixieren.



Als nächstes muß man die Aufstecknabe an der Vorderseite demontieren. Nach Entfernen eines Dichtungsrings werden insgesamt 4 Schrauben sichtbar. Sind diese entfernt, läßt sich (zumindest bei mir...) die Aufstecknabe  einfach abnehmen.
Aufstecknabe demontieren


Aufstecknabe



Jetzt läßt sich das Gehäuseoberteil einfach nach oben abnehmen. Zum Vorschein kommt ein Getriebe mit angeflanschtem Motor und ein Schalter. Schön übersichtlich und auf den ersten Blick sind keine Schäden zu erkennen.

Gehäuseoberteil entfernt


Beim Blick auf den Netzanschluß bin ich mir nicht mehr so sicher, ob an der Maschine nicht schon gebastelt wurde. Ein Schutzleiter oder Entstörung ist nicht vorhanden. Vielleicht läßt sich hier später etwas aufrüsten.
Zentralelektrik


Im Innern der Maschine hat sich jede Menge Schmodder angesammelt. Es handelt sich wohl um eine Mischung aus Schmutz (von außen in die Maschine gelangt), Getriebefett (aus dem Getriebe rausgeschwitzt wie auf dem Foto zu sehen) und Dichtungsmaterial (z.B. Zwischenplatte Pos. 94 laut Liste, welche sich nach 40 Jahren aufgelöst hat).
 

Schmodder
Das Getriebe schwitzt

Motor und Getriebe ausbauen

Für eine gründliche Reinigung und die geplante Neulackierung müssen Motor und Getriebe ausgebaut werden. Die ganzen Gummidämpfer sind entweder spröde oder lösen sich auf. Diese Teile werde ich wohl alle nachbestellen.


 Motor und Getriebe ausgebaut.

Das Unterteil, bereit für eine erste Reinigung.




Ein erster Blick in das Getriebe nach Enfernen des oberen Deckels zeigt noch ziemlich viel Fett in gutem Zustand. Weil ich das Gehäuse neu abdichten werde, wird das ganze Getriebe trotzdem gereinigt und neu befüllt. 





Bauknecht Ku 2-1 restaurieren [1]: Die Ausgangslage

Der Gerät

Nach längerer(!) Suche auf eBay nach einem robusten und bezahlbaren Fleischwolf hatte ich letztendlich Auktionsglück und bin nun Besitzer eines Bauknecht Ku 2-1 Antriebs mit passendem Fleischwolf W 60 A, beides vermute ich produziert in den 70er Jahren.
Eine Weiterentwicklung wird heute noch von der Firma Krefft produziert (Universal - Küchenmaschinen - System Allzweck Ku 2-1), und auch Ersatzteile für die alten Bauknecht sollen noch lieferbar sein (wird sich demnächst zeigen).

Der Fleischwolf wurde schon getestet und funktioniert einwandfrei. 15kg Fleisch für Bratwurst durch die 3mm Scheibe oder Rinderbeinscheibe mit richtig dicken Sehen als Hundefutter sind dank des Vorschneiders kein Problem.

Es gibt übrigens zwei passende Wölfe, den W60 System Unger R70 mit Vorschneider (leicht erkennbar am eckigen Einfülltrichter) und den AW3 mit System Enterprise Größe 8 (runder Einfülltrichter). System Enterprise hat keinen Vorschneider. Beide Ausführungen sind regelmäßig auf bekannten Auktionsplatformen zu finden.

Wieso Restaurieren

Antrieb und Wolf machen einen sehr robusten Eindruck und sind eigentlich für den Einsatz in der Gastronomie gedacht. Der Antrieb (laut Anleitung "Kernstück") wiegt ca. 17kg. Der Entwurf dieser Maschine stammt eindeutig aus einer Zeit als ein programmiertes Lebensende nach der Garantie noch nicht bekannt war. Wer an Technik und Maschinen interessiert ist, wird gerne etwas Zeit in Wartung und Reinigung investieren.

Und warum bloggen? Weil ich jedesmal froh bin zu einem Problem eine Anleitung oder Hilfestellung  im Internet zu finden und vielleicht gibt es jemanden, den das hier interessiert.

Ein netter Nebeneffekt besteht darin, daß ich später genug Fotos habe um die Maschine nach der Wartung auch wieder richtig zusammensetzen zu können.

Was Restaurieren

Folgende Arbeiten sind momentan geplant:
  • Reinigen;
  • Defekte oder verschlissene Teile ersetzen;
  • Getriebefett wechseln;
  • Neu lackieren (vielleicht).