Develop a driver that connects to a UDP stream and parses incoming NMEA AIS messages.
A typical AIS NMEA sentence is formatted as follows:
!AIVDM,1,1,,B,15NfK=PP11qm2apCau@kwwwL28K9,0*7F
| Field |
Example Value |
Description |
| Sentence Type |
!AIVDM |
AIS VHF Data-link Message |
| Fragment Count |
1 |
Total number of fragments in the message |
| Fragment Number |
1 |
Current fragment number |
| Sequential ID |
(blank) |
Identifier used to associate multipart messages |
| Channel |
B |
AIS radio channel |
| Payload |
15NfK=PP11qm2apCau@kwwwL28K9 |
Encoded AIS payload |
| Fill Bits |
0 |
Number of padding bits added to the payload |
| Checksum |
7F |
NMEA checksum value |
The driver shall:
Connect to a configurable UDP address/port
Read and validate incoming NMEA AIS sentences
Support reassembly of multipart AIS messages when required
Decode and parse AIS payloads
Determine the AIS Message ID from the decoded payload
Produce the appropriate report/output structure based on the AIS Message ID
Reference documentation for AIS message types and report structures can be found here:
USCG AIS Message Reference
Develop a driver that connects to a UDP stream and parses incoming NMEA AIS messages.
A typical AIS NMEA sentence is formatted as follows:
!AIVDM,1,1,,B,15NfK=PP11qm2apCau@kwwwL28K9,0*7FThe driver shall:
Connect to a configurable UDP address/port
Read and validate incoming NMEA AIS sentences
Support reassembly of multipart AIS messages when required
Decode and parse AIS payloads
Determine the AIS Message ID from the decoded payload
Produce the appropriate report/output structure based on the AIS Message ID
Reference documentation for AIS message types and report structures can be found here:
USCG AIS Message Reference