Why do we need beacons when we have GPS coordinates & Data? - ibeacon

Just watched the last Google Dev video on Eddystone & Beacons (https://www.youtube.com/watch?v=s-4J7cijPAo).
I don't understand the need for physical beacons when a database linking latlong & a specific data can do exactly the same (except for indoor use-cases).
Is GPS not precise enough to make sure the user interacts with the right object?

GPS is generally accurate up until 30 meters (being lax here). iBeacons are here to bridge the gap between geolocation and micro location. So GPS would be good to tell when you arrive at someone's house. However, if you wanted to know when they arrived a certain room at said house, you would use an iBeacon.
So to answer your question, no GPS is not precise enough to make sure the user interacts with the right object.
Example:
We demo'd an app at Comic Con that would award users badges and points by visiting booths. We placed iBeacons in each booth to tell when a users had entered/exited a booth. GPS would not have been precise enough to tell this, also there were signal issues inside the venue that also hindered GPS usage. Also, if someone changed booth locations, all they had to do was move the iBeacon rather than try to change the lat/long of the booth.

Related

Tracking wrist position using accelerometer in a smart watch

I am working on a smartwatch project. I want the display to be turned off and only come on when the user brings his hand into the watch-viewing position.
I am running my application on the NRF52 MCU which means machine learning is out of the question. I am using a 3-axis accelerometer from STM.
How can I detect when a user moves his hand into the typically watch viewing position? How is this achieved in smartwatches?
I have the following ideas so far:
- Constantly poll accelerometer and calculate pitch and roll values. Then determine what range of pitch and roll values corresponds to this gesture. This seems a bit wasteful because the CPU will have to be always active.
Is there a simple signal processing algorithm or something similar that can achieve this?
Look into Galvanic skin response sensor - It can measure electrical connectivity of the skin.
When internal or external forces cause arousal — of any kind — the skin becomes a better conductor of electricity. Essentially, when you start to sweat, either from exercise or something else, the band will be able to monitor that.
Detecting when someone is sweating gives the software more information about what a user is doing, which allows for better health tracking. Being able to correlate the level of activity with a different source than just gravity from the accelerometer, allows these programs to take on a more trainer-like role — recommending specific exercises and levels of exertion.
Hope this helps!

GSM-based mobile phone sensor

Alright, this may sound completely insane, I am not an electronics guy, just asking.
As far as I'm concerned, there are two most popular technologies for close-range communication: RFID and NFC. These technologies are just emerging in the mobile phones, as you don't see a lot of devices supporting them. Is it possible to build a GSM based sensor for the purposes of detecting who's sitting at the desk?
Let me describe the context. I'm working with a mobile phone operator to build a shop as part of my studies. They are able to install any GSM transceiver anywhere, and use it legitimately.
As NFC is not quite there yet, one of my proposals to them is to let people use their phones instead of (or as they would use) any RFID card, like Oyster in London, in order to make payments, quickly change tariffs, top-up, etc. I imagine that this may be possible by making a low-power GSM base station combined with a proximity sensor.
If so, then we can get a phone user with the strongest signal, get the information from the proximity sensor to define if there is a phone in front of the sensor and thus detect who is the user. What do you think? Is it something possible?
You can definitely have low powered base stations but they would generally be for a small area in a big venue/city or for a house or room.
Any phone in the coverage area from that operator would connect to that cell if it had the best signal, so you would find it very difficult to distinguish between two users who are a couple of feet apart. I'm guessing this would not be good enough for your use case.

iBeacons: bearing to beacon?

Partly a coding problem, partly math problem.
Q1. I have an iOS device with compass active. If it knows I'm moving through the field of an iBeacon - or the Beacon is moving through my detection range - would it be possible for a phone to work out (roughly) the relative direction/bearing of that beacon with a series of readings by comparing signal strengths? Has anyone had a try at this?
Q2. Would it be possible to change the Major and Minor values of a beacon regularly (eg: every second) to pass small pieces of info - such as a second user's Bearing and Course?
Q1. It MIGHT be possible but you would need a controlled environment. Either the beacon or the phone needs to be fixed. You also need to be in an area with no obstructions or sources of radio interference.
Then you'd need to use the signal strength (which is sloppy and varies by a fair amount) as one input, and the device's heading info (which is also grossly inaccurate) and do some petty gnarly math on it.
Assuming you could work out the math, the slop in the input readings might make the results too iffy to be useful. (For example, how would you distinguish moving directly towards the beacon from moving 30 degrees to one side or the other? The signal strength would still increase, just not as quickly.
And your algorithm would have to deal with edge cases like moving along a circle around the beacon. In that case the signal strength should not change.
My gut is that even with clever algorithms that input data is just too unreliable to make much sense out of it, beyond "getting warmer" and "getting colder."
As mentioned above, you'd have to track your device's movement within the field, including distance covered and direction, then with multiple readings of signal strength you could theoretically calculate relative direction to the beacon to some degree of accuracy.
As to your second question about changing the minor version number, I have not seen any beacon APIs that allow that, either from the beacon manufacturers or from Apple's implementation.
However, a typical beacon is an ARM or other low power processor with a BLE transceiver, running a program. In theory it should be possible to create your own iBeacon transmitter that changed one of the parameters in order to transmit changing information. You'd have to set up the iOS device with the beacon region only specifying the UUID or UUID and major ID (depending on whether you wanted to change just the minor or change both the major and minor ID in order to transmit changing information.)
Note, too, that iBeacons are a special case of BLE, and the BLE standard does support the sending of arbitrary, changing data. You might be better off implementing your own BLE scheme either instead of or in addition to iBeacons.

Measuring distance - Windows phone app

Good evening all.
I'm just trying to collate some ideas really and was wondering if I could pick some brains.
I'd like to develop an app that relies upon measuring distance reasonably accurately. So for example, I have a central point, I want to be able to detect whether the phone is within a radius of a meter.
How could I achieve this?
The points would be static but I don't think GPS would be accurate enough to rely on this solely.
I'm definitely not a hardware chap but is there a way of combining GPS and some other sort of transmitter to ensure accuracy?
Any help or suggests greatly appreciated.
One meter accuracy? It's probably not going to happen with any phone hardware out there - definitely not with any Windows Phone. GPS isn't accurace enough without a differential beacon, and phones don't have the hardware to receive that (and I doubt you have a differential transmitter either).
The location service on the phone (assuming high accuracy is selected) combines data from GPS, cell towers and WiFi hot spots to provide a location.
There is no way to include the use of other sensors to improve this data.
You also won't be able to get the level of accuracy you're after from the phone. It's just not designed for the purpose you describe.

device to measure vibration - retrieving data?

hey guys,
i'm working on a concept for university. i wonder what's the easiest and best way to measure certain vibration in a room. imagine a room full o people dancing. is there any affordable device i can put on the floor that sends data to my computer so i can read out vibration values or use vibration as data?
thank you for your help
I would guess that a microphone, as Pointy suggested, would work, but if you're on a near-zero budget, find an old speaker and bolt it face-down to the floor. Connect the wires to a 1/8" phono plug and plug it into the microphone-in jack on your sound card. Record the vibration data using Audacity. The floor's vibration will flex the speaker cone and generate small amounts of electricity, which the sound card input will see. If you put a foam-lined box over the top (actually back) of the speaker you'll minimize the effect of sound waves from the air on the speaker cone.
There is specific noise monitoring equipment which could serve that purpose, depending on how accurate the information you are monitoring needs to be.
I used to operate sound monitoring equipment as part of a rotating equipment inspection program when I was in the Navy. Basically it was a set of transducers you mounted to the equipment you wanted to monitor, and a proprietary box for recording and analyzing the results. I'm sure you could easily replicate that functionality with a PC.
Do a search for "Vibration Monitoring Equipment" or "Condition Monitoring" and see what turns up. If you are at a University with an engineering department I would imagine the ME's would have something like what you're looking for.

Resources