Its is kind of magic. By combining the Unwired Labs Wifi fingerprints API with the Sigfox transmission network, you get a geolocation device that knows where you are without the need of a GPS device, and transmits your location to a server without GSM nor Wi-Fi connection.
Ten minutes after you plug your Raspberry Pi, it will start to transmit every 10 minutes the two first Wi-Fi BSSID detected. Sigfox will forward these to your server. A php script will query the Unwired Labs database, which will return the location (lat/lon/accuracy), that you can use for your own purposes.
Just follow the steps !
- 1 configured Raspberry Pi (eg : version 3)
- 1 power source (eg : RS PB A 5200 )
- 1 Sigfox module for Rapsberry Pi (eg : from Yadom : here or [here] (http://yadom.fr/reseaux-iot/sigfox/carte-rpisigfox.html) )
- 1 case (optional, eg: here)
- sendsigfox.py, from the repository rpisigfox
- loc.sh, that will run on the Raspberry Pi
- from_sigfox.php, that will run on your web server
- When buying the Yadom Rpi Sigfox card, you get a one-year subscription to the service telemesure.net
- A token from Unwired Labs (as a developer, you get 50 free per day)
- 1 webserver that can run php scripts and execute curl commands
- Start from an working Raspberry Pi
- Assemble the sigfox module, the antenna & the pi
- Follow the steps on the repository rpisigfox to configure your pi
- Put sendsigfox.py in /home/pi
- Put loc.sh in /home/pi
- in from_sigfox.php, change "00000000000000" to be your token from unwiredlabs
- Do something with the $ret variable (eg : put the data in a database)
- put from_sigfox.php on your webserver
- configure the callback on telemesure.net. Be sure to choose the 'POST' method
- On your Raspberry pi : sudo crontab -e, and add the following line : */10 * * * * /home/pi/loc.sh
Ten minutes after you plug your Raspberry Pi, it will start to transmit every 10 minutes the two first Wi-Fi BSSID detected. Sigfox will forward these to your server. The php script will query the Unwired Labs database, which will return the location (lat/lon/accuracy), that you can use for your own purposes.