I know that BLE RSSI values are based on decibel values but I was wondering if there was a way to convert this into a more meaningful value that I could use (even a float would be fine).
I've looked at Kalmon filters but I'm struggling to understand them. Any help with this would be appreciated.
With the limitations of the iphones and ipads' hardware I dont believe there is a method for getting more precise data from RSSI values. Perhaps if you say what you are using it for I can help advise an alternative route to solve your problem. I understand that it is difficult to gain qualitative information from RSSI values from Bluetooth LE, however, there are also other methods such as coupling different systems with Bluetooth LE that may produce the data you are seeking.
Related
I am having trouble finding how to read frequencies from audio input. I am trying to listen to very high frequencies (ultrasonic). I've explored several GitHub projects which all were either outdated or malfunctional.
I discovered this guide, but I am having trouble understanding it. https://developer.apple.com/documentation/accelerate/finding_the_component_frequencies_in_a_composite_sine_wave Can anyone provide guidance; has anyone done this before? Thanks
It's worth digging into this piece of sample code: https://developer.apple.com/documentation/accelerate/visualizing_sound_as_an_audio_spectrogram
The sample calculates the Nyquist frequency of the microphone - for example your device might have a maximum frequency of 20KHz. You can look at the values in each frequency domain page of samples and find the maximum value to derive the dominant frequency.
I am trying to figure out if recording strength training workouts to Healthkit is possible? From using the app and going through Apple's sdk, i don't see anything which might let me record weight lifting values (weight used, sets, reps etc.). It seems mostly geared towards calories and running time data types.
Am I missing something or is this not possible? Seems like a very basic thing for any fitness app really to record weight, sets, reps info. If it's not possible via the built in data types, is it possible to created my own custom type? From the docs and another stackoverflow question, I feel like it's not. But can someone confirm if both the above things are not possible?
Currently, workouts in HealthKit only track active energy burn and distance traveled. You may use one of the strength training HKWorkoutActivityType values (HKWorkoutActivityTypeTraditionalStrengthTraining or HKWorkoutActivityTypeFunctionalStrengthTraining), but there are no sample types for tracking strength training specific activities. Because custom sample types are not supported, if you wanted to build an application today that integrates with HealthKit the best you could do is save a workout with the appropriate type and an active energy burn value and then store the other data in your own application's database or as metadata values on the the HKWorkout.
You should file a bug with Apple if you'd like to have better support for tracking strength training in a future SDK.
I didn't find any clear answer through my searching and I am wondering what is meant by :
Improves iBeacon connectivity and stability
I am interested into knowing what changed here. I guess it won't be much, but I'd like to know how good the technology may have improved.
How is the connectivity better? Is it monitoring/ranging related? Both?
Or does it have something to do with the device bluetooth connectivity? In what way?
In what way is it more stable? What is meant by more stable : a more precise accuracy for proximity detection? As it relies on Bluetooth Low Energy, could it really be better than is it now?
Those are a few question that are on my mind. I am going to try to have some testing on my side, but if someone did it already, I would appreciate to know the results!
I can answer the question related with the beacon stability.
When you range the beacons around, you parse their advertisement data, then identify them and get their signal strength. If
the signal strength (RSSI value) is same or almost the same for every range (search), then we can say that this beacon is stable. If not, it is not stable.
According to my experiments, it is not much stable but this can change according to different beacon types and other inputs like how often the beacon advertise (it is assumed that 10 times per second gives the best performance).
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.
A general question: is it possible to retrieve information about how far away e.g. a computer is from a wifi-router. For instance I want to get data on my computer if I'm 10 meters away from my home-wifispot or 2 meters.
Any idea if that is even possible?
Edit: How about bluetooth? Is it possible to get information about how far away bluetooth-connected devices are one from another?
I would recommend a measuring line or just good-old-fashioned guesstimating.
There is no "simple" way to do it (complex ways may involve building "accurate" signal maps ahead of time or trying to fit a better equation which is still subject to anumber of the limitations with the naive rule) and the rule of thumb "1/r^2" is just that -- a general rule of thumb. On the other hand, perhaps there is some existing software that will show you your RSS strength and make the task feel accomplished :-)
You will find useful links if you google for "RSS signal distance". This kind of task seems quite a common topic in academia w.r.t. small wireless devices ("motes") as well and there have been some interesting approaches to this problem such as the fitting of secondary low-frequency acoustic sensors.
You can query the signal strength which is some kind of indication of distance and obstructions and a few other factors all rolled into one measure. With just plain wifi though this isn't possible directly.
Try measuring the response time of the router to pings, with the data rate set to constant to avoid that effecting the response time. Take lots of samples and remove outliers to reduce errors, but you will still have a substantial quantization error. Subtract the latency of the router and computer, divide by 6 then multiply by the speed of light and hopefully you will have the distance to a resolution of a few metres.