1. Présentation
On peut bel et bien faire un récepteur AIS pour une vingtaine d’euros. Cela peut constituer un moyen secours en cas de panne de son AIS ou tout simplement un récepteur à bas coût quand on ne souhaite/peut pas acheter un AIS.
Voici un tutoriel en français (!) « pour les nuls ». Il y est également présenté les moyens de dépannage/vérification au fur et à mesure.
Cet article n’a pas la prétention d’être un cours sur les AIS. Il présente sommairement ce qui doit être compris pour pouvoir faire son propre récepteur pour OPENCPN sous windows.
Cet article regroupe également ci-dessous en téléchargement tous les logiciels nécessaires (pour vous éviter d’aller un peu à la pêche sur le net avant de tout trouver)
Nota: Ces fichiers sont compressés (.zip) pour les décompresser: vous pouvez utiliser ashampoo zip (gratuit), winzip ou autre logiciel de compression
Il faut également OPENCPN (gratuit) considéré comme déjà installé sur votre ordinateur. Si ce n’est pas le cas, vous pouvez le charger là (et il est fortement préconisé de savoir se servir d’OPENCPN avant de faire le récepteur AIS. De toute façon, il est utile de maitriser son outil de cartographie numérique).
Attention, le récepteur AIS en question n’est pas un produit de type « plug and play » que l’on brancherait et que l’ordinateur reconnaitrait tout seul… Ce serait trop facile. Il faut comprendre un minimum, mais avec un peu de persévérance, ça devrait marcher et vous allez apprendre pas mal de choses: qu’est ce qu’un AIS? Comment ça marche? qu’est ce qu’une trame NMEA?
2. Un peu de théorie
(C’est, je pense, le minimum à savoir. Les puristes trouveront des imprécisions, des simplifications: je m’en excuse)
L’AIS est un système d’identification automatique.
- Il permet de voir les autres bateaux: c’est le mode récepteur
- Il permet d’être vu par les autres bateaux: c’est le mode émetteur.
Un AIS émetteur placé sur un bateau envoie en permanence sur 2 fréquences VHF (161,975 MHz et 162,025 MHz) des messages contenant: l’identifiant du bateau (n° MMSI), sa position, sa vitesse et éventuellement d’autres informations sous réserve qu’elles aient été entrées par leur propriétaire (longueur, destination, type de bateau,…).
Le message est envoyé suivant le protocole NMEA.
Le NMEA est un standard de communication, c’est à dire que tout le monde est d’accord pour utiliser un même language (ceux qui émettent et ceux qui recoivent).
A bord d’un bateau il y a un « bus », c’est un cable électrique dans lequel circulent en permanence plusieurs trames NMEA:
- GPS
- vitesse anémo
- AIS
- …
Ces trames sont lues par des « clients » qui ont besoin de ces informations:
- autopilote
- afficheurs
- ordinateurs
- …
Par exemple, le GPS USB qui sert pour OPENCPN émet en permanence (1 fois par seconde) une trame NMEA. Ca ressemble à ça:
$GPGGA,064036.289,4836.5375,N,00740.9373,E,1,04,3.2,200.2,M,,,,0000*0E
GPGGA montre qu’il s’agit d’une trame GPS: OPENCPN lit cette trame et s’en sert pour afficher la position du bateau. pour le reste, on y trouve l’heure, la latitude, la longitude…
Un AIS récepteur « tout fait » est un boitier avec une antenne VHF et une sortie NMEA.
une trame AIS ressemble à ça
!AIVDM,1,1,,A,14eG;o@034o8sd<L9i:a;WF>062D,0*7D
AIVDM montre qu’il s’agit d’une trame AIS: OPENCPN lit cette trame et s’en sert pour afficher les cibles AIS. Le reste est incompréhensible sauf pour ceux liraient et parleraient le NMEA 0183 couramment (rassurez vous ça n’existe pas). Ce reste contient toutes les informations utiles. C’ est codé en ASCII (encore un langage d’extraterrestre, mais heureusement pour nous, ça existe). Il n’est pas utile pour ce post d’en savoir plus car OPENCPN s’en charge.
Un récepteur AIS veille en permanence les fréquences AIS, il lit les messages et renvoie sur le « bus » une trame NMEA contenant la liste des bateaux vus (« cibles AIS »). Cette trame doit être lue par un ordinateur qui décryptera cette trame NMEA pour afficher les cibles correspondantes sur un écran.
3. Passons à la pratique
Notre récepteur AIS est composé d’une antenne VHF dite SDR-RTL et d’un PC avec OPENCPN
J’ai acheté mon antenne là, elle fonctionne bien en ce qui me concerne. L’avantage d’acheter celle-là, c’est également de disposer d’un SAV et d’une assistance (en français!) (La preuve est dans les commentaires…). On ne peut en attendre autant lorsqu’on achète en Chine. On la trouve également là (moins chère, délai de livraison un peu plus long, sans SAV). Elle peut s’acheter ailleurs. Attention, toutes les antennes ne se valent pas (celle à 5€90 que l’on trouve ailleurs (amazon) marche mais les composants sont de moins bonne qualité). Il faut au minimum une antenne RTL-SDR sans trou de fréquence afin de capter les fréquences AIS
Ce que vous allez réaliser peut se schématiser ainsi:
2. On utilisera SDRSHARP (§3.2) pour vérifier que l’antenne est bien installée et déterminer les caractéristiques de l’antenne, car chaque antenne est différente.
3. AISdeco2 (§3.3) sera utilisé pour la lecture des trames AIS provenant de l’antenne et l’émission de trame NMEA AIS pour OPENCPN: il faudra au préalable entrer les caractéristiques de l’antenne (étape 2) dans le fichier dit de « configuration » de AISdeco2
4. il faudra dire à OPENCPN où il peut lire la trame AIS (§3.4)
3.1. ZADIG
ZADIG permet d’installer le pilote de l’antenne VHF (c’est à dire que votre ordinateur va « comprendre » qu’il y a une antenne VHF et « savoir » comment discuter avec elle). (Ne pas utiliser le CD éventuellement fourni avec la clé: à l’origine, il s’agit d’un tuner TV et le CD est fourni avec le pilote correspondant. Zadig permet d’utiliser la clé comme un scanner large bande VHF capable de fonctionner sur la fréquence AIS)
- Brancher le dongle USB sur un port USB de votre ordinateur. Si plus tard, vous décidez d’utiliser un autre port USB, il vous faudra refaire cette étape 3.1.
2. Démarrez ZADIG2.2
3. Dans le menu sélectionnez all devices
4. dans la liste sélectionnez une ligne qui doit contenir: « Bulk In interface 0 » ou « SDR » ou « RTL » ou « 820T2 »
Cliquez sur install (ou Reinstall) driver. L’installation se fait et vous devez avoir un message de succès en bas à gauche
Note débugage/Vérification: pour confirmer le tout (cette vérification est optionnelle, mais d’une part c’est instructif et d’autre part, si ça ne marche pas dans les étapes suivantes, pour comprendre où ça coince, cette vérification sera nécessaire).
Allez dans le gestionnaire de périphériques de windows: la clé USB doit y apparaitre
et en cliquant dessus, windows signale que le périphérique est bien installé.
Nota: le nom ne sera pas forcément RTL2838,
3.2. SDRSHARP
On va déjà vérifier que notre antenne marche en écoutant la radio FM… Mais vous pouvez également écouter la VHF canal 16 avec!
3.2.1. Installation de SDRSHARP et essai
Décompressez sdrsharp-x86 (avec ashampoo)
Dans le répertoire où il a été décompressé, démarrez SDRSHARP
Nous allons vérifier que l’antenne permet de capter votre radio préférée
- Sélectionnez la source RTL-SDR (USB): c’est notre antenne
- Sélectionez WFM (Wide FM)
- Sélectionnez la fréquence de la radio FM que vous voulez écouter
- Play
- Réglez le volume
Normalement, vous avez la radio! Vous pouvez écouter le canal 16 ou n’importe quelle fréquence VHF… C’est déjà ça!
Note « débugage »: Si ça ne marche pas, c’est que vous avez mal installé l’antenne. Regardez dans le gestionnaire de périphérique (§1)
Si dans SDRSHARP vous avez (1): « no device found », vous pouvez tenter ceci:
Remarque 1: Le cadre supérieur droit indique le niveau du signal capté pour chaque fréquence. Sur l’image on voit qu’il y a du signal sur la fréquence 103.6
Remarque 2: Le cadre inférieur droit qui défile s’appelle la « cascade »
Nous allons maintenant déterminer les caractéristiques fines de votre antenne
3.2.2. Détermination des caractéristiques de l’antenne VHF.
Il faut impérativement être dans un endroit où il y a des cibles AIS (port)
- Régler la fréquence AIS 162.025
- Sélectionnez WFM: la cascade doit faire apparaitre des traits blancs horizontaux: chaque trait correspond à la trame NMEA émise par un bateau à portée VHF!
3. Cliquez sur « outils »
5. Modifier le gain de façon à avoir une cascade qui affiche nettement les traces AIS
6. Noter ppm et le gain (dans l’image ci dessus ppm = 61 et gain =42.1dB)
3.3. AISdeco2
Nous sommes tout près du but… Tenez bon. Pour commencer, fermez SDRSHARP
- Décompressez AISdeco2
- Dans le répertoire où vous avez mis AISdeco2, faites un clic droit (1) sur aisdeco.bat et ouvrez le avec notepad ou notepad++ (2)
- Dans notepad, modifiez la valeur du gain et du ppm par les valeurs relevées au paragraphe précédent (ppm = 61 et gain =42.1dB)
- Notez la valeur UDP (3: normalement vous allez relever 127.0.0.1:4159)
- Enregistrez et fermez aisdeco2.bat (4)
- double-cliquez sur aisdeco2.bat : cela va démarrer aisdeco2. (Notez au passage la présence du fichier rtlsdr.dll dans le même répertoire.)
- Normalement, une fenêtre s’ouvre dans laquelle vous allez voir les trames AIS défiler
On reconnait l’entête !AIVDM, l’heure de messages…
Nos trames NMEA sont bien créées par AISdeco2!!
Note « débugage »: AISdeco2 s’exécute mais vous ne voyez pas de trame? Etes vous certain d’être dans un endroit ou il y a des bateaux avec émetteur AIS (port, marina?).
Note « débugage »: AISdeco2 ne s’exécute pas. Vérifiez d’abord que SDRSHARP fonctionne, qu’il est fermé, qu’AISdeco2 est dans le même répertoire que rtlsdr.dll.
Note « débugage »: malgré tout ça, AISdeco2 renvoie un message
usb_open error -12
Error: rtlsdr_open(): No error
Appuyez sur une touche pour continuer…
Ouvrez aisdeco2.bat avec notepad++ et modifiez le ainsi
echo off
cmd /c aisdeco2.exe –device-list –gain 42.1 –freq-correction 61 –freq 161975000 –freq 162025000 –net 30007 –udp 127.0.0.1:4159
PAUSE
exit
Enregistrez, fermez et exécutez en double cliquant sur Aisdeco2.bat
Vous devriez avoir une réponse du type
Available Devices:
0: Generic RTL2832U OEM
1: Generic RTL2832U OEM
On va désigner le périphérique à utiliser. Modifiez à nouveau Aisdeco2.bat ainsi
@echo off
cmd /c aisdeco2.exe –device-index 1 –gain 42.1 –freq-correction 61 –freq 161975000 –freq 162025000 –net 30007 –udp 127.0.0.1:4159
PAUSE
exit
Enregistrez, fermez notepad++. Rééssayez en exécutant aisdeco2.bat.
Si ça ne marche pas, modifiez ainsi
@echo off
cmd /c aisdeco2.exe –device-index 0 –gain 42.1 –freq-correction 61 –freq 161975000 –freq 162025000 –net 30007 –udp 127.0.0.1:4159
PAUSE
exit
Note « débugage »: PNAIS est une alternative à AISDECO2. Ce logiciel émet une PNAIS doit être décompressé dans le répertoire sdrsharp trame AIS NMEA qui peut être lue par OPENCPN.
PNAIS doit être décompressé dans le répertoire sdrsharp.
(cliquer sur le ! pour voir les caractéristiques du port et insérer le ppm).
Il ne reste plus qu’à afficher ça sur OPENCPN…
3.4. OPENCPN
- Ne fermez pas AISdeco2, sinon il n’y aura plus d’émission de trames NMEA
2. Démarrez OPENCPN
3. Cliquez sur outils
4. Cliquez sur connexions (1)
5. cliquez sur « Ajouter une connexion » (2)
6. Cliquez sur réseau, puis UDP (2), Renseignez l’adresse (3) (noté sur AISdeco2.bat: 127.0.0.1, port 4159): désormais, OPENCPN sait ou chercher la trame AIS émise par AISdeco2.
Note débugage/vérification. étape optionnelle, mais vous allez voir vos trames NMEA, yc ompris celles de votre GPS): Cliquez sur « afficher NMEA »/appliquer
7. OPtionnel (6) Vous pouvez sélectionner « ouvrir la fenêtre d’affichage NMEA » et cliquer sur « Appliquer »
Si vous avez une fenêtre NMEA avec des trames AIS qui défilent, c’est gagné!
Dans l’exemple ci-dessous il n’y a que les trames AIS, mais si vous branchez le GPS USB vous aurez également des trames NMEA GPS qui s’intercaleront avec les trames AIS.
Dans la fenêtre principale d’OPENCPN, cliquez l’icône AIS
Note débugage/vérification. Optionel (pour vérification) Dans l’onglet « 3: AIS », sélectionnez « liste des cibles AIS », elles devraient s’afficher dans un tableau: Ce n’est qu’un affichage des trames NMEA AIS que vous avez vu précdemment
Fermez la fenêtre avec la liste des cibles pour revenir dans la fenêtre principale d’OPENCPN
Les cibles (dont vous avez vu la liste) s’affichent et si vous double cliquez dessus, vous avez même les détails