In IoT and digital age, location-based services applications are widespread: starting from Google maps to anti-loss devices and not ending with location-based marketing. The most common technologies used for user location identification are: GPS, WiFi and Beacons (a custom BLE profile).
Location-based (geofencing) marketing is a new way to enhance the personal experience while shopping. For example if you were near the shampoo section you will get on your mobile exclusive offers about that section.
Choosing the right location detection technology needs to take into consideration that GPS works optimally in the open sky environments and WiFi and Beacons can work probably indoors (and outdoors but within inhabited areas with hotspots). Now let’s get a brief look at each technology:
Thanks to on-the-shelf GPS modules/receivers from vendors like: Neoway and u-blox it’s easy to embed a GPS receiver into your project. What you need is a module sending its messages via UART to the MCU and a ready-made antenna attached to the module. There is a standard format for these modules messages called NEMEA. These messages contain information about the location that includes longitude, latitude, direction, speed … etc. These receivers need to see at least 4 satellites to compute a position.
There are many navigation systems like the Russian GLONASS, the European Union’s Galileo and the American GPS.
GPS is mainly designed to be an outdoor location detection system. Therefore, its performance decreases in enclosed places and across crowded areas with buildings.
WiFi can be used in location detection (AKA Wi-Fi positioning system) when your phone or WiFi transceiver module like ESP32 or ESP8266 is near hotspots. You can consider WiFi like a coexisting system with GPS for indoor areas. Moreover, WiFi can be used to detect the location inside the enclosed/underground area; you can see the SubPos project on Hackaday to know how.