To perform basic triangulation of the client GSM device’s location, the GSM modem can be queried to return information about the towers in the area, including their unique Cell Ids, and the signal strength obtained from each.
Using this information, a circle can be drawn around each cell, with the circle size relative to the signal strength of each tower. The point where these circles intersect can be considered the client’s probable location.
Here we explore methods of communication with an internal GSM modem over a serial interface, some of the applicable Hayes or AT commands used to communicate with the hardware and how the information provided to us buy the modem can be used to determine the device’s location by triangulating it’s position against known cell tower locations.
A daemon is a computer program that runs as a backgroundprocess, executing tasks on a predefined schedule or in response to particular events, or in response to requests for information or services from other programs.
To start up a Java program as a daemon using Jsvc, we’ll need to do a few things: