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.


Sluis te Gaarkeuken

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. Als toegift zou dit programma ook DSC (Digital Selective Calling) signalen van schepen moeten kunnen ontvangen. Dit zijn berichten voor de zeevaart, maar het is nooit uitgebreid getest. De data verschijnt op het scherm en bij activering van DSC logging ook in de file "DSClogfile.txt".


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.


ATISrx-v02.py
Het bleek moeilijk te zijn om te zien of er data werd ingelezen oftewel dat het programma werkt. Daarom is in deze Versie 02 een testmode ingebouwd waarmee je de status van de audio buffer kunt zien en het niveau van het audio signaal.
Ook is deze versie geschikt voor de Raspberry Pi 2B, dan moet je de sample rate wijzigen van 22050 naar 11025 samples/sec. En je moet het audio platform "Pulse" installeren op de Raspberry Pi. Dit wordt gebruikt voor het downsamplen van de audiostream. Typ daarvoor de volgende commando's in een terminal venster:
sudo apt-get install pulseaudio
sudo apt-get install pavucontrol


ATISrx-v02.py is geschikt voor een Raspberry Pi. Ook heeft het een testmode.
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:


TERUG NAAR DE INDEX PA2OHH