I'd like to use an old small Android device as a GPS tracker to be installed on my bike.
My first though was simply to use Google location services. I sign in with a Google account, and then I share location through Google Maps. It turns out to be very battery friendly, as the location is not updated too frequently, and most of the times the phone is quite accurately located without the use of GPS. But there's a drawback in this approach, because I need to install a SIM card with internet access, so I would have to pay my ISP. So I thought of inserting a SIM who can only send/receive SMS (and calls), that would be costless unless when actually used (or anyway would be much more cheap). Doing this I cannot use any of the Google services obviously. My intention is to use it this way: when I need to know where my bike is, I simply send an SMS to this device, and the device should reply with its location. So, when it receives the message, it should turn on GPS, attempt to find the location, and send back the answer. But what if the GPS signal is low? It could locate itself using the network (WiFi, Bluetooth, cells). But it can't determine by itself where the networks it sees are located, so it should send the raw network data, that can then be used to locate it on the receiver phone (e.g. through the Mozilla location services). Is there a simple way to do this?
Summing it up. The locator device installed on the bike has no internet access but can send and receive SMS messages. The device should be always in sleeping state except when it receives an SMS instruction from my phone. When it receives it, it tries to locate itself and replies with the GPS location (if found) or with the raw network data it sees.