Good day.
Am trying to build a small device that is able to locate the direction of object indoor . not location, only direction. I bought ESP8266E wifi chip and arduino
. the ESP8266 is the receiver that must read the signal and specify the direction depending on the RSSI. first problem is that the ESP8266 is not directional and the access points around are not directional either . second problem is that the RSSI information takes long time to be read by the ESP8266 . each 3 seconds I can take on measurement. small measurement number make it difficult to analyze the results . I don't know if it is possible to build small directional antenna for the ESP8266E or not . and is the accuracy of the device would be reliable and maintain the device size small or accurate readings ?.
Put 7cm straight tin wire and test the direction, it works gets 7dB amplification max, hence u can find the source of transmitter according to direction of your straight tin wire
Related
For an application I need to extend WiFi range where a raspberry pi which is mounted on a drone and is away from station can connect to this WiFi network and stream video.what options are there for me to implement this network?
suppose that the maximum distance between drone(rpi which sends video) and station(router or some thing like that which is connected to a PC and receives video)is 1km.
first of all your project sounds amazing and I would like to see it working on my own eyes :)
And to answer your questions:
1km is quite a distance for all kinds of routers used at home or Access Points hidden inside buildings. Your only hope here is to setup multiple outdoor sector antennas (like THIS beauty from Mikrotik) and CAPsMAN or using Ubiquiti devices with seamless/fast roaming to cover space where drone will fly
With this setup you can easily transfer large streams over large area. Yet the maximal distance will also be affected by number of wireless networks in your vicinity.
Feel free to add more questions. We`ll try our best to help you out
And once done please share some videos, photos, etc with us :)
I found this Sample Code at Apple's Developer Site:
https://developer.apple.com/library/ios/samplecode/footprint/Introduction/Intro.html
The discription says:
Use Core Location to take a Latitude/Longitude position and project it
onto a flat floorplan. Demonstrates how to do the conversions between
a Geographic coordinate system (Latitude/Longitude), a floorplan PDF
coordinate system (x, y), and MapKit.
I have tried it and it works really well.
Basically, you provide a map image for a building and specify two coordinates manually. Then, using CoreLocation, it is converting latitude/longitute into (x,y) position.
My question is - how is it possible to grab latitude/longitude while indoors?
I have watched some Apple's videos and they said they vastly improved CoreLocation, but how is my iPhone getting a correct informations?
TL;DR: It works. I am just wondering how.
Big companies, especially map providers such as Apple, Google, etc. gather information about all Wi-Fi access points (AP). They use so-called crowdsourcing technology in order to estimate position of AP by combining GPS coordinates with recieved signal strength (RSS) from all visible APs.
Once user requests a fix on their location, they send to server a list of all the MAC (media access control) addresses associated with wireless hot spots available within range to be checked against a database of those addresses. Then trilateration technique is used, that is fused with positional data provided by smartphone internal sensors (accelerometer, gyros, magnetometer, barometer). But this approach still suffer from lack of accuracy that is 7-20 meters so far depending from number of visible APs and quality of the sensors.
Learm more here, or here.
In order to have 1-5 meters accuracy, it's required to have additional correcting information. State of the art is to use bluetooth beacons. Given their coordinates it is possible to estimate user's position. Nowadays there are plenty of companies who develop this technology e.g. Navigine, indoors, nextome.
CoreLocation uses GPS when outdoors, and WiFi access points (APs) when indoors (when mapped, otherwise you're getting GPS which isn't very good when indoors). CoreLocation uses iBeacons for proximity positioning, not for giving you a lat/lon. That is, you can use CoreLocation to say "When I get close to this iBeacon let me know". For WiFi positioning to work, you must upload floor plans to Apple, get them converted to their IMDF format, then use a surveying tool to fingerprint your indoor location. Only then will CoreLocation actually leverage the WiFi APs to give you an accurate indoor location (3-5 meter accuracy).
I was wondering if there was a way that I could detect the exact frequency of a BLE signal with an iphone. I know it will be in the 2.4 GHz range but i would like to know the difference down to the 1 Hz range between the transmitted frequency and the received frequency. The difference would be caused by the doppler effect meaning that the central or the peripheral would have to be moving. Also is there an exact frequency that iphones transmit BLE at or does it depend on the iphone's antenna?
Bluetooth doesn't have one particular frequency it operates on. Via bluetooth.com:
Bluetooth technology operates in the unlicensed industrial, scientific and medical (ISM) band at 2.4 to 2.485 GHz, using a spread spectrum, frequency hopping, full-duplex signal at a nominal rate of 1600 hops/sec.
… adaptive hopping among 79 frequencies at 1 MHz intervals gives a high degree of interference immunity and also allows for more efficient transmission within the spectrum.
So there'll be a wide spread of frequencies in use for even a single connection to a single device. There's hardware on the market like the Ubertooth that can do packet captures and spectrum analysis.
To my knowledge, iOS doesn't offer API to find out this information. OS X does at some level, probably via SPI or an IOBluetooth API, because Apple's Hardware Tools (search for "Bluetooth") offer a way to monitor spectrum usage of Bluetooth Classic devices on OS X.
As to your desire to detect movement via the Doppler effect on the radios, my instincts say that it's going to be very, very difficult to do. I'm not sure what the exact mathematics behind it would look like, but you'll want to examine what the Doppler effect on a transmission at 2.4 GHz would be as a result of low-to-moderate rates of motion. (A higher rate of motion or relative speed, say, over a few tens of miles an hour, will be quickly make Bluetooth the wrong radio technology to use because of its low transmit power.)
I am very confused about the meaning of the core location constants. For example for my app I would like to get accuracy readings within 100 meters and it looks like kCLLocationAccuracyHundredMeters would be the appropriate choice. However with this settings I often get points with accuracy worse than +- one thousand meters and when I disable wifi. Are these core location constants only relevant when wifi is enabled or does it sound like I am doing something wrong? It seems weird that Apple wants developers to not have to worry about the underlying hardware (i.e. whether it is using gps, wifi, or cell towers) but have the accuracy totally depend on wifi being enabled.
Thanks for your help.
GPS readings depend on a LOT more than just your accuracy setting. For example if you are not using wifi and you try to take a reading from indoors I have seen GPS be several thousand meters off consistently until you go outside. If you are planning on making your app accurate for indoors I would not plan on relying on the typical GPS. If your major use case is outside than GPS is VERY accurate.
The accuracy constants are how you "request" a specific accuracy. What you actually get depends on what is available. CL will try to give you your requested accuracy (or better) but it will give you what it has even if it is worse accuracy while it is trying to get better accuracy location.
If you wait long enough (and ignore the locations that aren't good enough) then you will eventually get better accuracy location unless it can't be done (such as when GPS satellites aren't visible or there is no WiFi, etc).
Is there a way that I can determine a location of a laptop/phone connected to my router via a wireless network access point? (I do not want to use GPS... only the access point).
No. But let's examine why.
If you can get the metrics from the router, which might or might not be possible, you can get the signal strength. This will give you a circle. But, this is limited, as you also need to know how strong the WiFi card is to determine rough distance. But, you probably know the rough distance your router works under, or the max circle, so this is not very useful.
If you have more than one access point, however, you can use triangulation. With two, the information is limited; three or more will give you a more accurate distance and allow you to extrapolate the strength of the signal.
Nope. You might be able to estimate its distance away, but even that is not likely if you're inside a building. Various building materials attenuate the signal, so the response is non-linear. If your router has two separate antennas, and you can measure the signal strengh from each independently, then you might have a chance of getting a feel for the direction, but I doubt the signal resolution will be high enough to give you any meaningful data.
Yes. However you'll need more than one Access Point and some serious software.
There are a number of solutions available and in-development for Location Based Services in Wi-Fi Networks. As Gregory mentioned above a single AP is not enough to do anything but poor range estimation, however multiple APs do not typically use triangulation to determine the location solution, they use a trained Hidden Markov Model.