jvde-github / AIS-catcher

AIS receiver for RTL SDR dongles, Airspy R2, Airspy Mini, Airspy HF+, HackRF, SDRplay and SoapySDR
https://aiscatcher.org
GNU General Public License v3.0
474 stars 76 forks source link

Binary Message 8 #259

Open MatsA opened 4 months ago

MatsA commented 4 months ago

Hi and once again thanks for a very nice application.

Nowadays I'm also using the app in our boat together with Signal K and the web app Freeboard. Using this new combination weather reporting ATON:s appeared. Se pictures. According to my knowledge these are not displayed in your web app and maybe could be a nice add-on ?

Googled a little and found, below, in a product specification the format for message 8. http://www.ohmex.com/AtoNpaper.pdf

/Mats SK1

SK2

jvde-github commented 4 months ago

Hi Mats, do you know what message type this is? Oh forget about it. Paper is very clear. Interesting idea. I might have to look for a few examples to test.

jvde-github commented 4 months ago

I managed to get a few examples, but have not implemented the JSON decomposition:

{"class":"AIS","device":"AIS-catcher","scaled":true,"channel":"A","nmea":["!AIVDM,1,1,,A,8@2<HV@0BkLfrhhJWNjtQ0dJTrMcgweVwwwwwwwwwwwwwwwwwwwwwwwwwt0,2*57"],"station_id":999,"type":8,"repeat":1,"mmsi":2300057,"dac":1,"fid":11}
MatsA commented 4 months ago

God Morning, up and working early! 😉

Nice you found examples. Think it can be nice additional info in the web app.

/Mats

MatsA commented 4 months ago

The pictures above is from the web app Freeboard. Source found here https://github.com/SignalK/freeboard-sk which maybe can help

/Mats

jvde-github commented 4 months ago

The description was on the gitlab: https://gpsd.gitlab.io/gpsd/AIVDM.html#_meteorological_and_hydrological_data_imo236 gpsdecode has a reference implementation.

It seems to decode now:

{"class":"AIS","device":"AIS-catcher","scaled":true,"channel":"A","nmea":["!AIVDM,2,1,5,A,8030pJh0BjlQ?tNg2vk@OwwwwwwwwwwwwlIRD=wwwwwwwwwwwwwwwwww,0*20","!AIVDM,2,2,5,A,wwt,2*65"],"type":8,"repeat":0,"mmsi":3160171,"dac":1,"fid":11,"lon":0.641500,"lat":72.633850,"day":27,"hour":6,"minute":32,"wspeed":127,"wgust":127,"wdir":511,"wgustdir":511,"humidity":127,"pressure":511,"pressuretend":3,"visibility":25.500000,"waterlevel":14.000000,"leveltrend":3,"cspeed":1.800000,"cdir":269,"cspeed2":25.500000,"cdir2":511,"cdepth2":31,"cspeed3":25.500000,"cdir3":511,"cdepth3":31,"waveheight":25.500000,"waveperiod":63,"wavedir":511,"swellheight":25.500000,"swellperiod":63,"swelldir":511,"seastate":15,"preciptype":7,"salinity":511,"ice":3}

compared to gpsdecode:

{"class":"AIS","device":"AIS-catcher","scaled":true,"channel":"A","nmea":["!AIVDM,2,1,5,A,8030pJh0BjlQ?tNg2vk@OwwwwwwwwwwwwlIRD=wwwwwwwwwwwwwwwwww,0*20","!AIVDM,2,2,5,A,wwt,2*65"],"type":8,"repeat":0,"mmsi":3160171,"dac":1,"fid":11,"lon":0.641500,"lat":72.633850,"day":27,"hour":6,"minute":32,"wspeed":127,"wgust":127,"wdir":511,"wgustdir":511,"humidity":127,"pressure":511,"pressuretend":3,"visibility":25.500000,"waterlevel":14.000000,"leveltrend":3,"cspeed":1.800000,"cdir":269,"cspeed2":25.500000,"cdir2":511,"cdepth2":31,"cspeed3":25.500000,"cdir3":511,"cdepth3":31,"waveheight":25.500000,"waveperiod":63,"wavedir":511,"swellheight":25.500000,"swellperiod":63,"swelldir":511,"seastate":15,"preciptype":7,"salinity":511,"ice":3}

The question now is where and how to integrate it without too much clutter and work. Perhaps we can add an icon to the map where we receive binary messages, user clicks on it and shows the above in a table.....

MatsA commented 4 months ago

Nice !

Yes I think your proposal is nice.

"The question now is where and how to integrate it without too much clutter and work. Perhaps we can add an icon to the map where we receive binary messages, user clicks on it and shows the above in a table....."

If you want to minimize the clutter maybe a filter so no AtoN:s is shown ?

jvde-github commented 4 months ago

Bit of work for a free hour.. but let's experiment. The mesages are in the aiscatcher.org stream so we can do something with it

MatsA commented 4 months ago

OK

Regarding the "stream".... maybe you should add information at the https://aiscatcher.org/stations that you must be on version >= v0.58 to participate..... I did the mistake to be on a lower level and therefore there are 2 stations with name "Domsten Harbour". Have a nice weekend, Mats

jvde-github commented 4 months ago

Great. Good suggestion. Have added that. Shall I remove 1096 from the database?

MatsA commented 4 months ago

Absolutely, feel free to remove it.

flygfantast commented 1 month ago

I have a station that I didn't know what it was, sending out msg 8 approx every 6-7 minutes, until I stumble across this post.

Would be nice to decode it somehow...

Some captured messages

!AIVDM,2,1,9,A,8@2R5Ph0GhJH;AbGw6u9h@=D:R06EuOwgwl?wnSwe7wvlOwwsAwwnSGm,0*5A
!AIVDM,2,2,9,A,wvwt,0*1D
!AIVDM,2,1,7,A,8@2R5Ph0GhJH;AbGw6u9h@=D:R06EuOwgwl?wnSwe7wvlOwwsAwwnSGm,0*54
!AIVDM,2,2,7,A,wvwt,0*13
!AIVDM,2,1,8,A,8@2R5Ph0GhJH;AbGw6u9h@=D:R06EuOwgwl?wnSwe7wvlOwwsAwwnSGm,0*5B
!AIVDM,2,2,8,A,wvwt,0*1C
!AIVDM,2,1,6,A,8@2R5Ph0GhJH;AbGw6u9h@=D:R06EuOwgwl?wnSwe7wvlOwwsAwwnSGm,0*55
!AIVDM,2,2,6,A,wvwt,0*12
!AIVDM,2,1,0,A,8@2R5Ph0GhJH;AbGw6u9h@=D:R06EuOwgwl?wnSwe7wvlOwwsAwwnSGm,0*53
!AIVDM,2,2,0,A,wvwt,0*14
!AIVDM,2,1,1,A,8@2R5Ph0GhJH;AbGw6u9h@=D:R06EuOwgwl?wnSwe7wvlOwwsAwwnSGm,0*52
!AIVDM,2,2,1,A,wvwt,0*15
!AIVDM,2,1,2,A,8@2R5Ph0GhJH;AbGw6u9h@=D:R06EuOwgwl?wnSwe7wvlOwwsAwwnSGm,0*51
!AIVDM,2,2,2,A,wvwt,0*16
jvde-github commented 1 month ago

You can, run with -o 5, for example the first message is:

AIS-catcher (build Jun 24 2024) v0.59-97-g7c50607b
(C) Copyright 2021-2023 jvde-github and other contributors
This is free software; see the source for copying conditions.There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
{"class":"AIS","device":"AIS-catcher","version":0,"driver":0,"hardware":"","rxtime":"20240723204307","scaled":true,"channel":"A","nmea":["!AIVDM,2,1,7,A,8@2R5Ph0GhJH;AbGw6u6h@999:06EuOwgwl?wnSwe7wvlOwwsAwwnSGm,0*49","!AIVDM,2,2,7,A,wvwt,0*13"],"signalpower":1024.000000,"ppm":1024.000000,"type":8,"repeat":1,"mmsi":2655619,"dac":1,"fid":31,"lon":14.405766,"lat":58.094799,"accuracy":true,"day":23,"hour":20,"minute":27,"wspeed":2,"wgust":2,"wdir":146,"wgustdir":146,"visgreater":false,"visibility":12.700000,"waterlevel":30.009998,"cspeed2":25.500000,"cdir2":360,"cdepth2":31,"cspeed3":25.500000,"cdir3":360,"cdepth3":31,"waveheight":25.500000,"waveperiod":63,"wavedir":360,"swellheight":25.500000,"swellperiod":63,"swelldir":360,"seastate":13}

If you want to only see message 6 and 8 decoded in your log -o 5 filter on allow_type 6,8. But I guess you want to see it in the webviewer?

flygfantast commented 1 month ago

If you want to only see message 6 and 8 decoded in your log -o 5 filter on allow_type 6,8. But I guess you want to see it in the webviewer?

Yes, that would be nice. Maybe some kind of meteo icon on the location in the message that you can click on, just like the boats, to see the data.

/Niklas

flygfantast commented 1 month ago

Hi, @flygfantast My 2cts To decode I use this website : https://www.maritec.co.za/aisvdmvdodecoding

Thanks for the tip, this was the exact website I found googling yesterday. :)

Br Niklas