Comandos AIS proprietários da SRT

Esta página foi traduzida automaticamente. Ler o original (English)

O meu Navico NAIS-300, tal como a maioria dos outros produtos comerciais AIS classe B que já andam por aí há algum tempo, usa a placa OEM AIS classe B da SRT. Sei que a mesma placa é usada no Raymarine 500, no True Heading AIS-CTRX, na Transas, no Digital Yacht AIT250/1000 e em muitos outros. O sinal revelador parece ser o transponder vir acompanhado do software Pro AIS. Liguei um registador de dados série para descobrir que comandos NMEA-0183 o software Pro AIS envia ao transponder. Infelizmente, nem a SRT nem nenhum dos fabricantes publica o protocolo.

Comecei a investigar isto porque queria controlar por software a definição de transmissão do meu transponder AIS. Por alguma razão, há imensas funções que se podem atribuir à entrada do botão remoto, mas não um ligar/desligar fiável, por nível, da transmissão. Isso foi acrescentado nas versões de firmware mais recentes, mas o meu tem firmware mais antigo. No entanto, uma horinha de análise mostra que controlar o transmissor é, afinal, bastante fácil. Aliás, quase tudo o que se pode configurar com o Pro AIS é canja de implementar.

O básico

O produto da SRT, logicamente, usa o prefixo ‘P’ para indicar Proprietário, seguido de SRT. Eis um exemplo de uma mensagem PSRT:

$PSRT,LED,01*49

Tal como em todas as outras frases que documento nesta página, o formato de mensagem apresentado inclui os bytes de checksum ao estilo NMEA no fim da linha, por exemplo *49 na mensagem acima.

Por alguma razão, algumas frases começam com o prefixo $DUAIQ. Não faço ideia porquê; talvez os dados sejam intercetados por outro microcontrolador.

Autorização

Algumas frases exigem o envio de uma palavra-passe. Felizmente, o protocolo para isso é muito simples – basta enviar a seguinte frase antes de cada mensagem autorizada:

$PSRT,012,,,(--QuaRk--)*4B

Modo silencioso

Para pôr o AIS em silêncio (sem transmitir a sua própria posição), envie a seguinte frase autorizada (precedida do comando acima):

$PSRT,TRG,02,33*6A

Para pôr o AIS a transmitir a sua própria posição, envie a seguinte frase autorizada:

$PSRT,TRG,02,00*6A

Modo de alarmes

Para que o AIS emita todos os alarmes a cada minuto, envie a seguinte frase autorizada:

$PSRT,ALM,0000*45

Para que o AIS emita apenas os alarmes ativos, envie a seguinte frase autorizada:

$PSRT,ALM,0001*44

Frequência de atualização do GPS

Para que o AIS emita dados de GPS a cada segundo, envie a seguinte frase autorizada:

$PSRT,GER,01*54

Para que o AIS emita dados de GPS a cada quatro segundos, envie a seguinte frase autorizada:

$PSRT,GER,00*55

Dados de GPS

A placa da SRT tem um GPS completo incorporado. Por alguma razão, só envia duas frases GPS: RMC e GBS. Consulte a documentação do GPSD para mais informação sobre estas frases (e também sobre as que se seguem).

Para pôr o GPS a enviar mais frases GPS, envie a seguinte frase autorizada:

$PSRT,GPSDATA,,,1*60

Isto faz com que a placa envie frases VTG, GGA, GSV, GLL e ZDA, além de RMC e GBS. A minha placa em particular tem um pequeno bug: também começa a enviar duas cópias de cada um dos comandos RMC e GBS.

Para que deixe de enviar as mensagens GPS adicionais, envie o seguinte comando autorizado:

$PSRT,GPSDATA,,,0*61

Interrogar a placa

Há uma data de frases que podem ser usadas para ler informação do sistema. São elas:

Estado dos LED

Send: $DUAIQ,LED*29
Recv: $PSRT,LED,a*hh
a bit 1: Power On
a bit 2: TX timeout
a bit 3: Error
a bit 4: SRM status
hh: checksum

Dados internos

Send: $DUAIQ,ADC*22
Recv: $PSRT,ADC,a,b,c,d,e,f,g*hh
a: Tx forward power
b: Tx reverse power
c: RSSI Rx 1
d: RSSI Rx 2
e: Internal 3V3 supply
f: Internal 6V supply
g: Supply voltage
hh: Checksum

Dados estáticos da estação (AISSD)

Send: $DUAIQ,SSD*20
Recv: $AISSD,a,b,c,d,e,f,g,h*hh
a: Callsign, 8 bytes fixed length; @ for unused bytes
b: Ship's name,20 bytes fixed length; @ for unused bytes
c: GPS antenna distance from bow, in m
d: GPS antenna distance from stern, in m
e: GPS antenna distance from port side, in m
f: GPS antenna distance from SB side, in m
g: DTE
h: Source Identifier
hh: Checksum

MMSI

Send: $DUAIQ,010*55
Recv: $PSRT,010,,,c*hh
a: ?
b: ?
c: MMSI

Nome OEM

Send: $DUAIQ,SRM*28
Recv: $PSRT,SRM,a,b,c*hh
a: ?
b: ?
c: OEM name used in AIS messages, 7 bytes fixed length; unused bytes are filled with @.
hh: Checksum

Dados estáticos da embarcação (VSD)

Send: $DUAIQ,VSD*25
Recv: $AIVSD,a,b,c,d,e,f,g,h*hh
a: Type of ship and cargo. For recreational use: 36 = Sailing vessel, 37 = Pleasure craft
b: Maximum present draught, always 00.0
c: Persons on board, always 0000
d: Destination, always @@@@@@@@@@@@@@@@@@@
e: Est. UTC of arrival, always 000000
f: Est. day of arrival, always 00
g: Est. month of arrival, always 00
h: Navigational status, always 00
i: Regional application flags, always 00
hh: Checksum

Versão do software

Send: $DUAIQ,SWF*26
Recv: $PSRT,SWF,a,b*hh
a: AIS software version
b: FPGA version
hh: Checksum

Número de série do transponder

Send: $DUAIQ,SNO*36
Recv: $PSRT,SNO,a*hh
a: Serial number in ASCII, 10 digits. Usually all 0.

Repor a programação de dados

O comando seguinte pode ser usado para repor as definições de fábrica do AIS, incluindo o número MMSI, para que possa ser reprogramado, por exemplo quando quiser vender o seu transcetor AIS.

$PSRT,RDP*6F

Recebi inúmeros relatos de pessoas que me dizem que isto funciona bem, numa série de aparelhos diferentes. Basta garantir que o seu AIS veio com o ProAIS e deverá correr tudo bem.

NOTA o artigo acima foi publicado originalmente no meu antigo blogue, no URL http://yachtelectronics.blogspot.nl/2011/02/srt-proprietary-ais-commands.html

Comentários