Android Ibeacon Indoor Location experiences - java

It's a few days i'm trying to build an app for indoor location of a user in to a room.
I'm using Estimote SDK . I had BAD results even if I tried many altrenatives.
I used, thrilateration, quadrilateration, some alhgoritms based on media and variance(made by myself) trying to reduce the noise...
I had unsatisfactories results (too wide fluctuations in very small range time) and i'm wondering if someone had any good experience in this kind of applications.
I know that results are good with IOS and I'm wondering if is it possible to replicate them in android system and if somone did...and could eventually help me.
Thanks,
Federico.

My personal opinion from experience I am building is that BLE beacons are not designed to easily provide location. They are only designed to provide "presence" ie. "you are near a point". And by near it means within a few metres, so that the signal is strong and you can be sure of being nearby. (Although I'm not convinced they are reliable even for that)
There are several companies that are doing trilateration or similar to get better accuracy out of multiple beacons, such as:
www.pointrlabs.com
indoo.rs
Estimote Indoor Location SDK
ensolocate.com
It seems from their publicity that they have this working. So it must be possible, but I suppose there is a lot of trial and error in getting practical algorithms, and a signal strength survey of the venue seems to be needed. I have not been able to find any unbiassed/independent review of these systems.

the fact is that ibeacon (i tried on ios with estimote earliest release) have RSSI no affidable. The fact is that you should not use it for detecting distance in meters but in "zones" like near, far, ecc

Related

starting application with speed detection

I am looking for a way to start my application automatically as soon as the users phone GPS detects certain speed, is it even possible to do such thing?
I have been looking for a while for that in google without much success.
is it even possible to do such thing?
No.
The closest thing would be to have your app running 24 hours a day, constantly checking GPS and then taking specific action when the speed reaches your desired level. This will be exceptionally bad for the battery and has significant privacy implications.
Not sure what your exact use case is, but maybe Google's Awareness API maybe of use to you, look it up here https://developers.google.com/awareness/android-api/fence-api-overview

Alternate use cases for DHIS2

Good day all.
Has anybody used DHIS2 for alternate cases, such as alien plant invasion research, and soil erosion on coastlines research.
Please can somebody confirm as well, if DHIS supports image capture in the field through the android app. - as I would like to use this platform for the above 2 cases mentioned.
Assistance is much appreciated for my questions.
Implementing and installing this
DHIS2 can be adapted for a vast range of use cases. The main thing that will guide you in deciding whether DHIS2 is the correct type of software to use is the location or geographical context where your data will be anchored. In DHIS2, this is referred to as "Organisation Unit". In the health domain, this is the health facilities and this organisational units can be structured hierarchically, starting from the lowest health facility to, say, the whole district that has multiple health facilities. In your case, the organisation unit can be the different labs where your research is conducted from.
Yes the DHIS2 Capture Android app can capture images and upload them to your server on the latest updates of DHIS2 software. The DHIS2 Capture documentation describes what is possible with the app.

Is it possible to get the coordinates of all the hotspots scanned in Android? [duplicate]

I want to write an application that it can record the wifi hotspot's location we are accessing and display them in map. But the problem is - how do I get wifi hotspot's location?
I think I can use the wifi signal to get the wifi hotspot's location, but it may not be very accuracy at first time. And if there is no other solution, I could record the location of GPS when access wifi hotspot at the first time.
You'll not be able to find the hotspots location and you'll not be able to determine the direction and distance from your current position to the actual hotspot.
The hotspots don't report their coordinates (my wifi box doesn't even know it's own geographical coordinates). Google captured hotspots during their streetview missions and used the results to triangulate the positions of wifi hotspots and other companies did the same to build up databases.
So to get the information, you'll need access to a database that knows the coordinates of hotspots.
TL;DR
Such services (1, 2) and apps exist and you can just be downloaded and/or readily used.
Technical possibilities of localization
A very rough localization is possible via the IP address. This technically (and not always) only allows you to find the location of the ISP through which the internet is accessed, not the AP/hotspot itself (since a certain IP address pool is assigned to a given ISP). However, unless a VPN is used, that will usually at least tell you the country and often be even accurate to less than 50km (since ISPs are usually somewhat close to the internet access node). Many readily avaiable services are available for this, simply searching for something along the lines of "ip to location API free" should yield good results.
As you thought yourself, and as other answers already mentioned (in vague terms), there is however a better (or at least additional) option. You could just use the many devices out there to record the received WiFi signals and associate the strength of the signal with locations. With such a database, you could then in turn located devices, based on the received signals. Actually there are several such services, most prominently the one created by google and used (and fed with data by) pretty much any android phone out there. Fortunately, some of these are open and free to use (and contribute to), such as the one provided by mozilla, and another one.
Cell towers (and according databases) often allows localization down to tens or hundreds of meters.
In some places dedicated bluetooth APs are used to increase localization accuracy, especially indoors.
If you have a lot of time (several hours to days) and a more-or-less accurate time, you can also use the light (from sun and moon) to get a location. Even with the simplest means you can get down to a few dozen kilometers.
Watching the inclination of geomagnetic field against center of gravity in combination with an according dataset (very inaccurate, but cheap).
Of course dedicated satellite navigation systems such as GPS (~5m), BeiDou (10m~10cm), Galileo (1m~1cm), GLONASS (7~3m), where the lower numbers in the brackets are commercial/military only-systems. However, each of these require dedicated receivers.
These satellite navigation systems are often augmented by Ground Based Augmentation Systems (GBAS), which require additional receivers.
So now you can pick and chose for your application, which of these are most useful to you.
I don't think so. I use iPod touch maps and Samsung Galaxy Wonder as hotspot. iPod could tell my location! My guess is Samsung stealthily follow Apple's doing of communicate geo info through wi-fi.

How to detect volume buttons when screen is off in energy-saving way

I would make an application that handle the volume buttons when screen is off. The goal would be to turn on or off the front LED.
I know that there many topics here that talk about it, but the recommended solutions (like PARTIAL_WAKE_LOCK) seem to be energy intensive and drain the battery very quickly!
What I want is a solution that is as energy efficient as possible. Is this possible? Maybe some kind of hooking?
Please note that the solutions based on scheduled tasks can not be envisaged for this project because I want detect keys in real time (or close to it)!
Take a look at this question.. if you already haven't ..
Just to make one thing clear. If something is not documented in API docs of android then any hack or workaround you find won't be reliable as Google may decide to change things in future releases, for example there is nothing documented about creating shortcuts after the app is installed ! But Since Android source code is available, developers took that piece of code as how was playstore creating shortcuts.. but its not documented so Google may change it in future !

Java ME on Siemens CX70

I have very old Siemens CX70 in working state and just don't want to throw it out. My idea is to use its math power and peripherals (GSM module, USB, Camera and screen) to build some simple applications for home use (multichannel termometer, timer and cheap security system - for examples).
I know I should use Java ME and IDE (I love Netbeans, for example). Can you tell me what I need more to start developing? I know Java well, I just need to make an environment to developing, debug and deploy. Mobile library documentation will be very helpful too.
Thanks.
There are so many online tutorials about this topic that the only right thing to do is to refer you to google.com
Search after "getting started with j2me".
However, there's something else you should know upfront before getting too excited.
The security model in JavaME will prevent you from doing much useful stuff, in relation to some of the things you mention.
Every time you try to access certain things in the phone, like e.g. the camera, or send SMS, or read/write a file on SD card, etc etc - the phone will show a popup "This app is trying to access camera. Allow this?". And the app will only continue after a manual click on Yes.
As you can imagine, this of course renders a lot of ideas useless.
In order to prevent these popups, you can sign your app with a certificate you buy from Thawte or Verisign. But as that'll cost you $300 a year, it's not the way most sparetime hobby developers chooses.
Personally, I found another way, but it requires you to use a phone from Sony Ericsson.
Because the old Sony Ericsson phones can be patched in order to remove the Java security. After doing this on one of my old phones, I've been having fun making apps like the ones you mention. For example, an app that keeps an eye on my home when we're out, by taking a picture every second. If it detects a difference in the picture, it sends me an MMS with the picture. :-)
I have searched a long time for patching options for other brands, but I just can't find anything useful. Nokia should supposedly also be patchable, but I just can't find anything useful about it.
So in short: If you'd like to make some sparetime hobby apps on a phone like that, you should either find a Sony Ericsson phone and patch it - or go dig up an old used Android device.
Good luck.

Categories