how can i increase scanning interval of BLE on Android? - intervals

I'm playing with Radius Network, RedBearLab, estimote beacons.
and I want my app to receive RSSI much faster from beacons.
so I tried to increase Advertising interval. but my app wasn't listening anything from beacons.
I think I had to increase scanning interval as well. isn't it?
then how can i increase scanning interval on my app??
there is no such thing like control app for scanning interval.

No Android iBeacon library supports that.
You would need to go straight to BLE library from Android BLE stack. That is using BluetoothAdapter and startLeScan directly.

Related

can we see Estimote analytics just by connecting to estimote beacons and not actually stick them on a wall?

Can we see analytics just by connecting to beacons ( beacons who are not actually STICK to the walls ) through estimote app ?
Due to pandemic in India it is not possible to go to the office now . I have a development kit of proximity beacons and I need to develop a simple project out of it.
So should i travel and bring that kit to home and develop an app using some already available templates and later on return it to the office so that once we resume after 5-6 months we can stick them to the wall and play around it.
Please let me know, I have read every article but can't find anything about it.
You will need to bring the kit home, enable the beacons so they are transmitting (which means the battery will start being used), register them with Estimote, and then use a mobile phone in the vicinity of the beacons with an app running the Estimote SDK. You may install the beacons in their permanent location at a later time.

Is it possible to send GPS coordinates as navigation target to DJI drones through mobile SDK?

I am new to the drone community. I am trying to use a drone to follow a driving vehicle and record a video, this would be part of my graduate school project.
I know DJI provides an "active track" function but it seems like the maximum speed for the tracking is around 20-25 mph, and it cannot track the vehicle at a top-down angle (drone looks straight down at the vehicle).
I have an idea to send the GPS info of the ego vehicle to my mobile device and use a customized app to read the GPS location and set it as a target so the drone can follow it.
Is it doable? Is it in general worth the effort? Or is it better off to just use the active track and work with the best angle that I can get?
I've done that.
Send gps updates from a tracker phone to the phone connected to rc.
You have to use virtualstick mode in the MSDK. Tha max speed is 15m/s
Virtual stick functions in the DJI Mobile SDK simulate the remote controller's joysticks, and therefore an aircraft can be automated to fly in any way a human can manually fly it. Compared to missions, this is a more complicated, but flexible way to automate flight.
Works very well.
An example:
https://youtu.be/i3axYfIOHTY?t=55
It's a little shaky, but thats fixed now :-)

Accessing the HoloLens Accelerometer

I'm trying to get the HoloLens's accelerometer data for the purpose of movement speed while in a car.
I tried using the Windows 'Devices' namespace to access their 'Sensors.Accelerometer' object, but that's inexplicably incompatible with the HoloLens ... a Windows Device.
I was able to cheat by calculating the speed of the camera object in Unity, but that only works relative to the headset wearer (when I test the app in the passenger seat of a car, I just the speed at which I move my head around).
Some time ago I'd found a Github repo from MS about HoloLens sensor streams, but I can no longer find it (Dear Future Me, clone EVERYTHING).
Does anyone know if there's another way I can get the accelerometer data? Either in C# or C++.
PS I have Research Mode and MS's demo app on my HoloLens and I've been analyzing that code for answers too. Didn't want anyone to think I show up here looking for a magic bullet!
If you want to use accelerations to calculate speed, you will run into problems because of error propagation and the lack of a reference point. Even if there is no direction change the integration of acceleration over the time will make values are useless after a short period of time. (s. Getting displacement from accelerometer data with Core Motion for example)
An alternative would be GPS but HoloLens doesn't a built in GPS sensor and pairing to phones over bluetooth was not possible in the past (maybe now). That said the only thing I can imagine is oopening a WiFi hotspot on a phone connect the HoloLens to it and write an app that will transfer GPS data via WiFi to the HoloLens app listening on the other end.

What is the preferred beacon advertising format

We are planning to integrate a BLE compatible Bluetooth module on one of our product hardware. For the last few days I have been digging around the net and got a fair idea about the technology. Now that I have an understanding of the tech, I think we have a choice of going with either of iBeacon, AltBeacon or Eddystone as the advertising format.
Please note that we would not be approaching a BLE vendor but instead we would be approaching a chip manufacturer like Texas instruments or somebody who would be delivering our original hardware. The Bluetooth module is a last minute addendum.I guess chip manufacturers would be open to work with any of the advertising formats as we suggest them (this is my guess. I have no clue on this). But let's say if they are, which would be the preferred format to go with ??
My 2 cents -
I understand iBeacon compatible devices would have some kind of a
cert process from apple. We want to avoid any kind of mandatory cert
process. As I mentioned the Bluetooth module is only an addendum for
us.
iBeacon seems to be the most mature since it has been around for a while
AltBeacon looks to be almost similar to iBeacon with a bit of more flexibility and sans the Apple luggage. Is there any cert required by
the owners i.e. Radius Networks ??
Eddystone looks to be the most robust and future proof. Again is there a cert process ?
What are our concerns -
Low cost.
Low battery consumption.
Changing payload after deployment.
Host processor should be able to turn ON/OFF the on-board BLE device. The latency should be low in such case.
We should be able to monitor Beacon health i.e. if any beacon is down.
Security.
Are there any other things we should be concerned with ?? :)
Yes, you will need to use iBeacon if you need scanning in background on iOS. Android can scan in background for any advertising payload.
The StackOverflow rules do not allow recommendations, but I will answer two embedded questions:
AltBeacon does not require any certification, but you obviously must meet the spec for it to work with other devices.
Eddystone similarly does not require pre-certification, but you may optionally do so to have your products listed on Google's website listing of compatible manufacturers.
#Simon-Judge is mostly correct in his answer that iBeacon provides fastest background on iOS. However, you can detect Eddsystone formats in the background on iOS as they use service advertisements which iOS APIs allow. This is much slower than iBeacon (typically 10 minutes vs. 5 seconds for iBeacon). AltBeacon, by comparison cannot be detected at all in the background on iOS as it is a manufacturer advertisement. The only manufacturer advertisements that can be detected in the background on iOS are iBeacon advertisements.

iBeacon App State - Best practice?

What is the preferred state of the app in order to receive a proximity-based offer - App in foreground, background or not-yet-launched?
There are mixed opinions on this, some say how should a user know he should have the app launched, on the other hand if the app is not launched, a deamon process needs to be listening to BLE packets (and consuming battery).
I'm trying to understand what some of the real applications are doing in practice.
Beacon apps that present offers when a user is nearby typically require background detection of beacons, because it is unlikely the user will know to manually open the app at the right time.
This is possible on both iOS and Android, provided that the beacon app is already installed on the phone. Both platforms allow ways to do low power beacon scanning in the background that will deliver a callback to an app when a beacon matching an identifier pattern is detected.
The basic practice is to have the app register for these callbacks the first time it runs, so even if the phone is rebooted, it will be notified of a detection.
As you say, background scanning requires some battery usage, but there are optimizations that make this acceptable on both Android and iOS. These optimizations are automatic on iOS and the implementation closed source and undocumented. On Android, similar optimizations are provided by the open source Android Beacon Library. You can read about how background launching works here and battery saving here.
Full disclosure: I am lead developer on the Android Beacon Library project.

Resources