Este artigo explica como o PredictWind DataHub converte dados de nível de tanques NMEA 2000 em sentenças NMEA 0183 XDR , usando uma configuração de exemplo com dois tanques de água doce e um tanque de combustível .
Os exemplos demonstram como os tanques individuais são identificados, o formato da sentença XDR e a frequência com que os dados são transmitidos.
Embora este exemplo utilize três tanques, os mesmos princípios se aplicam a outras configurações de tanques e tipos de fluidos suportados.
1. Tanques independentes e números de instâncias
Cada tanque é identificado pelo seu tipo de fluido e pelo seu número de instância NMEA 2000, e cada um se torna sua própria sentença XDR. Dois tanques de água doce com instâncias 0 e 1 são identificados como FRESHWATER#0 e FRESHWATER#1 . O tanque de combustível é identificado como FUEL#0 .
Duas coisas a verificar ao configurar os sensores:
Instâncias únicas por tipo de fluido. Dois tanques de água doce na mesma instância produziriam identificadores idênticos e não poderiam ser diferenciados. As instâncias de fluidos NMEA 2000 variam de 0 a 15.
Tipo de fluido correto. O DataHub mapeia os tipos de fluido para nomes de identificadores da seguinte forma:
Combustível (diesel ou gasolina) →
FUELÁgua doce →
FRESHWATERÁguas cinzentas/residuais →
WASTEWATERÁgua negra →
BLACKWATERViva bem →
LIVEWELLWATERÓleo →
OILQualquer outro tipo →
FLUID
2. Formato da frase
O DataHub utiliza a convenção NMEA 0183 v4.11 XDR, a mesma usada pelo Engine Dashboard do OpenCPN:
código:
$IIXDR,E,<nível>,P,<TIPO>#<instância>,V,<capacidade>,l,<TIPO>#<instância>*hh
E/P: nível em porcentagem de preenchimento, de 0 a 100, enviado com uma casa decimal.V/l: capacidade do tanque em litros (com "l" minúsculo)O grupo de capacidade é incluído somente quando o sensor reporta uma capacidade válida maior que zero. Se o sensor do tanque não enviar uma capacidade, a sentença termina após o grupo de nível.
Estes exemplos mostram o formato exato, com valores ilustrativos:
código:
$IIXDR,E,72.4,P,ÁGUA DOCE#0,V,300.0,l,ÁGUA DOCE#0*53
$IIXDR,E,55.0,P,ÁGUA DOCE#1,V,150.0,l,ÁGUA DOCE#1*55
$IIXDR,E,88.8,P,COMBUSTÍVEL#0,V,400.0,l,COMBUSTÍVEL#0*5D
Sem capacidade, o consumo de combustível seria:
código:
$IIXDR,E,88.8,P,COMBUSTÍVEL#0*44
O DataHub ignora completamente a leitura se o nível não estiver disponível ou se o tipo de fluido for sinalizado como um erro.
3. Frequência de transmissão
O DataHub não mantém um cronograma próprio para os dados do tanque. Ele emite uma sentença XDR para cada mensagem PGN 127505 que o sensor envia para a rede. Portanto, a taxa corresponde à taxa de transmissão do sensor do tanque. A taxa padrão NMEA 2000 para este PGN é de 2,5 segundos; a Simarine pode confirmar a taxa real do STR2.
Os sensores transmitem este PGN periodicamente, independentemente das alterações, portanto as frases se repetem mesmo quando o nível não se alterou. No Home Assistant, você verá um fluxo de atualizações constante, em vez de atualizações apenas quando houver mudanças.
Próximos passos: Configurar os sensores do seu aquário
Ao conectar sensores de tanque NMEA 2000 compatíveis ao seu DataHub :
Configure os sensores dos tanques de acordo com as instruções do fabricante, garantindo que cada tanque tenha o tipo de fluido correto e um número de instância exclusivo para esse tipo de fluido.
Conecte os sensores à sua rede NMEA 2000 e certifique-se de que o DataHub esteja conectado à mesma rede.
Verifique se os sensores estão transmitindo dados de nível do tanque usando NMEA 2000 PGN 127505.
Conecte seu aplicativo receptor ao fluxo TCP NMEA 0183 local do DataHub para visualizar as sentenças XDR convertidas.
Verifique as leituras dos tanques no seu aplicativo de recebimento, certificando-se de que cada tanque esteja identificado corretamente e que os níveis relatados correspondam às leituras do sensor.
Nota: O DataHub converte as mensagens de nível do tanque conforme são recebidas da rede NMEA 2000. A frequência das atualizações depende dos sensores e de suas configurações de transmissão. Não é necessária uma conexão com a internet para essa conversão.
