How to get almost one meter accuracy between mobile devices - react-native

I am in search of a method to get one meter accuracy between mobile devices, with no luck so far. I was looking at gps and location based geo-fencing as an option, but i don't think I am going to get a one meter accuracy. The other option is with Bluetooth, but not sure about that as well.
Can I build a react-native app that can see whether two mobile devices with the app installed to get an accuracy as little as one meter using gps or any other device specific sensors?

I am not sure about your requirement. But to answer your questions, yes you should be able to get 1-meter displacement measurement between 2 geo-location.
Maybe you can check how to achieve 1-meter accuracy in Android
There is other way, where you don't need 2 devices but you can find the distance of any object. That would require a phone with 2 cameras. If that fits the requirement of yours you can explore that area also.

Related

How can we test Roku application

I'm new to Roku development (in R&D phase actually). I read that we can't test Roku app on simulator and need real device. If we develop an application, how will we test it?
I checked Roku developer site and different links on internet, but could not find anything that answers my questions
As per my info, Roku sells 5 devices so:
Can we do one app that supports all 5 devices?
Do we need assets in multiple resolutions?
Do I need to buy all devices?
Can we do one app that supports all 5 devices?
Yes. Roku is trying hard to keep their platform coherent, though there are performance issues between the OpenGL and non-OpenGL devices. The "legacy" models (<2222) are no more supported, the firmware is kept current for the others.
Do we need assets in multiple resolutions?
Theoretically yes, practically - not really. You can make-do with assets in only one resolution, if you RTFM and pre-plan carefully. You'll need 3 sizes of app icon, no sweat. For the real UI though, you can either do HD (720) or FHD (1080) and leave it scale accordingly - the thing is TV is very forgiving to scaling graphics because of 10ft watching distance (60" 1080p screen is "Retina" beyond 8ft). Can largely snub SD.
Do I need to buy all devices?
No. And there are much more than 5 devices that are in use - see https://forums.roku.com/viewtopic.php?f=34&t=86471&start=15#p536994 for some statistics (RokuCo does not publish statistics, so that's about the best info available). If you buy only 2 devices, i'll say get
a #42xx (Roku 3 or current Roku 2) as reference model with OpenGL
a #27xx (Roku 1 or SE) or #5xxx RokuTV as reference for "slower", non-OGLES
As 3rd model i'll say the "new HDMI stick" #3600. You can get that one as the only device, its performance is somewhere between (1) and (2) above... but i don't think developing with only 1 device is a good idea.
One thing you may not have noticed is that there are also these "Roku TV" things under Hisense/TCL/Sharp/Insignia brands, models #5xxx. These are proper TVs with proper Roku smarts - meaning can run your Roku app. And one can be had for as little as... (skimming BestBuy web) $130-150 for 24-32" screen.
And i haven't even mentioned the 4k/HDR craze here, nor the new 37xx/46xx models that will be out for the holiday season (i only expect minor, evolutionary changes there).
Disclosure: I am a Roku employee.
That's correct, you'll need an actual Roku device to test your application. You can buy them used on eBay for very cheap ($20-35), or you can buy a brand new unit from our website for $50. The latest Roku Streaming Stick (Model #3600X) is my personal favorite option, and a great value.
You don't need to buy all devices, although we do recommend having many models so that you can QA test across devices. However, one popular development approach is to build your channel on a lower-end model, which theoretically will assure it works on higher-end models as well. This will also mean you have to spend less on your purchase.
Download our Precertification Checklist and open the third sheet, which includes a list of all our model numbers and corresponding code names. I'd recommend building on a "Giga" or a "Paolo."
Think of this cost as an R&D expense. Plus you'll get to enjoy the device on your free time as well!
As for your other questions:
Yes, you will only build one app that will work on all different devices. We do recommend taking the time to make sure your app is optimized across all devices, including older devices with less processing power. Our Performance Guide is a great starting point for this.
The other option is to check if the first number of the device model is less than “3” (which indicates it's a lower-end device) and add conditionals off that, such as removing animations.
You can find two examples of this on our RokuDev GitHub page:
Hero-Grid-Channel —> Components —> LoadingIndicator —> LoadingIndicator.brs —> Line 244
Multi-Live-Channel —> Source —> Main.brs —> Line 21
Yes, you do need different assets based on resolutions. Take a look at this document: https://github.com/rokudev/docs/blob/master/design/channel-artwork.md

Why are maps in Indian apps like Uber, Google Maps so inaccurate?

I've been using some popular taxi-hailing apps like Uber and OLA in India and the same, Uber, in USA. The location of cars, where they're moving and my position on the app's map are always off. So much so, I'd need to call the driver to tell them where I'm at. From this Quora thread I was able to narrow the problem to be in use of Maps API or GPS signals.
The Quora post: https://www.quora.com/Why-is-GPS-in-India-so-inaccurate
The parody video: https://www.youtube.com/watch?v=hjBM-zSq3NU
It is possible that the problem is caused by your device or the capability of GPS in your area. newer phones can use 10's of GPS's to locate themselves this is actually called AGPS. However, older phones use three cell towers (not GPS) in order to triangulate your position. While, this method was fairly accurate it was known to be more than a couple of feet off on occasion. Even older phones, may even use only two cell towers, the problem here that the speed at which this data (light speed) allowed for a very large margin of error which could be your problem. Also, some phones without AGPS use only one GPS to locate, and this may also complicate things for you.

Inputting analogue data via USB

I am trying to build this device which takes analogue input from the earth , converts them into electrical impulses which I wish to input into a android smartphone for data analysis. I initially thought about using the 3.5mm jack of the android device. Apparently Android does not support input through the 3.5mm jack. So I decided to use the USB cord as the input.
Now my question is will my android phone or tablet directly able to read the USB data, or has it to be fed through some microcontroller??
I'm not sure I'm understanding your question correctly, are trying to measure soil conductivity and find out if your plants need water? which is easy. Or are you trying to build a heart monitor? which is a bit more complex.
Anyway if you are interested in conductivity measurement with Android, you may want to have a look at this device, it is driver free and works on Android.
http://www.yoctopuce.com/EN/products/usb-sensors/yocto-knob
I believe V-Alarm is using them as well
http://www.valarm.net/blog/use-valarm-sensor-for-flood-warning-and-water-detection

No readings from compass and inclinometer

I have a Samsung 700T ATIV Smart PC Pro tablet and I tried to access the different sensors using a basic Windows Store app template to test a few things out.
I used the samples from here: http://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh465294.aspx
So far I was able to get data from the Accelerometer and the Gyrometer.
The Inclinometer and the Compass however are not giving me any data. I can instantiate them just fine (they are not null) using Compass.GetDefault(); and Inclinometer.GetDefault();. The "reading" event handlers are not getting invoked though.
I tried the Inclinometer and Compass samples from the SDK as well. Same result, no readings.
The tablet should be up-to-date according to the Samsung Updater tool.
Is there any other way how I can check whether these sensors are enabled and working?
Any help is greatly appreciated.
Update 1:
Using the Sensor Diagnostic Tool from the Windows Driver Kit (Link) I was able to get some more information (it's located in prog.files\Windows Kits\8.0\Tools\).
I get readings for the X, Y and Z values from the compass sensor but "Magnetic North Degrees" is always VT_NULL. Since the Runtime API is only giving me HeadingMagneticNorth and HeadingTrueNorth instead of the raw values, this may be the root of the problem. Screenshot
Now since there seems to be a working compass, I wonder what the issue might be. Driver related?
For the inclinator, I am not getting any readings at all using the Sensor Diagnostic Tool. X, Y and Z values are VT_NULL. Screenshot
Any other Samsung Win8 tablet owners out there willing to test this out?
Both sensors work now and are providing the expected values.
The solution was to move to a different place in the house and rotate the tablet on each axis several times. This led to a re-calibration of the sensors.
It's possible that the sensor was being distracted by strong magnetic interference which prevented it from calibrating properly.
You might need to set the reporting interval property too.

How to get correct latitude and longitude while I am indoor on a Windows Phone?

I'm trying to get the latitude and longitude information from a Windows Phone through the GeoCoordinate Class. When I'm outdoor or under the sky directly, I'm able to get the values instantly but when I'm indoor or inside a room, I'm getting completely wrong values. Is there a way to get my exact location when I am indoor?
N.B. Even when switching my Wi-Fi on, I am getting wrong coordinates
This totally depends on the GPS hardware primarily and secondly on the Service provider's ability to track your device based on towers. So I doubt if you can do anything. To confirm this you can check the default Maps application. If that works then there is some problem in your application. I had seen similar problems on bada OS devices but it was a GPS hardware problem.