Four years ago some of my IoT students worked on a mini-project to track the route taken by someone riding a bicycle. They used an app called Owntracks on an Android mobile phone to send the data via a remote MQTT broker to a Raspberry Pi at school where Node-RED wrote the 'points' away to a MySQL database and displayed the tracks on a Node-RED Dashboard. This meant the students could see the position of the cyclist in realtime and could play the results back (offline) from the dB.
The benefit of this approach is you don't need any extra hardware apart from a mobile phone.
If I was tackling the project again I'd probably see how the Telegram app shapes up for this application.
I published it on 'Share Your Projects'
Here's a direct link to the tutorial I wrote for my students.
http://resources-area.co.uk/node-red-flows/tracking_a_mobile_device.pdf
EDIT:
I've just seen in the tutorial the students used www.cloudmqtt.com as their broker.
Not sure if that company still offers a free teir.
Beebotte do offer a free plan for up 50k messages/day - so worth considering.