Infos sur les trames AIS

Bonjour à tous, je viens de finir de programmer un module de création de trames AIS depuis un signal d'un positionnement acoustique. Ceci est programmé sur Arduino. Je suis en phase de tests maintenant, et je voulais vous demander si Maxsea accepterais un positionnement même si j'envoie seulement une trame de positionnement (type1).
Et quels sont les conditions minimum pour qu'un signal AIS soit détectable ?

N'hésitez pas à me demander des détails si vous ne comprenez pas ma demande.

Voici les trames types en sortie de mon programme:

!AIVDM,1,1,,A,100001i0?w0Ijnk4g;4O4?wq0000,01e
!AIVDM,1,1,,A,100004@0?w3pjD8h=Vu>4?wq0000,0
2a
!AIVDM,1,1,,A,100001i0?w0Ijnm4g;4g4?wq0000,030
!AIVDM,1,1,,A,100004@0?w3pjC:h=VnO4?wq0000,0
45
!AIVDM,1,1,,A,100006i0?w3pjNmh=:g4?wq0000,0*7e
!AIVDM,1,1,,A,100001i0?w0IjnW4g;2v4?wq0000,0*1d
!AIVDM,1,1,,A,100006i0?w3pjNih=
:>4?wq0000,023
!AIVDM,1,1,,A,100001i0?w0Ijn:4g:wO4?wq0000,0
d
!AIVDM,1,1,,A,100004@0?w3pjImh=WSg4?wq0000,0c
!AIVDM,1,1,,A,100006i0?w3pjNeh=`9g4?wq0000,0
75
!AIVDM,1,1,,A,100001i0?w0Ijme4g:sg4?wq0000,07d
!AIVDM,1,1,,A,100004@0?w3pjKih=Wk>4?wq0000,0
6b
!AIVDM,1,1,,A,100006i0?w3pjNah=9>4?wq0000,0*28
!AIVDM,1,1,,A,100001i0?w0IjmF4g:qv4?wq0000,0*4d
!AIVDM,1,1,,A,100004@0?w3pjMih=
2>4?wq0000,03
!AIVDM,1,1,,A,100006i0?w3pjNmh=`:g4?wq0000,0
7e
!AIVDM,1,1,,A,100001i0?w0IjmD4g:qg4?wq0000,0*5e

Merci,
Vincent

L'équipage
27 mars 2014
27 mars 2014

Si tu envoies exclusivement que des type 1 il n'y a pas de raison que les trames type 1 soient ignorées par MaxSea ou n'importe qui d'autre.

Je ne comprends pas la question.

La condition minimale pour que le message soit interprété par MaxSea est que le checksum est bon...

27 mars 2014

Ok, je me posais la question parce que je rempli certain champs manuellement, et vu que Maxsea reconnait mes trames comme de l'AIS mais ne les detectent pas, je me demandais si mon checksum etait faux ou si un champ genre l'état de communication(19dernier bits de la trame de type 1) que j'ai defini à 0 pouvait faire que Maxsea n'affiche pas mes cibles.

27 mars 2014

J'ai repris tes données, mon parseur présente aussi des erreurs, en remplaçant les minuscules des checksums par des majuscules et en ajoutant des zéros pour avoir toujours deux caractères.

!AIVDM,1,1,,A,100001i0?w0Ijnk4g;4O4?wq0000,01E
!AIVDM,1,1,,A,100004@0?w3pjD8h=Vu>4?wq0000,0
2A
!AIVDM,1,1,,A,100001i0?w0Ijnm4g;4g4?wq0000,030
!AIVDM,1,1,,A,100004@0?w3pjC:h=VnO4?wq0000,0
45
!AIVDM,1,1,,A,100006i0?w3pjNmh=:g4?wq0000,0*7E
!AIVDM,1,1,,A,100001i0?w0IjnW4g;2v4?wq0000,0*1D
!AIVDM,1,1,,A,100006i0?w3pjNih=
:>4?wq0000,023
!AIVDM,1,1,,A,100001i0?w0Ijn:4g:wO4?wq0000,0
0D
!AIVDM,1,1,,A,100004@0?w3pjImh=WSg4?wq0000,00C
!AIVDM,1,1,,A,100006i0?w3pjNeh=`9g4?wq0000,0
75
!AIVDM,1,1,,A,100001i0?w0Ijme4g:sg4?wq0000,07D
!AIVDM,1,1,,A,100004@0?w3pjKih=Wk>4?wq0000,0
6B
!AIVDM,1,1,,A,100006i0?w3pjNah=9>4?wq0000,0*28
!AIVDM,1,1,,A,100001i0?w0IjmF4g:qv4?wq0000,0*4D
!AIVDM,1,1,,A,100004@0?w3pjMih=
2>4?wq0000,003
!AIVDM,1,1,,A,100006i0?w3pjNmh=`:g4?wq0000,0
7E
!AIVDM,1,1,,A,100001i0?w0IjmD4g:qg4?wq0000,0*5E

Voici je que j'obtiens :

AIS1{Device = null, MMSI = 7, STATUS = 1, HEAD =511.0, COG = 385.6, SOG = 102.3, LAT = -103.569466, LONG = 5.6349216, ROT = 0.0}
AIS1{Device = null, MMSI = 17, STATUS = 0, HEAD =511.0, COG = 360.0, SOG = 102.3, LAT = 84.25769, LONG = 54.348164, ROT = 0.0}
AIS1{Device = null, MMSI = 27, STATUS = 1, HEAD =511.0, COG = 385.6, SOG = 102.3, LAT = -27.589903, LONG = 54.34874, ROT = 0.0}
....

plus d'erreur. C'est peut être une piste, en tous cas je vais regarder de plus près ce que dit la spécification.

27 mars 201427 mars 2014

Oui, merci à toi, j'ai corriger des erreurs dans mon code, tout est bon, il semble que le checksum posait problème ainsi que 2 erreurs dans mon tableau de correspondance ASCII 6 bits.
Il ne me manque que de programmer le complément à 2 pour les cas de positions négative.

Mes nouveaux modèles de trames:
!AIVDM,1,1,,A,10000000?wuPGo3=Jrn>4?wp04?wp04?wp04?wp0<0D,0B
!AIVDM,1,1,,A,100000@0?wuPG?m=JpIN4?wp0<0D,0
7A
!AIVDM,1,1,,A,100000P0?wuPG5W=JohN4?wp0<0D,0*64

Tu utilises un soft pour retourner les valeurs ?? Ca m'interesse fortement :)
Après a part le MMSI et la position qui sont dynamique, le reste sont des valeurs statiques que j'ai repris dans la norme 1371-1.

Vincent

27 mars 2014

Effectivement sur six bits on ne peut pas avoir les minuscules ASCII.

ref : gpsd.berlios.de[...]DM.html

Pour le parseur, nous sommes une petite équipe, 3 informaticiens, 2 infographistes, qui développons un logiciel libre de navigation en 3D.
Actuellement je suis responsable des E/S : NMEA, AIS, N2K, le tout en distribué. Tout ça marche, mais c'est encore un peu tôt pour faire de la pub. Si tu es intéressé envoie moi un courriel. Je te donnerai des infos supplémentaires.

28 mars 2014

Ok, écoute du coup on utilise MaxSea et OpenCPN, après si tu veux qu'on test ton soft un de ces jours avec notre système de positionnement acoustique, pareil n'hésite pas à me contacter, on est toujours intéressé.
Pour l'instant ça marche sur MaxSea, mais pourquoi pas tester sur un autre support!!

27 mars 2014

Je suis le seul a ne rien comprendre a ces échanges ??!! :oups: :reflechi: :doc:

28 mars 2014

Non je ne comprenais rien il y a encore une semaine avant de me plonger dedans. Par ailleurs si tu es intéressé il y a un site sympa qui explique bien l'encodage des trames AIS:
www.gwenru.fr[...]dex.php

27 mars 2014

Est-ce que quelques fichiers de trames AIS capturées sur le plan d'eau de Lorient pourraient vous intéresser ?

28 mars 2014

Bonjour, nous avons déjà des modèles de trames enregistrées au Brésil, et à Bayonne pour tester. Et le système de positionnement à portée de main pour des tests en direct.

Merci quand même, Vincent

01 avr. 2014

Bonjour à tous, j'ai une autre question pour les experts en AIS :).

Je reçois la position depuis une trame PTSAG, codée en 10000eme de minutes, j'essaye d'ensuite la transcrire en AIS, mais cette valeur est trop grande, codée du coup sur 29bits, quand elle devrait être sur 28bits. Je sais qu'il faut faire une opération de complément à 2, mais je ne voit pas complétement à quel moment.

Si vous avez des conseils ou infos, je suis preneur. Vincent

Drogden Fyr, Oresund DK

Phare du monde

  • 4.5 (180)

Drogden Fyr, Oresund DK

2022