Measure signal strength of multiple access points in android - android-wifi

Hi i am developing an indoor positioning app. I am trying the method of wifi fingerprinting to mark locations, I need to know a way to measure the signal strength of more than 1 Access point in less delay, I tried scanning the with wifi.startscan but its to slow , Can some one suggest me some other way to accomplish the task ?

Related

Android Swipe Views Ethernet AndroidPlot & Overall Architecture

I'm quite new to Android development.
I'm trying to write an app that communicates by Wifi using UDP to an instrument.
The app plots 512 bytes of data it receives over WiFi using AndroidPlot. Transfer rate is satisfactory and communications is fault tolerant.
I would now like to turn my proof of concept into a functional app complete with tabs & swipe navigation.
On one tab I'd have my chart, on another tab I'd have some controls, and another tab with status information. Each tab would need access to the UDP thread.
As I'm new to this I'm having a hard time determining the right architecture to implement.
I feel I've wasted a good bit of time on fragments and pager adapters without really getting the functionality I'm after (the work I've done so far feels as though I'm trying to force something to do what it really isn't meant to do).
Could someone with experience give me a general path to take? Are fragments the answer? Is there a way to support swiped tabs without the additional complication of fragments?
Thanks for any help! Hopefully this isn't too general.

How to detect a unique person in front of media station

i need to create an application that is capable of detecting a person entering and leaving the area in front of a big screen.
since sensors like infrared and ultrasound can easily be fooled by multiple persons i was thinking of using face / person recognition.
one option would be to use the kinekt sensor.
my questions: is this system reliable? is there another good option?
Thanks a bundle!
I've already used kinect for this kind of projects in actionscript and unity with c# and i can say that's your best and only solution to detect person and mantain a low cost.
You have 2 possibilities to use kinect with as3:
First is to use AIR with a ANE (adobe native extension) and interface c++/c# dll with your application.
Second one is to use the old trick of the socket communication. You have 2 application as3 and c#/c++ and you put them in communication with a tcp/udp connection on the loopback interface.
IMHO the best solution is the first one, you don't have to write a good protocol to communicate but you just call methods and receive events as a normal API.

WP8 Uploading/Downloading large files

I am fairly new to Windows Phone development. We have a scenario where we allow user to upload or download files but along with authentication (oAuth, NTLM, forms all standard mechanism but not limited to oAuth).
Now so far our RnD suggest that we have following options
1- Resource Intensive Agent
The constraints associated with Resource Intensive (like Minimum battery etc.) have lead us to drop this option
2- Periodic Agent
A relatively better option, however as they run after 30 minutes and the constraint of 10 minutes duration gives us doubt that on mobile if user wants to upload a video of say 1-2 GB, it does not guarantee competition and u can anticipate other problems associated with this approach.
3- Background File Transfer
This is the best option in our scenario however my colleague told me that it does not support basic windows authentication and that we cannot change user-agent etc.
4- On Application
Another option is to perform network operation on application but we cant retain user on application for longer duration and also after sometime lock screen would appear. So...
Can anyone who have experienced similar scenario or from product team can guide here. It's a common scenario, are we missing something here? or is it really API limitation?
Resource Intensive Agents will indeed not work for your use case because they require external power to work. Not to mention that if the user receives a phone call the agent terminates.
Periodic Agent Have a 25 second limited duration, not 10 minutes (10 minutes are in resource intensive agents), so they are really no an option if you need to upload a gigabyte of information.
Background File Transfers have a hard limit of 100 megabytes. (It's even less on cellular internet).
On Application is a very possible option, you can prevent the phone from going to lock screen if that's a problem. The bigger issue here is that the user is pretty much stuck for the duration of the upload. More importantly, this seems to be your only option out of the four you mentioned.

Using the accelerometer in a Windows Phone 8 device to determine if device is not moving

I'm looking at trying to make my WP8 app more accurate in terms of location detection by making use of the accelerometer to detect if the device has stopped moving (in the context of driving, so horizontally only presumably).
I've read about the Motion API which is apparently the thing to use as it removes some of the complexity and calculations required when referencing the accelerometer directly. But i'm ensure has to how to use the data in the correct way, MotionReading.DeviceAcceleration etc.
Can anyone suggest the best/simplest way to determine if the device has stopped moving using this API or otherwise if there's a better way?
Thanks.
From my point of view, it really depends where do you want to use your app. If it is an outdoor application then as Igrali mentioned using GPS would be a better option. However, if you are still sure that you want to use accelerometer one way that I tried before was save last few results of the accelerometer every time then check them with previous results. if the result was same it means the system is stopped otherwise it is moving. That may not be a good way but it works.

Using Google Indoor Maps to map your home?

I want to be able to track somebody in their own home using their wifi signal on their phones. Is there anyway to do this using Google Indoor Maps? I couldn't find any API currently but I was just asking around just to be sure.
I don't think you can track a device by using only one point of reference.
If you use the WIFI signal power, you can only determine the position on the circle with radius set by the dropping in signal strength.
That can't possibly be what you want, you would need to determine the position of the device somewhere on that circle.
But since you only have on point of reference, which is the position of the WIFI emitter (which I'll assume is a wireless router) you cannot.
This is exactly the reason your device needs to "see" (as in direct line of sight) multiple GPS satellites. (it's called triangulation - it's actually a trilateration).
Keep this in mind also: the dropping in signal strength is affected by walls, as well as the angle the wall is forming with the line set by the device and the wifi emitter.
So multiple factors need to be considered when using the wifi signal strenght and converting that to a usable distance.
Hence, you probably won't be able to track somebody indoor using wifi. Unless you set multiple wifi emitters and record their GPS positions, and register their signal strengths in a LOT of points in the house. Which is not really feasible... or is it?
Assisted GPS, which is what most iPhone and Android devices has, works by detecting Wifi networks and strength nearby and correlating that with GPS signal. If you have neighbors who have wifi that reaches your house, particularly if you multiple neighbors with wifi, it's possible. However, that requires either that a location provider, such as Google or Skyhook or someone else has already registered that overlap and correlated it with location, and that the names of the networks are sufficiently unique (i.e. not everyone has a network named linksys) or that you do the measurements yourself and correlate these points with latitude and longitude.
The best test you can do is actually open up Google Maps on an iPhone or Android device and see if it can track you through the house.