gpsd-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gpsd-dev] AIS features


From: christian Gagneraud
Subject: [gpsd-dev] AIS features
Date: Sat, 21 Apr 2012 17:32:28 +0100
User-agent: Mozilla/5.0 (X11; Linux i686; rv:11.0) Gecko/20120327 Thunderbird/11.0.1

Hi all,

I would like to talk about some AIS features I would like to add to gpsd.

The first feature comes from a need for adding a nice GPS/AIS web administration interface to the OpenWRT project. The second one is more for professional reason, and is unlikely to have that many "consumers". But maybe the gpsd project would still be interesting.

Feature #1:
=======

The problem:
I would like to display vessels information on a web page, and get the content updated via javascript. One page is textual data, that would show a table of vessels/station with associated information (quick summary), and as well a summary of received messages 6, 8, 12 and 14. The other page is a map, based on OpenLayers and OpenSeaMap. If it was about GPS fix data, it wouldn't be a problem, but AIS data comes little bit by little bit, and message are repeated only every several minutes.

The solution:
I wrote a python "deamon" that run on the server side that continuously read AIS data from gpsd and build up these informations as they come. Then each time the javascript make a request, the code on the server side connects to this AIS process and request a dump of the data and returns it as JSON. So far, it is really a very simple, quick and dirty, proof of concept thingy. Maybe some people would like to share they thoughts on this. And i could improve and extend it, and submit it for integration into the contrib directory.

Maybe that's something people would like to see integrated inside gpsd, not on the side. Maybe, maybe not....


Feature #2:
=======

Sends AIS message over the air via an AIS AToN (Aid to navigation system) or AIS (class B) transponder.

AToN systems usually accepts the following input sentences:
!--ABM - Addressed binary and safety related message
$--AIR - AIS Interrogation request
$--BBM - Broadcast binary and safety related message
For the ABM and the BBM you have to encapsulate the data yourself (the payload is up to you, IMO 236/289 is common, text messages are of free form, encoding is the same as for the VDM/VDO messages). Note: You will certainly * need an authorization * for sending these kind of data.

Other transponders (for boat owners) usually accepts these ones:
$--VSD - Voyage static data  (Ship's type/category, destination, ...)
$--SSD - Station static data (Ship's call sign, name, and dimension, ...)
These sentences ends up as AIS messages type 5 and maybe 18 and 19 as well.

Usually these devices have at least 2 serial port, one for NMEA/AIS data output, and another one for data input and configuration.

So gpsd has the bits and bobs to decode NMEA/AIS data (VDO/VDM) and has the structure for the different AIS message type (and sub-types like IMO standards), but doesn't have the reverse functionality (take an AIS data structure and encode it into a ABM/BBM nmea sentence).

So my questions are:
- Are people interesting to see these features added to the gpsd project?
- Should these features been integrated into the gpsd daemon, or run separately?
- Any other idea, thoughts to share?

Regards,
Chris



reply via email to

[Prev in Thread] Current Thread [Next in Thread]