ZylGpsReceiver.NET v3.18 .NET Component / Framework

ZylGpsReceiver.NET v3.18 .NET Component / Framework
ZylGpsReceiver.NET v3.18 .NET Component / Framework


ZylGpsReceiver.NET is an event driven .NET framework / component collection that communicates with a GPS receiver. It returns latitude, longitude, altitude, speed, course, heading and many other useful parameters of the current position and the parameters of the satellites in view. The component is extended to calculate distances and make conversions between different measurement units and there is also an extension for google maps support, to be able to visualize the GPS positions in real time on a map engine.

This component works with any NMEA 0183 compatible receiver connected to one of the serial ports. NMEA 0183 (or NMEA for short) is a combined electrical and data specification for communication between marine electronic devices such as echo sounder, sonars, Anemometer (winds speed and direction), gyrocompass, autopilot, GPS receivers and many other types of instruments. It has been defined by, and is controlled by, the US-based National Marine Electronics Association.
The component supports GPS (USA), GLONASS (Russia), BeiDou (China), Quasi-Zenith (Japan) and Galileo (EU) satellites, but theoretically you can use for any other satellite as well.

You can use it also with USB, IrDA and Bluetooth devices, because these devices have a driver that redirects the input from the USB, IrDA or Bluetooth port to a virtual serial port (you can check it in System/Device Manager/Ports). If your USB device is not provided with such a driver, then use a USB controller whose vendor provides a virtual serial port driver, such as FTDI or use a USB/RS-232 adapter. For Garmin receivers you have to install Spanner software.
To connect to an Android smartphone's GPS, you can download GPS2Bluetooth (or GPS2NET for TCP) application from playstore and connect your phone to your PC through bluetooth (GPS2BT service).
It has support for TCP and UDP connections as well or you can decode files in plain text NMEA or GPX formats.

The component collection contains 8 components. The following image displays the class diagram:



BaseGpsReceiver is a custom .NET component, which is designed to be the base class of any kind of GPS receivers. This component contains an NMEA decoder engine and it works with any NMEA compatible GPS receiver.
You can extend this class easily to process NMEA data from any kind of sources as files, sockets, web services and so on.

GpsReceiver is an extension of BaseGpsReceiver, which processes NMEA data from serial, USB or Bluetooth ports. It's thread based, which means that the reading process is handled by a different thread.

ManagedGpsReceiver is an extension of BaseGpsReceiver, which processes NMEA data from serial, USB or Bluetooth ports. If you need 100% managed code, without any Windows API, you can use this class. Otherwise we recommend GpsReceiver class.

FileGpsReceiver is an extension of BaseGpsReceiver, which processes NMEA data from a text file.

GpxGpsReceiver is an extension of BaseGpsReceiver, which processes GPX xml files with GPS data.

TcpGpsReceiver is an extension of BaseGpsReceiver, which processes NMEA data from an TCP socket.

UdpGpsReceiver is an extension of BaseGpsReceiver, which processes NMEA data from an UDP socket.

NmeaDecoder is an extension of BaseGpsReceiver, it implements an NMEA decoder.It works like a GPS Receiver, but you have to feed it with NMEA sentences programatically from the constructor or with the Decode method.

Maps is a visual control to display GPS positions on google maps, with more features. Attention: starting with 2018, you have to use a valid Google Maps jаvascript API key. You can get it from here for free! After you have it, initialize the ApiKey property of the component with this key.

Information
Users of Guests are not allowed to comment this publication.