Der von John Hansen entwickelte TNC-PI ist ein kleiner Kiss TNC, der nahtlos auf einen Raspberry Pi aufgepropft wird. Hier soll gezeigt werden, wie man den TNC mit dem Raspi Betriebssystem verheiratet. Für die krude Formatierung, speziell der Screenshots entschuldige ich mich. Ich habe kurz vor der HamRadio einfach keine Zeit mich noch tief mit feinen CSS-Stylesheets und WordPress zu beschäftigen. Das gleiche gilt für die korrekte Verwendung deutscher Begriffe. Ich gehe davon aus, dass einem interessierten Funkamateur ein paar angelsächsische Begriffe wie ‚Interface‘ geläufig sind. Manch englischer Ausdruck ist schlicht umd einfach griffiger.
Alle folgenden Erklärungen basieren auf
- Einem Raspberry Pi 2
- einem Raspian Wheezy aktueller Prägung auf einer, sagen wir 16 GB SD
- Einer funktionierenden Netzwerkverbindung. Das vorliegende Beispiel arbeitet mit entfernten Konsolen, die eleganteste Möglichkeit, mit dem Raspi zu spielen.
- Basiskentnisse in der Bedienung des Betriebssystems, speziell den Nano Editor und die Tatsache,
dass man generell nur mit User Privilegien arbeitet. - Eine zu jeder Zeit vorhandene Internet Verbindung. Ich werde das nicht vor jedem ’sudo apt-get‘
etc wiederholen.
Beginnen wir mit dem Login auf ein lauffähiges System, Der Einfachheit halber nimmt man den Putty für die ersten Einstellungen. Hier darf man getrost die ‚Portable Applications‘ der Portable Apps Plattform empfehlen. Die Anwendungen, die man dort findet sind brauchbar und klinken sich nicht unwiderruflich in sein (Windows) System ein.
Im nächsten Schritt wird das System aktualisiert. Da das Betriebssystem des Raspi auf einem Linux Derivat basiert, ist die Wahrscheinlichkeit sekündlicher Aktualisierungen recht gross :-). Die bekannten Aktualisierungsbefehle muss man nicht noch gross erklären.
- sudo apt-get update
- sudo apt-get upgrade
Bevor es nun weitergeht, verpasst man dem Raspi als erstes eine feste IP Adresse. DHCP ist ja für mobile Geräte interessant, aber wenn man den Raspi als Zielsystem für eigene Entwicklungen benutzt…..
Die originale Netzwerk-konfiguration wird gesichert und anschliessend verändert. Ein Beispiel zeigen die folgenden Zeilen und Screenshots. Natürlich passt man die Adressen seinem eigenen Netzwerk an und vergibt zumindest 5 Sterne als WPA-psk Phrase :-).
Es existieren mehrere Möglichkeiten, einem WLAN Interface eine statische Adresse zu verpassen. Bei mir ist es halt so, dass
nur die obige Version zusammen mit einem AX.25 Interface funktioniert. Bei anderen Ausprägungen der Interface Definition ‚verschwindet‘ die WLAN Verbindung, sobald das AX.25 Interface per ‚kissattach‘, siehe unten, aktiviert wird.
Im nächsten Schritt verpassen wir den Raspi noch einen Xserver. Ich nehme dazu immer den tightvncserver.
1. weil er in Raspikreisen weit verbreitet ist und
2. weil die Einrichtung weitgehend schmerzfrei verläuft. Der erste Schritt ist wie üblich ein sudo apt-get install tightvncserver
Nach der Installation ist es nötig, den Server einmal ohne Parameter zu starten. Es wird nach einem Password gefragt. Bitte eins wählen. Ein ‚View only‘ passwort darf man sich getrost sparen.
Danach wird, weil man ja bequem ist, der Server für einen Autostart eingerichtet. Der Einfachheit halber nimmt man einen codeschnipsel, den man im Netz findet:
wget http//www.penguintutor.com/otherfiles/tightvncserver-init.txt sudo mv tightvncserver-init.txt /etc/init.d/tightvncserver |
Versieht das Ganze mit den richtigen Rechten
cd /etc/init.d sudo chown root:root ./tightvncserversudo chmod 755 ./tightvncserver sudo update-rc.d tightvncserver defaults |
Nach einem reboot sollte man nun in der Lage sein, von jedem beliebigem Windows Rechner (der natürlich den tightvncviewer oder einen anderen vnc Viewer installiert hat) einen login zum VNCserver auf dem Raspi hinzubekommen.
Von nun an werden wird hier aus Bequemlichkeit mit der graphischen Oberfläche gearbeitet. Zuerst gilt es einige kleinere Eingriffe (minor surgery) an Systemdateien vorzunehmen und relevante ax.25 Pakete nachzuinstallieren.
Der Basissupport für AX.25 ist bereits (wie in jedem Linux Kernel) vorhanden.
Im Grunde genommen bete ich ab nun lediglich die Anleitung von John Hansen und Friends auf deutsch nach und belege sie mit ein paar Bildern, damit man es auch glaubt. Man kann sie aber auch hier:
http://tnc-x.com/TNCPi.pdf |
bekommen.
Zuerst entfernt man, falls vorhanden zwei Einträge in der Datei /boot/cmdline.txt. Diese Einträge sind in einer einzigen Zeile zu finden:
console=ttyAMA0, 115200 und kgdboc=ttyAMA0, 115200 |
Der zweite Eintrag war bei mir nicht vorhanden.
Anschliessend wird in der /etc/inittab noch der Eintrag
Dazu bearbeitet man die Datei
/etc/ax25/axports
1 dk5dc-9 19200 2 APRS
Nun kann man getrost versuchen, die erste Verbindung zum tnc herzustellen. Zuerst muss man den TNC an den TCP/IP Stack binden. Auch wenn vorerst die TCP/IP Services nicht benutzt werden:
#!/bin/sh -e # rc.local # This script is executed at the end of each multiuser runlevel. # Make sure that the script will „exit 0“ on success or any other # value on error. # Print the IP address _IP=$(hostname -I) || true if [ „$_IP“ ]; then printf „My IP address is %s\n“ „$_IP“ fi logger „kissattach“ sudo kissattach /dev/ttyAMA0 1 44.130.17.60 |logger sudo vncserver |logger #logger „start aprx“ #sudo aprx |logger #lcdp „rc.local ok“ „up&running“ exit 0 |