Raspberry Pi POCSAG Encoder/Sender (Python Script)
HeyHo liebe Funkmeldegemeinde! :)
Ich war ja bisher noch nicht so oft auf dem Forum hier aktiv und habe dafür jetzt etwas (hoffentlich) umso interessanteres für Euch.
Ich arbeite momentan daran, meinen Raspberry Pi (3 B+) zu einem POCSAG Sender umzubauen, das ganze natürlich nur bis 10mW und im 433MHz Bereich. Damit könnte man sich dann einige Sachen zu Hause zuspielen. Wenn das Telefon geht oder jemand an der Tür klingelt beispielsweise... oder Wetterwarnungen vom DWD für das Gebiet in dem man wohnt.
Das klingt an sich erstmal ziemlich simpel, aber nach einiger Recherche und einigen Versuchen habe ich festgestellt, dass es zum einen sehr schwierig ist, nützliche Encoder für den Pi zu finden und zum anderen, Melder für diesen Frequenzbereich. Also habe ich mich mal an etwas ran gesetzt.
Die letzten Tage habe ich mich mit einem Python-Script beschäftigt, das einen String einliest, diesen mittels POCSAG-Protokoll codiert und die Signale über einen Pin ausgibt. Das hat nach vielen Stunden Arbeit ganz gut funktioniert.
Das Script an sich ist fertig. Es beinhaltet die folgenden Arbeitsschritte (vereinfacht):
- String per 7-bit Code Zeichen für Zeichen Umwandeln
- Frames erstellen inkl. Info-Bit, Checksumme und Parität
- leere Frames mit Idlewörtern füllen
- Adresswörter erstellen
- Batches erzeugen aus 8 Frames mit Synchronwörtern
- Präambel voranstellen
- der entstandene String aus 0en und 1en wird schon mit der vorgegebenen Baudrate auf einen beliebigen GPIO-PIN ausgegeben.
>>>>Das Script hänge ich Euch bei Gelegenheit mal noch hier in den Beitrag rein!<<<<
Um dieses Signal nun zu senden bin ich aktuell auf der Suche nach einem 433MHz Sendemodul, welches FSK für die Übertragung nutzt und einen Frequenzhub von 4,5kHz besitzt. Die meisten Module nutzen leider ASK, und wenn es sich doch um ein FSK Modell handelt, wird der Frequenzhub leider nie vom Verkäufer angegeben. Bei Nachfrage stellt man dann auch oft fest, dass die Verkäufer selten Ahnung davon haben und können mit Frequenzhub nichts anfangen... das erschwert die Suche natürlich...
Letztlich bin ich bei meiner Suche nach einem Melder auf folgende Seite gestoßen:
https://www.rufsysteme-webshop.de/we...a-pager-1.html
Das sieht erst einmal vielversprechend aus. Das ist das einzige Modell das ich bisher gefunden habe, welches auf die Frequenz 433,92MHz abgestimmt werden kann. Außerdem ist er laut Verkäuferangaben fähig, Textnachrichten zu empfangen. Also nicht wie diese ganzen billig-Pager für Personenrufsysteme, die nur piepen können.
Zusätzlich habe ich bei der Firma Alphapoc mal angefragt, ob man deren Pager (z.B. die Reihe 601) auf die besagte Frequenz programmieren kann (die müssten dann ein spezielles Quarz einsetzen). Bin mir aber fast schon sicher, dass ich da eine Absage erhalten werde.
Fehlerhafte Script-Version 0.9 !!
Hallo liebe Forengemeinde!
Ich bitte folgendes zu beachten:
Das Python-script der Version 0.9 generiert einen fehlerhaften String. Das konnte ich leider erst herausfinden durch das Senden dieser Strings an einen DME.
In der Praxis zeigen sich eben immer wieder Dinge, die man nicht bedacht hat...
Der Quellcode wurde also noch einmal überarbeitet. Das o.g. Video, in dem der Melder den Text korrekt empfängt, zeigt die Funktionsweise des aktuellen und noch nicht veröffentlichten Quellcodes, der nun endlich zuverlässig codiert.
Ferner Arbeite ich an folgenden Verbesserungen:
- grafische Oberfläche für z.B. Nutzung des Senders am PC, funktioniert auch auf RaspberryPi
- Verwendung eines FSK-Sendemodules anstatt 2 AM-Modulen, wie sie im Video zu sehen sind
-> Dadurch wird eine höhere Zuverlässigkeit erreicht, da sich die AM-Module mit der Zeit durch Temperaturunterschiede verstellen