FIND supports many different types of clients. The code to use the FIND server is very simple, so it is generalizable to many devices. Click on a device below to get started on a particular device.
Android
The current app can be downloaded from the Google Play store for free. The current version is available here.
Alternatively, there is a 3rd party app that has optional Tasker integration available here on the Google Play store.
The source-code for the current app is available on Github. The source-code for the old app is also available on Github.
Electric Imp
The Electric Imp is an amazingly easy way to integrate just about any hardware device to the internet. The impExplorer is a real ideal client for FIND as it can include a wake-on-shake with its builtin accelerometer. Its also inexpensive and easy to program.
The program I’ve used is below.
Raspberry Pi
Raspberry Pi is very easy to use as a client for FIND.
To get started, first download the findclient for ARM. Then unzip and just run!
Here are the commands you can use to get started:
wget https://github.com/schollz/find/releases/download/v0.5/findclient_0.5_linux_arm.zip
unzip findclient_0.5_linux_arm.zip
sudo ./findclient -g YOURGROUP (for tracking)
sudo ./findclient -g YOURGROUP -e (for learning)
Particle Photon
The Particle Photon is a $20 device that can be used as a tracking device using the following code. The code allows for a “sleep” mode that can be activated by pressing “Setup” once, and turned off by pressing “Setup” twice. This mode allows more battery life.
You can access the FIND program using HTTP or MQTT. I’ve included example sketches that can be used for each.
HTTP-based messaging
Some notes:
- You must use HTTP, not HTTPS. That’s why the server is set to
ml2.internalpositioning.com
- You can not flash from WiFi is the board is in sleep mode. Thats what the button is for. If this fails, you can reset by unplugging, holding down “Setup” and then plugging in while holding down “Setup.” Then link up the Photon like you did from the beginning.
- The Photon ESP chip sees fewer macs than a Android does, probably because of the antenna. Thus, its best to not use platform-specific information and you should set the mixins to
0
on the server (see API).
MQTT-based messaging
This version uses significantly less bandwidth than the HTTP version. It takes a little more configuration, see the MQTT documentation for how to get started with MQTT.
Benchmarking
Using a nextTime
of +2000ms
it uses 147 mA.
Using a nextTime
of +5000ms
, it uses 113 mA.
Using a nextTime
of +10000ms
, with SLEEP ACTIVATED, it uses 81 mA
Using a nextTime
of +60000ms
, with SLEEP ACTIVATED, it uses 57 mA
ESP8266
Coming soon! You can track the progress or contribute at the Github Issue.