RasClock V3 und der Raspberry Pi 2

Seit einigen Tagen besitze ich einen Raspberry Pi 2. Da ich noch ein ungenutztes RTC-Modul „RasClock V3“ in der Schublade liegen hatte, dachte ich mir, wäre es doch toll, wenn ich für meinen ersten „Desktop-Raspberry“ auch eine Real-Time-Clock, also eine Echtzeit-Uhr, hätte, damit die Uhrzeit unabhängig von der Netzerreichbarkeit einigermaßen korrekt gesetzt wird. Klar wird im normalen Betrieb die Uhrzeit per NTP mit der Außenwelt synchronisiert, so dass hier eigentlich kaum eine nennenswerte Differenz bestehen sollte, aber manchmal ist es eben auch so, dass hier im Hausnetz die WLAN-Anbindung ein wenig hakt und dann gibt es eben mal keine Uhrzeit von extern.

Wie habe ich das Modul zum Laufen gebracht? Ganz einfach eigentlich: Ich habe im raspi-config die beiden Funktionalitäten SPI und I2C aktiviert, in /etc/modules folgende beiden Zeilen hinzugefügt:

i2c-bcm2708
rtc-pcf2127

und anschließend in der /etc/rc.local folgende Zeilen vor der letzten Zeile (exit 0) hinzugefügt:

echo pcf2127 0x51 > /sys/class/i2c-adapter/i2c-1/new_device
( sleep 2; hwclock -s ) &

Anschließend war noch ein „chkconfig fake-hwclock off“ angesagt, damit das System nicht mehr auf die dateibasierende Zwischenspeicherung der Uhrzeit zurückgreift. Nach einem Reboot war die Welt soweit in Ordnung und die Uhrzeit wurde ordnungsgemäß vom Modul bezogen. Seither läuft die Uhr stabil mit der gepufferten Uhrzeit und kann auch mal einen Netzwerkausfall verkraften.

Neues Experiment: Empfang von AIS-Daten auf der Saar

AIS-Empfang
AIS-Empfang

Amateurfunk und Technik ist ja schon was Feines – man hat immer irgendwas zu knoddeln und zu spielen. So bin ich jetzt, nachdem mein APRS-IGate einige Tage lief, auf die Idee gekommen, die Redundanz, die durch mich im Raum Völklingen entstanden ist, wieder etwas zu mindern und mich auf einen anderen Frequenzbereich zu verlagern – einfach weil es Spaß macht und mich immer wieder reizt, was Neues anzugehen. Ich habe also die vorhandene Hardware genommen, so belassen, wie sie war und nur die genutzte Software ausgetauscht:

Zum Empfang selbst wird rtl_fm genutzt, was die empfangenen Daten in ein FIFO-Device (vorher mit mkfifo angelegt) schreibt:
rtl_fm -f 161976000 -g 40 -p 95 -s 48k -r 48k /tmp/aisdata
Anschließend bedient sich gnuais der Daten im FIFO-Device und schickt diese an aprs.fi über die JSON-Schnittstelle. Das ganze funktioniert augenscheinlich schon mal nicht schlecht. Auf dem Screenshot kann man die Abfahrt der „MARIE JOSEPH“ vom Hafen in Vöklingen-Ost sehen, die dazugehörigen Datenpakete sieht man hier:

ch A type 1 mmsi 205263890: lat 49.250543 lon 6.870142 course 0 speed 0.0 rateofturn 32 navstat 0 heading 511 (!AIVDM,1,1,,A,133hD4PP00POLg:L;VuP0?v`RH;i,0*54)
ch A type 5 mmsi 205263890: name "MARIE JOSEPH" destination "" type 79 length 110 width 12 draught 0.1 (!AIVDM,2,2,1,,0000000000,2*54)
ch A type 1 mmsi 205263890: lat 49.250523 lon 6.870173 course 295 speed 0.0 rateofturn 32 navstat 0 heading 511 (!AIVDM,1,1,,A,133hD4PP00POLghL;VrcQOv`RD01,0*7C)
ch A type 1 mmsi 205263890: lat 49.250517 lon 6.870128 course 294 speed 0.0 rateofturn 32 navstat 0 heading 511 (!AIVDM,1,1,,A,133hD4PP00POLfrL;VqcPOv`R@;i,0*32)
ch A type 1 mmsi 205263890: lat 49.250490 lon 6.870082 course 316 speed 0.0 rateofturn 32 navstat 0 heading 511 (!AIVDM,1,1,,A,133hD4PP00POLf2L;VmdEww@R<01,0*4A)
ch A type 1 mmsi 205263890: lat 49.250493 lon 6.870027 course 282 speed 0.6 rateofturn 32 navstat 0 heading 511 (!AIVDM,1,1,,A,133hD4PP06POLe0L;VnK1wv2R0SB,0*7A)
ch A type 1 mmsi 205263890: lat 49.250517 lon 6.869725 course 278 speed 1.5 rateofturn 32 navstat 0 heading 511 (!AIVDM,1,1,,A,133hD4PP0?POLWFL;Vqbnww@R8GT,0*27)
ch A type 1 mmsi 205263890: lat 49.250230 lon 6.868312 course 244 speed 3.7 rateofturn 32 navstat 0 heading 511 (!AIVDM,1,1,,A,133hD4PP0UPOL<nL;V>aRgv2R80v,0*48)
ch A type 1 mmsi 205263890: lat 49.250063 lon 6.867858 course 242 speed 4.0 rateofturn 32 navstat 0 heading 511 (!AIVDM,1,1,,A,133hD4PP0`POL4FL;UmaLgv`R0S1,0*6D)
ch A type 1 mmsi 205263890: lat 49.249867 lon 6.867338 course 240 speed 4.2 rateofturn 32 navstat 0 heading 511 (!AIVDM,1,1,,A,133hD4PP0bPOKrVL;UHIFww@R0SE,0*7C)
ch A type 1 mmsi 205263890: lat 49.249647 lon 6.866758 course 237 speed 4.5 rateofturn 32 navstat 0 heading 511 (!AIVDM,1,1,,A,133hD4PP0ePOKgfL;To9@gv2R59`,0*27)
ch A type 1 mmsi 205263890: lat 49.248973 lon 6.865385 course 226 speed 3.2 rateofturn 32 navstat 0 heading 511 (!AIVDM,1,1,,A,133hD4PP0PPOKEvL;SB8lwv2R0R?,0*06)
ch A type 1 mmsi 205263890: lat 49.248447 lon 6.864928 course 193 speed 0.9 rateofturn 32 navstat 0 heading 511 (!AIVDM,1,1,,A,133hD4PP09POK=JL;R3GSOv0RH03,0*37)
ch A type 1 mmsi 205263890: lat 49.248353 lon 6.864923 course 194 speed 0.5 rateofturn 32 navstat 0 heading 511 (!AIVDM,1,1,,A,133hD4PP05POK=DL;QmGUOvVR59h,0*27)
ch A type 1 mmsi 205263890: lat 49.248327 lon 6.864922 course 197 speed 0.2 rateofturn 32 navstat 0 heading 511 (!AIVDM,1,1,,A,133hD4PP02POK=BL;QiGdww@RD01,0*1D)
ch A type 1 mmsi 205263890: lat 49.242467 lon 6.858325 course 227 speed 6.9 rateofturn 32 navstat 0 heading 511 (!AIVDM,1,1,,A,133hD4PP15POIAVL;D1ppgw@R0S8,0*11)
ch A type 1 mmsi 205263890: lat 49.242120 lon 6.857558 course 242 speed 6.9 rateofturn 32 navstat 0 heading 511 (!AIVDM,1,1,,A,133hD4PP15POI3>L;C>9NOv0R0So,0*7A)
ch A type 1 mmsi 205263890: lat 49.241820 lon 6.852620 course 274 speed 7.7 rateofturn 32 navstat 0 heading 511 (!AIVDM,1,1,,A,133hD4PP1=POGV`L;BPreww@RD02,0*4B)
ch A type 1 mmsi 205263890: lat 49.241990 lon 6.850342 course 279 speed 7.9 rateofturn 32 navstat 0 heading 511 (!AIVDM,1,1,,A,133hD4PP1?POFsrL;BrbqOvbRD02,0*42)
ch A type 1 mmsi 205263890: lat 49.242067 lon 6.849262 course 276 speed 7.8 rateofturn 32 navstat 0 heading 511 (!AIVDM,1,1,,A,133hD4PP1>POFWbL;C6Jjww@R@Ge,0*3E)
ch A type 1 mmsi 205263890: lat 49.242193 lon 6.848140 course 280 speed 7.7 rateofturn 32 navstat 0 heading 511 (!AIVDM,1,1,,A,133hD4PP1=POFB`L;CI:uOv2R<02,0*2D)
ch A type 1 mmsi 205263890: lat 49.242343 lon 6.847043 course 285 speed 7.7 rateofturn 32 navstat 0 heading 511 (!AIVDM,1,1,,A,133hD4PP1=POEv4L;Cgc7wvbR@<V,0*07)
ch A type 1 mmsi 205263890: lat 49.243070 lon 6.844007 course 298 speed 7.4 rateofturn 32 navstat 0 heading 511 (!AIVDM,1,1,,A,133hD4PP1:POE58L;ELcagvbR<02,0*30)
ch A type 1 mmsi 205263890: lat 49.244740 lon 6.841143 course 325 speed 6.9 rateofturn 32 navstat 0 heading 511 (!AIVDM,1,1,,A,133hD4PP15POD?LL;IFtd?w@R5:L,0*52)
ch A type 1 mmsi 205263890: lat 49.245307 lon 6.840597 course 328 speed 7.5 rateofturn 32 navstat 0 heading 511 (!AIVDM,1,1,,A,133hD4PP1;POD5<L;Jd<kgv2R0S6,0*7D)
ch A type 1 mmsi 205263890: lat 49.245927 lon 6.840015 course 335 speed 7.1 rateofturn 32 navstat 0 heading 511 (!AIVDM,1,1,,A,133hD4PP17POCrBL;L9M4gvbR5:P,0*60)
ch A type 1 mmsi 205263890: lat 49.247223 lon 6.839592 course 347 speed 7.7 rateofturn 32 navstat 0 heading 511 (!AIVDM,1,1,,A,133hD4PP1=POCjFL;O;eS?v2RL03,0*20)
ch A type 1 mmsi 205263890: lat 49.248000 lon 6.839387 course 356 speed 7.5 rateofturn 32 navstat 0 heading 511 (!AIVDM,1,1,,A,133hD4PP1;0OCfPL;Pwuq?vbR0Rl,0*2C)
ch A type 3 mmsi 205263890: lat 49.248650 lon 6.839357 course 358 speed 7.5 rateofturn 32 navstat 0 heading 511 (!AIVDM,1,1,,A,333hD4PP1;0OCetL;RQevww@RAPC,0*0D)
ch A type 1 mmsi 205263890: lat 49.249283 lon 6.839347 course 4 speed 7.5 rateofturn 32 navstat 0 heading 511 (!AIVDM,1,1,,A,133hD4PP1;POCehL;T0P:gv2RH0d,0*40)
ch A type 5 mmsi 205263890: name "MARIE JOSEPH" destination "" type 79 length 110 width 12 draught 0.1 (!AIVDM,2,2,0,,0000000000,2*55)
ch A type 1 mmsi 205263890: lat 49.253473 lon 6.840430 course 4 speed 7.5 rateofturn 32 navstat 0 heading 511 (!AIVDM,1,1,,A,133hD4PP1;POD24L;em@9gv2R@0d,0*3B)
ch A type 1 mmsi 205263890: lat 49.254843 lon 6.839917 course 341 speed 7.4 rateofturn 32 navstat 0 heading 511 (!AIVDM,1,1,,A,133hD4PP1:POCpLL;i2eCww@R@H1,0*45)
ch A type 1 mmsi 205263890: lat 49.255487 lon 6.839507 course 332 speed 7.4 rateofturn 32 navstat 0 heading 511 (!AIVDM,1,1,,A,133hD4PP1:POChhL;jS<wOv2R<03,0*3B)
ch A type 1 mmsi 205263890: lat 49.263060 lon 6.830623 course 325 speed 7.9 rateofturn 32 navstat 0 heading 511 (!AIVDM,1,1,,A,133hD4PP1?POA:<L<4C<cwvbRD03,0*77)

Ich werde mich jetzt die nächsten Tage mit der Thematik beschäftigen, die entsprechende Software so in ein Script zu kleiden, dass sie als Service gestartet wird und nicht mehr per Hand gestartet werden muss. Als Daemon läuft es sich nämlich angenehmer 🙂

APRS-IGate mit Raspberry Pi und RTL-DVB-T-Stick wieder QRV

Nachdem mir vor einiger Zeit mein RTL-USB-Stick wegen eines Defekts ausgefallen ist, ist jetzt mein IGate wieder QRV. Heute kam ein neuer DVB-T-Stick bei mir an, so dass ich jetzt wieder mein Gateway in Betrieb nehmen konnte. Der neue Stick hat einen Rafael Micro R820T tuner und ist ebenfalls als RTL2838-Device zu nutzen. Jetzt bin ich mal gespannt, welche Empfangsergebnisse das Teil liefern wird. Mein Gedanke ist es ja, hauptsächlich die Gegend hier in Völklingen mit Empfangsmöglichkeiten zu bestücken, da ich mit meinem kleinen APRS-Tracker ja bekanntlich Probleme habe, mit einem Watt Gehör zu finden. Ein erster Test während der Erstellung dieses Artikels zeigt schon mal zuverlässig empfangene Pakete an. Also können wir mal gespannt sein, wie sich das entwickeln wird.

Die ersten Tage mit dem Raspberry Pi D-Star Hotspot

Schreenshot Maryland DSTARSeit dem Wochenende, genauer seit Freitag Abend eigentlich, betreibe ich einen meiner Raspberry Pi als D-Star Hotspot. Die Installation des Kartenimage verlief ja relativ einfach (ich schrieb es bereits). Nun habe ich über das Wochenende ein paar Tage Erfahrungen sammeln können und muss sagen, dass ich durch und durch positiv angetan bin: Die Sache läuft sehr schön rund, macht eigentlich keine Probleme und Abstürze sind eigentlich so gesehen bisher auch keine vorgekommen. Was zu erwähnen wäre, ist die Tatsache, dass ich gestern irgendwie teilweise Probleme mit dem DCS/CCS-Routing hatte – was ich aber auf Serverprobleme zurück führe, da ohne mein Zutun die Sache nach einigen Minuten dann doch wieder erledigt war.

Jetzt steht das evtl. mögliche Feintuning der Software an – mal sehen, was man da noch so tun kann.

Die Reichweite des Hotspots habe ich noch nicht ausgetestet, hierzu würde ich mich aber die Woche mal mit dem Handfunkgerät und dem Sohnemann (damit der auch mal wieder an die frische Luft kommt, hi) auf den Weg machen, um das Ding mal abzuklopfen hier im Wohngebiet. Mit 10 mW sollte auf 70cm durchaus Einiges machbar sein, denke ich, oder?

Raspberry Pi als D-STAR-Hotspot

Mich hat es wieder einmal gereizt, unnötiges Geld auszugeben, hi. Diesmal ist für knappe 100 Euro das DVMEGA RPI Radio-Modul gekauft worden. Das Modul hat mich bereits erreicht heute, ich muss es nur noch im Raspberry Pi einbauen.

Das passende OS-Image für den Raspberry habe ich von der Maryland-D-Star-Seite heruntergeladen und entsprechend der dortigen Anleitung installiert und konfiguriert, so dass eigentlich heute Abend, wenn ich das Radio-Modul eingebaut habe, der Betrieb an sich losgehen kann. Die Downloadzeiten und die Zeit für das reine Schreiben des Images (8 GB groß) auf die SD-Karte nicht mitgerechnet, war es wohl ein Zeitaufwand von ca. 10-15 Minuten, bis alles konfiguriert war. Ich spare mir jetzt hier eine Anleitung, wie das alles verlief, ich finde, die Doku auf der Website (als PDF mit bissel mehr als 20 Seiten) ist ausführlich und genau genug, dass man, wenn man eine Maus bedienen kann und die englische Sprache beherrscht, das auch hinbekommt.

Ich bin jetzt echt nur mal gespannt, wie sich der Hotspot-Betrieb so anfühlt. Aktuell nutze ich ja DB0IKS zum Einstieg ins D-Star-Netz, was aber aufgrund der einigermaßen ungünstigen HF-Situation sehr grenzwertig verläuft, was meine Aussendungen angeht. Es klappt zwar, aber je nach Witterung bin ich teilweise unterhalb dessen, was an notwendiger Stabilität zu liefern ist, um eine Verbindung zum Repeater zu halten. Das ist jetzt Geschichte mit dem Hotspot.

Sobald hier mehr Erfahrungen vorliegen, werde ich mich natürlich noch einmal melden.

APRS IGate mit dem Raspberry Pi

Basierend auf dem Artikel von Marco Kubon habe ich meinen Raspberry Pi, der bisher als ADS-B-Bakenempfänger diente, zu einem RX-Only-IGate ausgebaut, welches jetzt unter dem Rufzeichen DG9VH-10 Positionsbaken ins Internet transferiert.

Alles in Allem eine sehr einfach umzusetzende, da gut und detailliert beschriebene Anleitung, der ich jedoch eines hinzufügen möchte: Bei mir hat es mit der Kalibrierung des Sticks bisher nicht so ganz funktioniert. Trotz der Angabe der ausgemessenen PPM hat sich am Frequenzversatz von gut 10 kHz nichts verändert. Hier suche ich noch die Ursache. Bis dahin muss ich statt der 144.800 eben die 144.810 als Frequenz übergeben 🙂 Auch kein wirkliches Problem, da die Angabe einmal ins Konfig-File eingetragen, nicht mehr wirklich relevant sichtbar wird.

Ich werde die Sache nun also einige Tage mal im Testbetrieb laufen lassen und mal sehen, was sich an APRS-Bakenmeldungen alles zu mir verläuft. Einen kurzen Eindruck der aktuellen Minute kann man hier gewinnen:

Nov 22 19:55:32 pisdr pymultimonaprs: sending: LX0ARR-13>APTT4,LX0APN-4*,LX0LTE-2*,LX0APR-2*,DF5VL-10*,WIDE2*,qAR,DG9VH-10:;438.75DMR*111111z4927.48N/00559.83Er438.750MHz DMR LX0RU
Nov 22 19:55:45 pisdr pymultimonaprs: sending: F6JMI>TXUTV6,F5ZEE*,WIDE1*,DF5VL-10*,WIDE2*,qAR,DG9VH-10:‘}CH#034 #034-/>=
Nov 22 19:55:47 pisdr pymultimonaprs: sending: F6JMI>TXUTV6,F5ZEE*,WIDE1*,DB0HWR-5*,WIDE2*,qAR,DG9VH-10:‘}CH#034 #034-/>=
Nov 22 19:56:01 pisdr pymultimonaprs: sending: DB0HWR-5>APNW01,WIDE2-2,qAR,DG9VH-10:@221947z4933.76N/00647.02E#DB0HWR APRS Digi Q21 Hochwald – Saar
Nov 22 19:56:03 pisdr pymultimonaprs: sending: DB0HWR-5>APNW01,DF5VL-10*,WIDE2-1,qAR,DG9VH-10:@221947z4933.76N/00647.02E#DB0HWR APRS Digi Q21 Hochwald – Saar
Nov 22 19:56:18 pisdr pymultimonaprs: sending: DB0GIS>APNU19,DB0MI*,DB0XHI*,DB0ISA*,DB0HWR-5*,WIDE2*,qAR,DG9VH-10:!5039.12N/00834.88E#APRS-DIGI Duensberg/Giessen Sysop DL6FBS@darc.de
Nov 22 19:56:32 pisdr pymultimonaprs: sending: DB0BOS>APNU19,DB0RO*,DB0HWR-5*,WIDE1*,DB0TFM-1*,qAR,DG9VH-10:!4944.59N/00855.26E#APRS-Digi Boellstein
Nov 22 19:56:38 pisdr pymultimonaprs: sending: DL3CM-5>BEACON,DB0VI-2*,DB0HWR-5*,WIDE2*,qAR,DG9VH-10:@221945z4928.99N/00701.79E.
Nov 22 19:56:58 pisdr pymultimonaprs: sending: F1ZNR-2>APFD57,DF5VL-10*,WIDE2*,qAR,DG9VH-10:!4908.08NN00612.90E#PHG54701/ APRS RELAY METZ
Nov 22 19:56:59 pisdr pymultimonaprs: sending: F1ZNR-2>APFD57,DB0HWR-5*,WIDE2-1,qAR,DG9VH-10:!4908.08NN00612.90E#PHG54701/ APRS RELAY METZ

Warten wir also ab!