ATIS ONTVANGEN MET EEN PROGRAMMA
GESCHREVEN IN PYTHON
(2013)
CLICK HERE FOR THE ENGLISH VERSION
Het Python programma om ATIS mee te ontvangen.
Wat is ATIS
ATIS staat voor Automatic Transmitter Identification System. Het is een systeem voor automatische identificatie van radiozenders op schepen (Europese kust- en binnenvaart).
Wanneer de ATIS-code van het schip in de marifoon is ingebouwd wordt de zender in het radioverkeer automatisch geïdentificeerd. Het signaal is digitaal opgebouwd en wordt overgebracht door middel van twee wisselende tonen (1300 en 2100 Hz). Bij de ontvanger uitgerust met een decoder, verschijnt de ATIS identificatie code en landcode van de zender op een display. Verkeersbegeleidingssystemen op bruggen, sluizen en in jachthavens kunnen zo zien door wie zij worden opgeroepen.
Schip met ATIS
ATIS identificaties decoderen met een programma geschreven in Python
Nu wil het toeval dat ik dicht bij de sluis te Gaarkeuken woon. Het leek me leuk om een programma te maken om deze ATIS codes te decoderen. Wanneer een schip zich via de marifoon meldt voor de sluis, wordt deze code aan het einde van de uitzending verzonden.
Wanneer een ATIS code wordt ontvangen, maakt het Python programma een tekst file aan die als naam de gedecodeerde ATIS code heeft. In die tekst file wordt de tijd, code en landcode weergegeven. Indien de ATIS code al eens eerder is ontvangen, wordt de al bestaande tekst file aangevuld met de nieuwe ontvangst tijd. Iedere ATIS code heeft dus 1 specifieke tekst file. In die tekst file kun je zien hoe vaak en wanneer die code is ontvangen. Wanneer je de ATIS logging niet geactiveerd hebt, verschijnt de ontvangen data alleen op het scherm en worden er geen tekst files aangemaakt. Dit programma kan ook DSC (Digital Selective Calling) signalen van schepen decoderen. Dit zijn berichten voor de zeevaart. Een zeer behulpzame zendamateur wilde de DSC decodering van het programma voor me testen, zelf kan ik geen DSC berichten ontvangen. De data verschijnt op het scherm en bij activering van DSC logging ook in de DSC log file.
Met behulp van dit Python programma kunnen de ATIS identificatie codes
worden gedecodeerd en in een directory op de PC worden opgeslagen.
Ontvangst van de ATIS identificatie signalen
De marifoon signalen van de schepen worden met behulp van een ouderwetse radio scanner ontvangen. De LF uitgang wordt via een weerstand van minimaal 10k aangesloten op de audio ingang van de PC. Deze weerstand voorkomt het opblazen van de audio ingang door te hoge spanningen of andere foutjes. De marifoon frequentie voor bruggen en sluizen is 156.900 MHz voor de schepen. Voor DSC signalen is de frequentie 156.525 MHz.
Met een ouderwetse radio scanner worden de marifoon signalen van de schepen ontvangen.
Nieuwe versie van ATISrx-vxx.py
De knoppen zijn nu gekleurd. Rood betekent dat de setting misschien niet goed is. Groen is de default setting van een knop.
In de oude versies stonden de data en het programma in dezelfde directory. Maar nu zijn er aparte directories voor de ATIS data van schepen, voor een ATIS log file die per dag wordt vernieuwd en een derde directory voor de DSC log file die ook per dag wordt vernieuwd. Met de twee knoppen "ATIS log" en "DSC log" kun je het loggen aan (groen) of uit (rood) zetten.
Er is een knop "Auto Scroll", wanneer die groen gekleurd is, worden steeds de laatste berichten in het scherm getoond. Wanneer rood gekleurd, kun je de scrollbars naast de schermen gebruiken om door de data te scrollen.
Het bleek moeilijk te zijn om te zien of er data werd ingelezen oftewel dat het programma werkt. Daarom is een testmode ingebouwd waarmee je de status van de audio buffer kunt gekijken en het niveau van het audio signaal.
Je kunt het programma ook gebruiken met de Raspberry Pi versie 4. Je moet het audio platform "Pulse" installeren op de Raspberry Pi. Dit wordt gebruikt voor het downsamplen van de audiostream naar 22050 samles/sec. Typ daarvoor de volgende commando's in een terminal venster:
sudo apt-get install pulseaudio
sudo apt-get install pavucontrol
Prima te gebruiken met een Raspberry Pi versie 4.
En zoals je ziet, kan het programma inderdaad DSC messages decoderen!
SOFTWARE
Voordat je dit programma gebruikt, moet je Python installeren. Dit gaat heel eenvoudig. Maar lees eerst eens iets over Python door op de volgende link te klikken:
WAT IS PYTHON EN HOE INSTALLEER JE PYTHON
Omdat de broncode van Python in ASCII geschreven is, kun je zelf het programma eenvoudig aanpassen aan je eigen wensen. Denk bijvoorbeeld aan de grootte van het scherm, de kleuren enz.
Benodigde Python versie:
Benodigde externe modules (site-packages voor de juiste Python versie!):
Download hier het Python programma door op onderstaande link te klikken:
Index PA2OHH