Capture AIS du côté du port de Liège...

Comme on peut le voir sur MarineTraffic.com, certains bateaux émettent des messages du système d'identification automatique (AIS en anglais). Il est possible de capter ces messages avec une clé TNT/DAB équipée du chip RTL2832U grâce au driver rtl-sdr (SDR= Software Defined Radio, radio logicielle)

gr-ais pour rtl-sdr, un fork de GNU Radio AIS capte les messages de 168 ou 440 bits émis en GMSK à 9600 bps sur 161.975MHz et 162.025MHz et affiche des trames NMEA 0183 (du genre :
!AIVDM,1,1,,B,133hKOPP00PIlQtLw=h@0?v>R<00,0*2F
!AIVDM,1,1,,A,133mU;PP000IiwjLw?LP0?v@PSuv,0*38
!AIVDM,1,1,,A,533dM<T00000uC;33J0@4p@T622222222222221J7P=445c>0011BCVQH8888888888888,0*3E
!AIVDM,1,1,,A,833dM<Pj2d=d<<LMM1K@a?a@01L0,0*4A
!AIVDM,1,1,,A,13aL>D?P00PIn?pLwu0@0?wN28Kr,0*1F
qu'il est possible de décoder avec 'gpsdecode' (dans le 'package' gpsd-clients).

Utilisation de gr-ais|gpsdecode avec rtlsdr (clé TNT) un dimanche en fin de matinée dans le Port autonome de Liège. On voit de nombreuses embarquations à quai (vert), une péniche qui chemine dans le canal Albert (rouge) et une autre qui entre ou sort d'une darse (rouge).

La plupart des messages utilisent l'identificateur MMSI et communiquent la position de l'embarquation (en dix-millièmes de minute; c'est précis! ;-) ). Plus rarement (?), semble-t-il, d'autres informations sont transmises comme le nom du bateau, sa destination, etc... (voir ce document d'Eric S. Raymond sur le format des messages). Il est possible d'obtenir le nom du navire à partir de son identification MMSI sur MarineTraffic.com. Par exemple, 205276090 est TCHANTCHES 2 (un pousseur de barge nommé d'après un héros local). gpsdecode ne semble pas traiter les messages (de type 5) contenant le nom de l'embarquation. Du coup, j'ai écrit un petit programme (aivdm.c) pour décoder des bouts de messages. Pas vraiment optimisé, mais cela donne :
mmsi:205200690  name: DANDIA              
mmsi:205214490  name: KEDYS
mmsi:205265790  name: KINEVY
mmsi:205276090  name: TCHANTCHES 2
mmsi:205408590  name: ECCE HOMO
mmsi:205409990  name: TOUAREG
mmsi:211498480  name: MARGIT
mmsi:244670712  name: HEERENSCHIP         
mmsi:244780624  name: TORDERA
pour l'identification (type 5) et, pour la navigation (type 1), des lignes comme :
mmsi:244670712  lat:50.675640 - lon:5.643345
mmsi:244670712  lat:50.675854 - lon:5.643453
mmsi:244670712  lat:50.676090 - lon:5.643583

Sous Windows, voir RTL-SDR Tutorial: Cheap AIS Ship Tracking (il existe des solutions clés en main comme ici).
(C'est interactif; en zoomant à fond sur les 'points' vert, on observe l'imprécision du GPS)

(Voir aussi GoogleMaps API  (documentation, reference manual)...

xof, octobre 2013, autres bricolages