Das neue Jahr nähert sich mit großen Schritten, und die Hostingkosten werden wieder fällig. Diesmal muss aber nichts gesammelt werden, da über das Jahr so viele spontane PayPal-Spenden zusammengekommen sind, dass die Kosten für das kommende Jahr schon gedeckt sind.
Keine PANIK! Das Projekt soll NICHT das i-Telex-System ablösen! ;)
- piTelex
Ziel des Projekts piTelex ist die Anbindung eines FS an einen Raspberry Pi (RPi) oder PC (Windows oder Linux) und die Kommunikation weiter zu i-Telex oder anderen Internet-Diensten. Vorwiegend für einen einzelnen FS und zu Test-/Reparatur-Zwecken. Auch gut für Anfänger geeignet, da nur ein geringen und somit kostengünstiger Hardware-Aufwand.
Das Projekt hat sowohl einen Hardware-Part für die Ansteuerung eines FS als auch einen Software-Part für das Interface zur Hardware, die Kodierung der Zeichen und das Routen ins Netzwerk.
Ein Gemeinschaftsprojekt des FabLab Würzburg .
Software
Das Programm ist in Python3 (ab Version 3.5) geschrieben und läuft auf folgenden Plattformen:
Raspberry Pi (Zero bis 3B+) mit Raspian
Windows-PC
Linux-PC
Mac (noch nicht getestet)
Die Software ist in einzelne Module/Plugins unterteilt, die nur geladen werden, wenn sie benötigt werden. Es stehen folgende Module...
Da ja Streifen von Kennungsgebern (je nach Typ) Mangelware sind und selbst wenn dies nicht der Fall sein sollte man es ja dazu nicht kommen lassen muss, habe ich mir mal eine Tabelle gebaut, die Zeigt was man aus den jeweiligen Streifen noch so machen kann.
In der Tabelle sind kein Makros nur normale Exel-Formeln.
In Zeile 2 trägt man einfach ein, welcher Buchstabe bereits geknipst ist. (Nur Buchstaben ... Zahlen bitte wie Buchstaben betrachten!)
In den Zeilen darunter erscheinen dann die Zeichen, die man aus dem Streifen noch machen kann.
In den grünen Feldern sieht man welche Buchstaben, Zahlen und Sonderzeichen noch möglich sind (mit entsprechender Knipsung aus Spalte G).
In der Blauen Feldern sind die möglichen Buchstaben, Zahlen und Sonderzeichen gelistet, die Möglich sind, wenn man außer Knipsen die Streifen auch umdrehen kann (nicht bei jedem KG möglich).
Es gibt 20 Blöcke, so das man auch KG ohne herausnehmbare Streife abbilden kann.
Im i-Telex werden ja üblicherweise die Original-Rufnummern der Fernschreiber möglichst beibehalten.
Inzwischen sind mehrere Maschinen aus dem Telegramm-Netz am i-Telex angeschlossen. Die Original-Nummern sind meist nur vierstellig, das geht im i-Telex nicht, da die Nummern mindestens fünfstellig sein müssen.
Ich würde nun vorschlagen, einen zweistelligen Präfix für diese original Telegrammmaschinen zu bestimmen.
Aber welche?
Am besten eine Kombination, die im alten Telex-Netz nicht vorkam.
Ich wollte hier auch mal ein kleines, nicht ganz unproblematisches Programm vorstellen und um eure Meinung bitten.
Zum Testen meiner i-telex-Verbindung und um das Protokoll zu verstehen, habe ich ein i-Telex-Terminal für Windows geschrieben.
Das funktioniert ganz ähnlich wie Johannes JTerm, braucht aber kein i-Telex. Es verbindet sich direkt über Netzwerk mit einem anderen i-Telex-System.
Natürlich ist es nicht so schick wie JTerm, es ist ja auch eher als technisches Tool gedacht.
Normalerweise veröffentliche ich meine Quellen auf GitHub. Bei diesem Programm habe ich nun Bedenken.
WinTelex holt sich nämlich automatisch die Teilnehmerdaten vom Server und deshalb kann damit jeder auf Knopfdruck eine Verbindung
zu einem beliebigen i-Telex-Teilnehmer aufnehmen und diesen zuspammen (das Senden von Ascii-Files ist natürlich auch implementiert :devil: ).
Andererseits finde ich gerade die schnelle Anwahl des eigenen Systems sehr praktisch.
Hallo,
wir entwicklen gerade ein einfaches Interface zur Kommunikation mit bzw. Emulation von TW-39 Geräten.
Bei den Bauteilen habe wir uns z.T. an der bestehenden TW-39 Karte orientiert.
Allerdings besteht die Platine im Grunde aus 3 getrennten Einheiten, die nach Bedarf bestückt und verschaltet werden können.
- Umpoler
- Unterbrecher
- Stromsensor (zwei Richtungen)
Netzteil, Stromberenzung des Schleifenstroms und ggf. weiter Enstörung muss getrennt zugeschaltet werden.
Auf die andere Seite kommt zunächst mal ein Arduino, später dann eventuell ein esp2866.
Oder ein Raspberry.
Oder der Arduino bekommt ein Ethernetshield.
Oder was ganz anderes ...
Anbei mal ein erster Entwurf.
Grüße,
Klaus + Paul
TW39-IF_sce.png
TW39-IF_cu.png
Bearbeitet von Moderator - Text angepasst/ergänzt nach Wünschen vom Autor
wie von Fred angeregt habe ich in einem ersten Schritt die i-Telex-Gesamtbeschreibung aufs Wiki portiert. Fertig sind Gliederung und Formatierung, es fehlen noch die Bilder -- gibt es die irgendwo als Datei oder soll ich die einfach aus dem letzten Word-Dokument herausziehen?
Die Maßgabe dieser Version war erstmal, alles möglichst unverändert ins Wiki zu übernehmen, so dass man danach gemeinsam daran feilen kann. Gerade bei der Formatierung der Drucktexte musste ich Kompromisse eingehen (ohne Anspruch der Absolutheit). Ich bilde mir ein, gerade z.B. die Tabellendaten hinreichend sorgfältig übertragen zu haben, bin aber für Gegenprüfungen dankbar. Ansonsten bin ich offen für Kritik beider Vorzeichen.
Nächster Schritt wäre die Anleitung der Ethernetkarte, die ja aus der Gesamtbeschreibung ausgegliedert wurde.
Um die Motordrehzahl von mechanischen FS einzustellen wurde früher eine spezielle Stimmgabel mit 125Hz verwendet.
Mit einem kleinen Arduino-Projekt kann man für weniger als 5€ ein Stroboskop mit einem Arduino Nano, einer ultrahellen LED und einem Widerstand bauen.
Einfach die LED wie eine Taschenlampe auf die Stroboskop-Scheibe richten und Drehzahl einstellen - wie früher.
Bei dem neumodischen Übertragungsverfahren ED1000 werden Tonpaare verwendet um die seriellen Daten auf die Leitung zu bringen. Früher wurden aufwendige elektronische Schaltungen gebaut um die Sendefrequenzen zu generieren und die Empfangsfrequenzen zu filtern und zu detektieren.
Wenn man heute mit einem Frequency-Shift-Keying ( FSK ) arbeiten will, ist der einfachste Weg eine Computer-Sound-Karte zu verwenden und die Kodierung/Dekodierung per Software zu lösen. Das einfachste InInterface zu einem FS ist eine USB-Sound-Karte, die man schon zwischen 5€ und 15€ bei Online-Händlern bekommt (wenn nicht Alle wegen Home-Office ausverkauft sind...). Die USB-Geräte gibt es in vielen Varanten - mit und ohne Kabel, Plastik- und Metallgehäuse - aber technisch/elektronisch sind alle gleich!
Für eine Pegel- und Leitungsanpassung genügen schon ein paar passive elektronische Bauteile:
Für die Auswerung von Frequenzen gibt es eine umfangreiche Python-Library SciPy , die zusammen mit NumPy...
ich weiss nicht, ob sie es schon wussten... aber mein i-Telex läuft nun seit etwas über 24 Stunden problemlos. Danke and Fred und Henning für die unendliche Geduld und die Entwicklungsarbeit und die Doppelstrom-Schnittstelle.
Nun habe ich in meinem I-Telex eine TW-39 und Serielle Karte. Da die serielle Karte ja, nebst der tollen Anrufbeantworter-Funktion auch sonst recht praktisch ist, und ich Johannes' tolles Terminal schon kannte, dachte ich mir... Gut, das benutze ich jetzt.
Leider stehen mein I-Telex und der PC an entgegengesetzten Seiten des Büros. Noch ein Kabel? Nö, sagte ich mir. Das geht bestimmt auch anders.
Der Raspberry PI der mir mit PiTelex für meine ersten Gehversuche im I-Telex-Natz gedient hat, lag nun untätig und bequem neben dem I-Telex. Natuerlich kann ich den seriellen Anschluss des I-Telex mit dem PI verbinde, klar, dazu hat man ja genug USB auf SER kabel im Hause rumliegen. Dann konnte ich per ssh au den raspberry, und dan mit minicom lokal die...
Hat irgendjemand das MicroTelex von im richtigen Einsatz, also am I-Telex-Netz und Fernschreiber angeschlossen. Ich haette da naemlich gerne mal ein paar Problemchen. :ent:
Ich bin ganz neu hier im Forum und habe erst seit kurzem einen LO15 mit iTelex laufen. Ich traue mich jetzt aber doch mal aus der Deckung.
Wenn man einen Fernschreiber hat, will man den auch mal zeigen. Nun kann ich ja nicht ständig einen von Euch nerven und anschreiben. Das DWD Wetter ist aber schon mal eine gute Sache.
Da ich nebenbei auch noch hobbymäßig fliege und gehört habe, dass es noch einige andere Piloten hier gibt, habe ich mal versucht, die standardisierten Infos zum aktuellen Wetter (METAR) und zu Kurzfristvorhersagen (TAF) an Flugplätzen per Fernschreiber abrufbar zu machen.
Im Moment lasse ich dazu ein Pythonprogramm dafür auf einem Notebook an der seriellen Schnittstelle der TW39 plus-Karte laufen. Das könnte auch auf einem Raspberry laufen. Ich habe aber mit Willi gesprochen. Denn es wäre natürlich wesentlich besser, wenn so ein Dienst auf seinem Super-Diensteserver laufen könnte. Willi will mal versuchen, das zum Laufen zu bringen. Wäre natürlich toll.
ich stelle hier mal mein i-Telex mit ESP32 für einen einzelnen TW39-Fernschreiber vor.
Das Gerät habe ich bereits im Frühjahr letzten Jahres gebaut und auch das Programm erstellt. Dies ist das zweite Gerät, gebaut im August 2020, mit leicht veränderter Hardware für das Museum Telekom-Historik (telekom-historik.de). Wir brauchen dort ein Interface für nur einen Fernschreiber. Das Original i-Telex wäre zu aufwendig gewesen.
Realisiert wurde dieses Gerät mit einem Mikrocontroller vom Typ ESP32, mit dem eine WLAN-Anbindung sehr leicht möglich ist. Ich verzichte hier aber auf den WIFI-Manager. Die WLAN-Zugangsdaten sind fest im Programm gespeichert.
Die Stromversorgung erfolgt mit 3 Schaltnetzteilen. Für die 60V-Versorgung wurden zwei 24V-Netzteile auf jeweils 30V gebracht und in Reihe geschaltet. Wegen möglicher Störfrequenzen wurden die Netzteile mit einer Metallhaube versehen.
Die Hauptplatine enthält neben dem Mikrocontroller-Modul weitere Module und die Ansteuerung des...
Ich bin gerade dabei, meine i-Telex-Routinen zu optimieren und brüte gerade über diesem Absatz aus der Protokollbeschreibung:
Note: Nomally the called i-Telex station prints out the current date and time after starting the local printer. To indicate that there is some data to print the first acknowledge data packet sent by the called station doesn't start with data byte of 0. But as soon as this locally generated text is completely printed the called station sends the acknowledge data packet with value 0 (so 06 01 00).
If the calling station started to transmitting data before the locally generated text was printed, the acknowledge packet with data byte 0 may be omitted.
Fred, kannst du das nochmal erklären? Ich verstehe es einfach nicht. ;)
Ich habe mal wieder ein wenig Software gebastelt und ein kleines E-Mail / i-Telex Gateway gebaut.
E-Mails, die an die Adresse telex@telexgate.de gesendet werden, werden an die im Betreff aufgeführten i-Telex-Nummern weitergeleitet.
Die i-Telex-Nummer müssen mit Komma getrennt werden und jede Nummer beginnt mit '#' (also z.B.: #211230,#211231,#7822222)
Das ganz soll dann auch in die andere Richtung funktionieren, also Telexe an die i-Telex-Nummer des Gateway sollen an die in der Nachricht angegebenen E-Mail-Adressen weitergeleitet werden.
Gibt es Vorschläge für eine sinnvolle i-Telex-Nummer für den Dienst?
Parallel dazu habe ich auch ein alternatives Twitter-Gateway in Arbeit. Das ist aber etwas komplexer, deswegen wird das noch einen Moment länger dauern, bis das in den Testbetrieb geht.
Auch hier bitte ich um Vorschläge für eine i-Telex-Nummer.
der Verein Telekom-Historik e.V. betreibt in Bochum ein Telefonmuseum (www.telekom-historik.de). Wir besitzen eine funktionsfähige Telex-Vermittlungsstelle vom Fernmeldenotdienst, mit der wir unseren Besuchern die TW39-Fernschreiber vorführen können. Leider können ED1000-Fernschreiber nur in Festverbindungen präsentiert werden. TW39-Baugruppen z.B. für den Siemens T1000 scheint es leider nicht mehr zu geben.
Ich beabsichtige nun einen Konverter von ED1000 auf TW39 zu bauen. Dafür benötige ich eure Hilfe.
Es müssen ein TW39-Fernschreiber und eine ED1000-VST simuliert und gekoppelt werden. Die Kopplung kann softwaremäßig mit einem Arduino erfolgen. Für die Anpassung an die Schnittstellen muss natürlich entsprechende Hardware gebaut werden. Hier mal mein erster Entwurf.
bin ja seit Inbetriebnahme der KLkl/ Baudotart/ Testtexte Server schon länger am Realisieren eines Wetterdienstes auf der Baudot-Plattform. Ziel war ja auch ein Ersatz/Backup für Frank's Lösung. Die stand seit seiner Umstellung auf IPV6 immer mal wieder still. Letztens war es ja mal wieder soweit. Meine Realisierung stand als Softwarepaket bereit, nur Thomas hatte nicht die Zeit das einzupflegen. Dann hatte Frank ja von sich aus seinen Dienst auf einen gehosteten Server verlegt und der Druck war weg. Zwischenzeitlich hatte ich über Fred die 747474 in den Teilnehmerserver eintragen lassen, um das hier bei mir anzubinden. Der Wetterdienst läuft hier für mich (da kein ASCII Betrieb> keine Wetterdaten) sowieso auf einem Pi um autark zu sein und
mal was anderes auszudrucken wie Testtexte. Ich habe bei der vielen Testerei auch noch den damaligen Absturzfehler der Server gefunden, der abhängig war vom Start des Programms. Absturz geschah nur bei sehr schnellen...
da nun doch so einige Implementierungen vorhanden sind, die das i-Telex-Protokoll verwenden, möchte ich hier einen entsprechenden Diskussions-Faden aufmachen.
Generell ist unter den folgenden Links stets eine aktuelle Protokoll-Beschreibung aufzufinden:
Gleich zur Abgrenzung: Das Protokoll zur Teilnehmer-Server-Kommunikation ist dort zwar auch beschrieben, sollte aber bei Bedarf an anderer Stelle diskutiert werden.
Alle Entwürfe zu Diskussion von Neuerungen werden hier eingestellt:
Angeregt durch diesen Beitrag schreibe ich gleich mal die erste Erläuterung zum Versions-Paket:
Bisher ist tatsächlich nur Version 1 genutzt, wobei gerade eine Erweiterung auf Version 2 in Arbeit ist. Entwarnung vorweg: Version 2 ist nur für Spezialisten sinnvoll und wird voraussichtlich in das original i-Telex nicht integriert werden.
Das Versions-Paket hat den Zweck, dass Erweiterungen machbar sind, ohne dass alle Anwender des i-Telex wegen Inkompatibilität ausgeschlossen...
unter der 881199 läuft nun schon seit geraumer Zeit, der klkl Server auf ita2/Baudot Basis.
Bis dato bestand der Nachteil darin, dass dieser Server nur einen Abruf verarbeiten konnte.
Wenn ein zweiter Anrufer den Dienst benutzen wollte, erhielt er ein OCC.
Dank Willi (Fernschreiber) ist dieses Problem nun gelöst.
Es wurde ein Portrouter vorgeschaltet, der die Anfragen auf die entsprechenden Python Prozesse (kann beliebig skaliert werden) weiterleitet.
Ich möchte Euch bitten diesen Dienst, unter 881199 einmal zu testen.
An der Benutzung hat sich nichts geändert.
Sollten diese Tests erfolgreich sein, würde ich gerne langfristig gesehen, den klkl Dienst unter 881188 ASCII ebenfalls auf ita2 umstellen,
da der Aufwand für die Pflege von 2 Systemen doch recht hoch ist.
Der Baudot/ASCII Art Dienst wird ebenfalls auf ita2 umgestellt werden, ich werde zu gegebener Zeit eine entsprechende Info im Forum hinterlegen.
Probably a question for Fred, but very happy for anyone to comment.
Attached is a small section that describes how the UK telex system interprets the various states of the S and R wires on telex lines - this I think is important for UK FSG to work with I-Telex.
Sadly programming is well beyond my grasp - I am still developing a single to double current converter with Jeff, but would also still like to see a direct implementation within I-Telex.
What other areas of development are a problem from making this easy to solve?
Nachdem ich letztes Jahr an einem Kennungsgeber für meinen T68 fast verzweifelt bin und ich unkreative Arbeiten wie das manuelle analysieren von Kennungsgebern und Kämmen hasse, hatte ich mir gleich ein Programm geschrieben, um das Analysieren zu vereinfachen und dabei gleich noch eine neue Wunschkennung aus den vorhanden Kämmen zu erzeugen. Das Programm war aber zunächst noch sehr fehleranfällig.
Beim Erzeugen der Wunschkennung versucht das Programm die Lösung zu finden, bei der am wenigsten Zähne ausgebrochen werden müssen. Dass wirklich immer die optimalste Lösung gefunden wird, kann ich aber nicht garantieren.
Ich habe das Programm jetzt nochmal überarbeitet und auf GitHub gestellt (wie üblich ein Windows-Tool):
Hinweise und Warnungen zur Verwendung hier:
Bitte seid vorsichtig mit dem Tool. Ich habe mir schon einige T68-Kämme ruiniert, weil das Programm anfangs noch einen gravierenden Fehler enthielt. Der ist jetzt zwar behoben, aber man weiß nie. Also bitte prüft nochmal...
Bei Tests ist mir aufgefallen, daß iTelex einen clientseitigen Verbindungsabbruch nicht korrekt ausführt. Die Verbindung wird seitens iTelex als verbunden gehalten und läuft dann auf einen Timeout.
SYN ->
ACK
-> RST
...
Zwischenzeitliche erneute Verbindungsanfragen werden zwar angenommen, aber sofort mit einem iTelex-Baudot-Paket OCC beantwortet und dann geschlossen.
Letzteres Verhalten ist gewollt, aber ersteres nicht. Erste Sichtung des IP-Stacks zeigt, daß offenbar ein RST-Paketflag eingehend überhaupt nicht behandelt wird. :wat:
nachdem ich den Bufferoverflow in i-Telex offenbar gefunden und behoben habe, will ich mir die defekte Implementierung des TCP-Handshakes beim Verbindungsabbau ansehen. Der Fehler tritt nur dann auf, wenn i-Telex die Verbindung schliesst, nicht im umgekehrten Fall.
Das ist auch der Grund warum die Webseiten der Karte so lahm sind, hier kommen nach meiner Analyse 2 Themen zusammen:
1. Der Webserver sendet connection: close im HTTP-Header mit, damit wird angezeigt daß nach diesem Element die Verbindung geschlossen wird und nicht über den gleichen socket weitere Daten ausgetauscht werden.
2. Der Webserver beendet dann nach Auslieferung eines Elementes die Verbindung durch senden von FIN, ACK (schliessen des sockets). Der Browser bestätigt mit ACK, beendet seinerseits die Verbindung durch schliesssen seines sockets und sendet damit seinerseits FIN, ACK, was der IP-Stack im i-Telex mit ACK zu bestätigen hat. Diese Bestätigung fehlt, sodaß clientseitig mehrere Retransmissions...
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.