Adding location awareness with GPS technology
Positioning technology is now ubiquitous. This technology was originally restricted to the military and commercial transport, it is now being built into everyday products such as cars, cell phones and watches. A brief overview of the three GPS segments will be introduced - Control Segment, Space Segment, User Segment, detailing how each of these cooperate to provide the user's location in both space and time. Methods will be covered that allow the receiver to acquire the civilian Coarse/Acquisition (C/A) satellite signal, track the signal until a solid lock is obtained, allowing the reception and decoding the down-link navigation data. A demonstration of technique will be performed by decoding previously acquired Radio-Frequency data. This is a level of detail usually hidden from the everyday GPS user and not normally seen, and will illustrate such concepts as the difference between a cold and warm start, the almanac, time to first fix and number of active channels. Inexpensively GPS hardware receivers are available from many suppliers, including hobby stores like Jaycar, commercial suppliers, and internet retailers such as Ali Express. As with all areas of technology, GPS receivers have their own jagon - understanding these is important selecting an appropriate module for a project. A few different inexpensive GPS hardware modules will be reviewed and a Raspberry Pi Zero running Linux will illustrate the low cost and accessibility of the hardware. To communicate with a GPS module the lingua franca of positioning systems is NMEA 0183 sentences, a standard developed by the National Marine Electronics Association. The NMEA data stream will be explained - how to parse them, how to detect data errors, what sorts of information it can provide. The efficient and correct processing of location data is important, and a few techniques will be covered that can be used to handle different use-cases. A brief overview of the Latitude, Longitude, Altitude (LLA) and Earth Centered, Earth Fixed (ECEF) coordinate systems will be provided, and followed with examples of how you can compute using GPS data and either a 'flat earth', spherical or WGS 84 ellipsoid model. Although GPS is a receive-only system it is not without security issues. Various attacks are possible, including shielding, jamming, spoofing, denial of service, hardware interception and (perhaps most interestingly) attacks against GPS receiver firmware. Other issues arise from the wider problem of securing access to GPS information in cloud-based services, and examples of what unexpected information may be revealed.
Mike 'Hamster' Field