Es ist ja nun schonwieder einige Zeit her dass ich etwas über meine CB-Funk Software namens “FFN-Switcher” geschrieben habe. Nun ist es immerhin mal wieder soweit dass ich zeit gefunden habe mich mit einigen Bugfixes zu beschäftigen.
Gleichzeitig habe ich den Sourcecode von meinem privaten Subversion Repository auf den öffentlich zugänglichen GitHub Dienst hochgeladen. Dort kann der Sourcecode und was noch viel wichtiger ist: die Bug- und Wunschliste abgerufen und editiert werden.
Natürlich gab es in der Zwischenzeit auch einige Bugfixes. Sodass mittlerweile Version 111 online steht und über die automatische Updatefunktion abgerufen werden kann.
In my case it’s just partly do-it-yourself: Michael and Peter did the cable soldering and I wrote the software that controls the serial interface to the PMR sender/receiver.
My gateway is on PMR channel 5 with no CTCSS configured in the Campus area of the TU-Ilmenau. A gateway is only just a PMR radio connected to a PC which is logged into a Teamspeak server which is connected to several other gateways (citizen radio / PMR / …)
So if you talk within the range of my gateway you’ll be heard in more than 24 areas across germany over PMR and citizen radio.
One toolset which was particularly useful is the VU-Meter tools. You can use them to monitor your input/output ports and tune them for perfect modulation. You can get them here and they look like this:
Since the cable soldering was one piece of craftsmanship a picture of the radio and the cable:
the computer side of the interface
the radio side of the interface
If you want to connect from outside the range of the PMR you should go to the homepage of Freies Funknetz and get all the necessary information there.
Das Switchertool des Freien Funknetzes nähert sich der ersten finalen Version und dementsprechend entwickelt sich auch gerade die letzte wichtige Funktion: die Updatefunktion:
Seit der aktuellen Version 1.0.0.100 ist eine Updatefunktion eingebaut welche immerhin schon prüft ob eine neue Version verfügbar ist und auch erlaubt diese neue Version zu downloaden.
Nach ein paar Wochen ist es nun Zeit für eine weitere Version des FFN Switchers. Dank der mühevollen Tests vieler fleissiger Helfer des Freien Funknetzes gibt es eine bugfreiere Version inklusive neuer GUI.
So nachdem ich heute den Abend zusammen mit der Verwandtschaft einige Bugs im Switcher gefunden und – so denken wir – auch beseitigt haben will ich heute mal alle auf einen Stand bringen und ein Gesamt-Kunstwerk-ZIP File für an die Öffentlichkeit zerren.
Wenn man den Quelltext nun dann mal auf der Festplatte hat wäre es natürlich nicht schlecht wenn man ihn auch einigermassen komfortabel ändern könnte: Nichts leichter als das!
Es gibt ja die segensreichen Express Editionen von Visual Studio – und genau die ist vollkommen ausreichend um den Quelltext auf sehr komfortable Weise (Onlinehilfe, Syntax Highlighting, usw.) zu erkunden und zu ändern.
P.S.: Die Fehlermeldung die beim Öffnen der FFN-Switcher.sln Datei erscheint ist darauf zurückzuführen dass ich mit einer “größeren” Version von Visual Studio arbeite – man braucht sich davon nicht verrückt machen zu lassen.
Da im Moment schon einige den FFN-Switcher verwenden dachte ich ich schreibe mal wie man sich den Switcher selbst kompiliert ohne dass man eine ganze Entwicklungsumgebung installieren muss. Das hat den Vorteil dass man sehr schnell Änderungen am Code vornehmen kann und sich mal eben fix eine eigene Version daraus übersetzt – sollen die Änderungen allen anderen Nutzern auch zur Verfügung gestellt werden sollten sie natürlich an mich geschickt werden – ich werde sie dann nach Prüfung in den Quelltext einbinden bzw. auch in Einzelfällen Zugriffsrechte auf den Quelltext direkt verteilen. Idealerweise kann man per Skype (siehe Kontaktinformationen rechts) oder per Kommentarfunktion an diesem Artikel Kontakt mit mir aufnehmen.
Zuersteinmal braucht man folgende Dinge:
installierter .NET Framework 3.5 und .NET Framework 2.0 Um den Switcher zu benutzen reicht 2.0, nur zum kompilieren braucht man 3.5.
einen Subversion Client um den Quelltext zu downloaden Im Beispiel verwende ich TortoiseSVN
Das war es eigentlich auch schon. Wenn man das alles installiert hat verwendet man den Subversion Client um von der Adresse http://www.dotnetcommunity.de:6667/ffn-switcher den Quelltext zu downloaden.
Mit TortoiseSVN geht das so:
Verzeichniss erstellen
Rechts klicken auf Verzeichniss
im Kontextmenü “SVN Checkout…” wählen
in die Adresszeile die obige Adresse eintragen
OK klicken
Nach dem Klick auf OK downloaded TortoiseSVN dann den kompletten Quelltext in das angegebene Verzeichniss.
Der nächste Schritt ist nun schon das eigentliche kompilieren – das Übersetzen des Quelltextes in ein lauffähiges Programm. Hierzu muss man wissen dass das notwendige Tool namens “MSBuild” zusammen mit dem .NET Framework installiert worden ist. Das Tool selbst befindet sich normalerweise im Verzeichniss: “C:\Windows\Microsoft.NET\Framework\v3.5\MSBuild.exe”.
Im Grunde besteht das Compilieren nur daraus dass man die Kommandozeile öffnet und in das Verzeichniss wechselt in dem die FFN-Switcher.sln Datei liegt.
So nun wie gesagt – in der Kommandozeile sieht das dann so aus:
Nach dem Druck auf Enter wird der FFN-Switcher kompiliert und im Unterverzeichniss bin\Debug abgelegt. Um das ganze komplett zu machen habe ich ein kleines Video (720p, am besten per Vollbild zu betrachten) erstellt in dem alle Schritte gezeigt werden:
Die Arbeiten am Switcher Tool gehen sehr schnell vorran – eigentlich fehlen nichtmehr viele Teile des Puzzles… hmm um genau zu sein ist das Puzzle schon komplett aber noch nicht zusammengesetzt.
Um mal einen kleinen Screenshot und damit Eindruck des aktuellen Standes zu liefern:
Eigentlich sind bis zu den ersten Tests durch echte Gateway Betreiber nurnoch folgende Dinge auf der Liste:
wenn Gateway sendet eine Zwangspause bis zum nächsten Senden einlegen bzw. garnicht zu senden aufhören wenn in der Zeit nichts passiert
COM Port Steuerung einbauen, fertig getestet ist sie ja schon
HTML Seiten fertigstellen – damit man keine “hässlichen” XML Dateien editieren muss um die Konfiguration zu ändern
Wer bislang kein Subversion Client installiert hat oder installieren konnte, dem möchte ich die Gelegenheit geben trotzdem mal “reinzuschauen”: Ich stelle den aktuellen Sourcecode des Switchers zum download für jeden (CC-BY-NC-SA Lizenz) und bitte um reichlich Kommentare :-)
Die Entwicklung hat tatsächlich schon begonnen und ist auch schon in den ersten Grundsatzentscheidungen angekommen. Wie soll das Benutzerinterface aussehen – wie die Konfiguration? Welche Features werden zuerst benötigt?
Im Moment sieht man noch nicht viel von der geplanten Applikation – nur einen Haufen Quelltext der schon ein bisschen dies und jenes tut – unter anderem ist geklärt:
der Zugriff auf die COM-Schnittstelle
die Soundausgabe für die Bake
der Zugriff auf den Teamspeak Client
das Logging
die Lizenz
Beim letzten Punkt wirds dann auch schonwieder spannend. Ich habe mich entschlossen den Quelltext und das fertige Programm unter einer Creative Commons Lizenz zu veröffentlichen – genauer gesagt unter “Namensnennung-Keine kommerzielle Nutzung-Weitergabe unter gleichen Bedingungen 3.0 Unported”:
Weiterhin steht mittlerweile die Versionsverwaltung sodass sich jeder der mag gerne den Quelltext und damit den aktuellen Entwicklungsstand anschauen kann. Entweder mit einem normalen Webbrowser unter folgender Adresse:
svn co http://www.dotnetcommunity.de:6667/ffn-switcher/
Die noch ausstehenden Grundsatzentscheidungen unter anderem über das Aussehen des Benutzerinterfaces werden in Kürze getroffen sodass schon bald die erste grundsätzlich funktionierende Version – zumindest in Quelltext Form (erster offizieller Release der Software selbst kommt erst wenn eine Menge an Tests durchlaufen sind) – verfügbar sein wird.
Ich hatte ja vor kurzem schoneinmal einen (englischen) Artikel über das freie Funknetz geschrieben – da sich nun abzeichnet dass ich mich da auch ein wenig einbringen möchte (jaaa, nicht nur nutzen sondern auch mitmachen und helfen!) werde ich ab sofort ab und an kleinere und größere Artikel zum freien Funknetz und zu meinem geplanten Beitrag – einem Switcher Tool für Funk Gateways – schreiben.
Der Reihe nach: Was ist das freie Funknetz überhaupt?
Beim freien Funknetz handelt es sich um einen Zusammenschluss von Funkinteressierten im deutschsprachigen Raum (und Arizona B-)) die ihr Hobby auf die nächste Stufe gehoben haben: Die Verbindung zwischen CB oder PMR Funk und der entsprechend relativ geringen Reichweite und dem Internet mit der weltweiten Zugriffsmöglichkeit. Über eine Voice-Chat Software namens Teamspeak, einem Funkgerät samt diversen Anschlusskabeln und Geräten und einem PC wird so ein sogenannter Gateway realisiert der die Brücke zwischen einem Voice-Chat-Kanal im Internet und dem CB/PMR Kanal schlägt. Das ganze nun multipliziert an vielen verschiedenen Orten in und außerhalb von Deutschland und man erhält das freie Funknetz.
Wozu das ganze? Falls es bis hierher noch nicht klargeworden ist: Es ist möglich dass man vollständig ohne Funkgerät aktiv in vielen Gebieten Deutschlands funken kann – realisiert über eine kleine Client Software. Man kann die Funker in den Empfangsbereichen aller Gateways hören und selbst mit ihnen sprechen – dabei ist es egal ob man selbst das Funkgerät (in Reichweite eines Gateways) oder die Internet Client Software verwendet. – Wer das selbst mal erleben will möge sich eingeladen fühlen.
Ich nutze diese Einrichtung nun schon ein paar Monate und bin der Meinung dass es an der Zeit ist auch mal einen Beitrag zur Weiterentwicklung dieses wunderbaren Hobbies zu leisten. Was mir in diesem Zusammenhang ganz offensichtlich ins Auge gesprungen ist ist die konsequente Verwendung von nicht-quelloffenen Tools. Sowohl die Client/Server Software als auch die notwendigen und durchweg von Privatleuten selbstentwickelten Tools zur Steuerung der Funkgeräte sind nicht quelloffen. Das stellt die Hobbyisten vor ganz konkrete Probleme: Erweiterungen und Wünsche können nicht aktiv umgesetzt werden und letztlich ist man an Einzelpersonen gebunden ohne jede Chance engagierten Menschen die Möglichkeit zu geben die bisher geleistete gute Arbeit weiterzuführen. Weiterhin birgt die Abhängigkeit von – in diesem Falle der Software TeamSpeak – möglicherweise noch ganz andere Gefahren: Die Entwicklung dieser Software stockt und so recht weiss keiner wie es damit weitergehen soll. Es gibt quell-offene Alternativen wie Mumble oder eQSO aber um diese überhaupt nutzen zu können müssen die selbstentwickelten Tools zur Steuerung der Funkgeräte angepasst werden – da beisst sich die Katze in den Schwanz.
Genau hier will ich nun ansetzen und diese Steuersoftware für die Funkgeräte – die sogenannte Switcher Software – quelloffen und unter freier Lizenz reimplementieren sodass auch andere auf dieser Arbeit aufbauend weiterarbeiten können. Derzeit befinde ich mich noch in der Planungsphase da sehr viele Wünsche und Anforderungen bedacht werden müssen – vorab hier einmal prinzipielle Aufbau eines solchen Funk Gateways wie es zur Zeit zum Einsatz kommt:
Aus gegebenen Anlass möchte ich auch mal auf die Kommentarfunktion hinweisen – gerne können Wünsche und Mithilfe-Angebote dort eingetragen werden :-)
The internet makes things possible some people dreamt of for years. One of these things is the possibility to stream live-voice-chat over the internet. Many people used the citizens’ band radio – CB radio – for the last decades:
“Citizens’ Band radio (CB) is, in many countries, a system of short-distance, simplex[1] radio communications between individuals on a selection of 40 channels within the 27 MHz (11 meter) band. The CB radio service should not be confused with FRS, GMRS, MURS, or amateur (“ham”) radio. Similar personal radio services exist in other countries, with varying requirements for licensing and differing technical standards. In many countries, CB does not require a license and, unlike amateur radio, it may be used for business as well as personal communications.”
For several years now there is a group of people from virtually everywhere in germany who connect their CB radios to the internet – they link their “gateways” together using a software normally used by online gamers called “TeamSpeak”. All you have to do to take a look is to read this short how-to and follow the steps.
Here’s a sneak-peak at the current status of the server:
There’s even a livestream available (but sometimes not working):