Find: High-precision indoor positioning framework for most wifi-enabled devices

It’s a Samsung S7 Edge running Android 6.0.1. Find App is V0.5.

If I enter tracking mode then press the power button to lock the screen tracking continues to work fine. If I press the Home button first the behavior is different and I get those /track posts without the location guess.

I finally got MQTT working. I think I probably would prefer an inbuilt MQTT solution rather than messing about with mosquitto although I admire the ingenuity getting it done that way in the short term. :slight_smile:

I’ve also raised an issue regarding adding the timestamp to the MQTT payload. Without it it’s hard to know how stale the data is.

@mstormi,

No, they just need to be in your path. So you can just put them in the same directory as FIND, or somewhere in your path like /usr/bin or /usr/local/bin. As a side note, I’ve noticed SVM doesn’t work that well for me…the NB seems to work better. Let me know if you notice a difference

![quote=“mstormi, post:38, topic:9909”]
is there any way to define where to persist server-learnt data ?
[/quote]

Not right now, no. All the data is stored in the data/ folder in the directory where the server runs. In the future I can add a flag to change this.

Sorry! That’s an error. I removed that flag, but forgot to remove it from the example text :blush: That flag is not available.

Glad you got it to work! One question: Are you running your own mosquitto server? If so, then the “findID” that you wrote on the Wiki should actually be the pid of the mosquitto process. You can get this by using ps aux | grep mosquitto and using the number that shows up in the first column. The reason that FIND needs this is that you can add authentication directly using curl -X PUT "http://YOURGROUP/mqtt?group=YOURGROUP and then FIND will automatically manage the passwd file and restart mosquitto using a SIGHUP signal. However, if you are using a different MQTT server, then this doesn’t matter!

Done.

Sorry I don’t know whats going on with this. I’ll make an issue for it, just in case someone else knows whats going on. Someone is working on a native Android app that is version23 compatible, so I think that should help :slight_smile:

Lol good to hear. Thanks :smile:

If it is a room in your house, it doesn’t matter. (I usually just throw my phone in a room and do something else while its collecting). If you want to classify a big place as a single location, like a gymnasium, then it is better to wander around cause there the variation can be utilized.

Thanks for your input. Yes I do. I’ve updated the Wiki with your info.

Sorry if this is a dumb question. But if I want to track others in my home besides myself. Does each user need to have the FIND app installed? Of just myself to setup the initial locations?

Each user has the app installed but when you set them up give them a unique user name but join the same group. You wont have to relearn places and can access them the same way with mqtt but change the username to look up.

Hey guys

I’m looking into setting up FIND for my home, but my OpenHAB server is a Windows machine. I could of course setup a Linux machine to run the FIND server, but I would prefer to have it on the same server as OpenHAB. The name “FIND” is a horrible name from a Google search perspective - so I haven’t been able to find out if that is possible. Does anybody know if it’s possible to run the FIND server on a Windows machine?

Regards
/P

The link I provided in the first posting on this thread is the primary source for all the information about FIND there is (that I’m aware of) beyond some random blog posts.

From the repo:

Computer users: you can download the current version of the fingerprinting program, available for Rasbperry Pi, OSX, Linux, and Windows.

Link to the Windows download:

https://github.com/schollz/find/releases/download/v0.5/findclient_0.5_windows_amd64.zip

Rich: That’s for the client (which I will use on Android). I’m talking about the server part.

I tried navigating the FIND pages, but couldn’t find any Windows binaries for the server. Maybe I should just try to compile it from source and see what happens.

No, that is the link for the server. I got it from:

From the FAQ:

Can I run the server at home on the LAN connection?
Yes. You can setup your own server to host locally. Setting up your server can be done by building the program yourself or simply downloading the latest prebuilt version for you OS.

Ah, there it is… https://github.com/schollz/find/releases/download/v2.0/find-2.0-windows-amd64.zip

Thanks!

Glad you found it! Sorry it wasn’t more visible - I’ll try to fix that.

By the way, there is a much newer version, v2.2. You can access it by clicking on the “Releases” button on the github page (sorry I can’t post links, openhab seems to flag all my posts with links now).

As always, please don’t hesitate to ask if you have any questions.

1 Like

NOTE: I got the link to the 2.0 version from the FAQ.

Can I run the server at home on the LAN connection?
Yes. You can setup your own server to host locally. Setting up your server can be done by building the program yourself or simply downloading the latest prebuilt version for you OS.

You should update it there as well.

Thanks! Forgot to update those :slight_smile:

The past week I played with the following idea to get better location determination in my house.
My house is about 4m wide and 15m deep.
and devided in 3 spaces(7m, 4m, 4m)
Detection was very flakey due to compact size.

What I did was the following:
Take an esp8266 model 3.
Removed the ceramic antenna
With arduino software i lowered the power output to minimal and configured it as access point.
Wrapped the esp in tin foil to lower the reception more.

Relearned all the positions.
Positioning is beter but not optimal.

I think I need to find a method to limit the range a bit more.
If I can’t optimise this a bit more, I think I will try bluetooth beacons.

Err… I don’t understand your approach … changing a single AP’s radio power won’t make a difference or just little.
FIND is supposed to work the better the more (different) access points there are in range.

You could try to deploy a couple of WiFi repeaters. These usually span up another network on the same frequency
(@schollz: am I right that this raises the number of AP that will be used for triangulation, thus potentially incrementingdetection accuracy ?). This shouldn’t waste bandwidth unless you actually use them, i.e. connect to them.

Fact that the house is quite small.
Want I wanted to achieve was rapid signal drop over a short distance.
This way triangulation should be more precise.
At least that was the idea.(btw I have 2 ap’s installed at both ends of my house).

Any insights are welcome.

Yes, you are right @mstormi. This is what I do at my house.

@yelti_be, I think I understand what you’re doing, but I think it won’t help much. Increasing the signal strength overall should be better. That way you can exploit any WiFi routers your neighbours have (you don’t actually use any of their bandwidth, it just checks to see how far away they are). I’d also be wary about trying to learn 3+ locations if you only have a tiny house and two routers. The density of points you can learn really depends on the density of APs. I don’t have any hard data on this, so you will just have to try and see!

Hello,
I don’t mean to hijack this thread, but I am facing the same issue.
my phone: Nexus 6P
Android version 7.0 build NRD90M
FIND version 0.53

As long as FIND runs in foreground all posts are OK, but as soon as it runs in background a POST /track is logged at the server without the [DEBUG] data line.