Giter Club home page Giter Club logo

ios-fleet-management-sdk's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ios-fleet-management-sdk's Issues

Beacon accuracy returns -1.000000

Hi everyone,

I'm using my new iPhone 5s to track beacons.

I would like to receive a notification depending on the distance to the beacon.
For that, i'm using the accuracy property.
Unfortunately, it often returns -1.000000.

Can you help me please ?

-(void)beaconManager:(ESTBeaconManager *)manager didRangeBeacons:(NSArray *)beacons inRegion:(ESTBeaconRegion *)region {

if([beacons count] > 0) {
        self.estBeacon = [beacons objectAtIndex:0]; // nearest
        NSLog(@"accuracy %f", self.estBeacon.ibeacon.accuracy);

         if( self.estBeacon.ibeacon.accuracy > 2 ) {
               [...];
         }
}

Thank you

Podspec causes linker errors

Using a an Empty iOS Project with a basic Podfile:

platform :ios, "7.0"

target "fsdfasfa" do
  pod 'EstimoteSDK', git: 'https://github.com/Estimote/iOS-SDK.git'
end

I get a linker error framework not found XCTest for architecture... when building.

Sorry that I am being vague -- I have not had time to look into what may be causing this, yet.

Beacons with very different RSSI values, but same parameters.

The issue I'm facing is that the three iBeacons I've received are detected with different RSSI values if put at the same distance. They've the same hardware version (D3.2) and firmware (A1.8) #16 and even the same power level (4) #15.

In the attached image you can see two iBeacons at the same distance, one reporting -65 and the other -51.

beacon-power

This is a real issue as we cannot use two beacons one besides the other.
What do you suggest?

Thanks.

how to detect specific beacon?

hi all
lets say i want my app to do something specific when she is getting close to a specific beacon. i believe that this beacon have a specific id, but i cant find it.
i've looked in ESTBeacon it has a property called beacon which is CLBeacon object. it has a property called proximityUUID but this property is always the same.
how can i get a unique id from the beacon?

thanks!

Notification sample - question

Hi,

don't know if this is the place for the question bellow.

Is it possible to listen to "dienterregion" when the app is not running (neither in background or foreground). I was hopping that this was the working mode for notification sample but its not.

iPhone 5S detects far off beacons (-94+) as -5

I've been working with an iPhone 5s and if it detects an ibeacon far off -94 or greater or there abouts it returns the value -5 for the rssi, I haven't come across this on other versions of iphone, possible bug, possibly the iphone 5s, this is with quite a number of ibeacons around. It messes up my app but of course I can work around that. Just thought I should bring it up see if anyone else has found this.

Detecting more than one beacon.

I've bought the developer preview kit and it seems that now apps which use your libEstimoteBLE library are going to be pretty limited. My iPhone connects with only one beacon and there is now way to tell if there are any other beacon in the range. There is no method to switch to the other beacons either. I even do not know what are criteria of choosing a beacon my iPhone connects to because during my tests it is not always the nearest one... When are you going to improve this library? Is there a way to find UUID used by Estimote beacons?

Best regards,

matthew

Notification Demo - didEnterRegion / didExitRegion not getting called

Hi, I've just got my Developer Kit and I'm trying to work with the Notification Demo but it does not seem to be triggering didEnterRegion and didExitRegion on my iPhone 5S.

I've traced through the code a bit and noticed that this is not getting called at all:

-(void)beaconManager:(ESTBeaconManager *)manager
   didDetermineState:(CLRegionState)state
           forRegion:(ESTBeaconRegion *)region

I've downloaded the most recent demo app and haven't modified the code at all. Any idea why the notifications are not working for me?

Thank you for the help.

Ranging beacons

Hello All,
Couple of questions/issues

  1. If there are three beacons, do we need to initialize each region with the major, minor id and then call startRanging 3 times (ie once for each region?)
  2. In my 5S, the notification demo doesnt work. I put in my beacons major and minor id and the background refresh is on. Works perfectly on my first gen iPad mini. Both are on latest ios 7.

Thanks!

Background beacon ranging?

Hi, is it possible to get callbacks for beaconManager:didRangeBeacons:inRegion: while an app is running in the background? I would like to trigger events while the app is in background only when a certain rssi threshold is hit (region monitoring isn't precise enough for my use case).

Unable to trigger delegate methods on connection events

I'm not sure whether this is an implementation problem, but after I get a list of beacons I try to connect to them and to have a list of successful connections.

I have added the following lines to the proximity demo.

In ESTViewController.m

  • (void)beaconConnectionDidSucceeded:(ESTBeacon *)beacon
    {
    NSLog(@"Connected!");
    }

  • (void)beaconDidDisconnect:(ESTBeacon *)beacon withError:(NSError *)error
    {
    NSLog(@"Disconnected!");
    }

  • (void)beaconConnectionDidFail:(ESTBeacon *)beacon withError:(NSError *)error
    {
    NSLog(@"Failure!");
    }

    -(void)beaconManager:(ESTBeaconManager *)manager
    didRangeBeacons:(NSArray *)beacons
    inRegion:(ESTBeaconRegion *)region
    {

    // Let's try and get the connection
    for(ESTBeacon *beacon in beacons)
    {
    [beacon connectToBeacon];
    }

    //...
    }

None of the above methods is called, though.

Reachability Errors

Reachability seems to be part of your library. Unfortunately you've added it to your library without renaming it. This causes duplicate symbol errors on compile for projects that already contain Reachability. To fix this and be able to compile I've had to rename my Reachability class.

Open-sourcing Estimte SDK library?

Hey guys,

Any thoughts on open-sourcing the files that make up the Estimote SDK library? It's great that you put this on GitHub to make it easy for people to include in their own projects, but you might get a lot more contributions if people are allowed to suggest changes at the core level of the SDK.

Settings' security

With the actual Estimote beacon preview for developer, the settings can be read and write by anyone. It's bad and you already say that will be improved.

Before going any further, I think it will be interesting to specify that this security should be password less and hardware based.

To implement a good security process for iBeacon device settings, you should avoid software based security, to keep security breach away from you.

IMHO, the good security process for a device like this one is a toggle button hidden on the device to switch the device from read only to read and write for a small amount of time.

To avoid stealing, those device will be on hidden / unaccessible area. Use this specificity to avoid default config / brute force attack on software based security would be great I think.

Notification Demo

Hi,

I've been playing with the SDK since a few day using the distance demo and everything works nicely.

Since yesterday I'm trying to use the NotificationDemo but for my demo I would like to get notification when I come in the "near" zone instead of getting notification while moving inside an outside of the Estimote range. Do you think it's possible ?

P2P connection

Hi,

P2P connection gives an alternative way to protect data transfer?
When we change minor and major number what we are changing? complete UUID?
Minor & Major number is part of UUID?

Thank you
BR
Jordi

Your podspec needs a slight tweaking

Hey guys, we got your motes this week. They look and work great, and I'm looking forward to creating a lot of cool apps for these.

Here's a tiny issue I found with the podspec. As written thespec looks for tags written as v1.0.0, but you tagged the repo as 1.0.0 instead. So you can either update the tag in your repo, or remove the v in the podspec.

Keep up the great work!

Unable to connect to the beacon

I have just updated SDK to the latest version and found out that connecting to the beacons is no longer working. Neither beaconConnectionDidFail nor beaconConnectionDidSucceeded is being called after connectToBeacon.

From what I've tested this seems to be a breaking commit.

Purpose of `-[ESTBeaconRegion initRegionWithIdentifier:]`?

In going through the Estimote SDK and comparing it to some of my previous tinkerings with iBeacons, I noticed a couple of things:

  1. The proximity UUID is fixed for estimotes and cannot be changed. This is normally how you would define a region using the CLBeaconRegion APIs. I imagine since all estimotes have the same proximity UUID that this is how you are identifying all of your estimotes under the hood.
  2. Since the proximity UUID is now unchangeable, what is the purpose of ESTBeaconRegion's initRegionWithIdentifier:? Is there a way to add specific estimotes to a region with an identifier specified in the above API? If not, what is the purpose of this identifier?
  3. Since the estimote proximity UUID is constant, the only way to identify regions is by major/minor. This makes region collisions (relatively) much more likely than they would have been before when regions were specified with at the very least a proximity UUID specified by the developers or implementers of the beacon. Now all it would take is for the major value to collide if you defined a region with initRegionWithMajor:identifier:. Is there a way to mitigate this besides just "use a minor"?

ESTBeacon distance is -1 after connection

I have created an async connection to three beacons.
Before connection, the following

  -(void)beaconManager:(ESTBeaconManager *)manager
 didRangeBeacons:(NSArray *)beacons
        inRegion:(ESTBeaconRegion *)region
{

// We have the beacons
for(ESTBeacon *beacon in beacons){
    NSLog(@"Beacon %u %u %f",beacon.major.intValue, beacon.minor.intValue, beacon.distance.floatValue);
}
}

will produce this

 2013-12-21 09:58:56.076 TT[4029:60b] Beacon 666 0 1.128744
 2013-12-21 09:58:56.077 TT[4029:60b] Beacon 666 2 0.744323
 2013-12-21 09:58:57.073 TT[4029:60b] Beacon 666 1 0.717318

After connecting any beacon, the following is read

 2013-12-21 09:59:07.073 TT[4029:60b] Beacon 666 0 -1.000000

Is this the expected outcome?

Change power signal of a beacon

Hi Everyone,

I'm currently using Estimote SDK and my App recognizes the beacon.
However, the accuracy is not very good. I heard that i could change the power of a beacon.

I tried in the delegate method beaconManager:didRangeBeacons:inRegion:

ESTBeacon* closestBeacon;
[closestBeacon connectToBeacon];

[closestBeacon writeBeaconPower:ESTBeaconPowerLevel6 withCompletion:^(unsigned int value, NSError *error) {
NSLog(@"change power to STBeaconPowerLevel6 ");
}];

[closestBeacon readBeaconPowerWithCompletion:^(unsigned int value, NSError *error) {
NSLog(@"power value %i", value);
}];

Unfortunately, i receive : power value -1, and the power is not changed.
How can a change the power, how can i read the power ?
By the way, if i try [closestBeacon.isConnected], it returns 0.

Thank you for your Help.

Emal

Typo baterryLevel

Hello,
there's a typo in the ESTBeacon class:

@property (nonatomic, strong)   NSNumber*               baterryLevel;

Probably it should be batteryLevel.

:)

Clarification on Updating Estimote Device Firmware

Hi can you provide myself with a more detailed explanation on how to update the firmware on the device. I realize that there is a method to do this but do I just call it with the device nearby? Do I need something to connect to the device beforehand? Is there any feedback on this process? Thank you

Optimal settings for beacons

Hi All,

I have been playing around with the beacons for some time now, however I havn't been able to get accurate and reliable readings from the beacons.

can anyone suggest the best settings in terms of power level and advertising interval to achieve this ?

Device Does Not Have BLE

Hi,
I am trying to test DemoDistance sample code in Androidx86. Pretty much, my device is installed in VirtualBox with Android Tablet ISO. The VirtualBox is installed in a laptop with Bluettooth 4.0 But each time I ran the DemoDistance applic in Androidx86 this method beaconManager.hasBluetooth() will always return false.

Any suggestion on how could I get over thise.

Thanks

Wrong data type for major and minor number

Regarding Ola informations available here http://helpdesk.estimote.com/hc/communities/public/questions/200472403-Accepted-range-for-minor-and-major-number

The accepted range for major and minor number is 0 to 65 000 (maybe 65 535 no?). At this time the requested argument when editing those settings is a short.

On iOS, minimum value for short is -32768, and maximum 32767. So the requested type don't reflect the range limitation.

API must be updated to use unsigned short to represent major and minor number.

The update must concern read and write API, like that you can introduce some consistency in data type (actually we get unsigned int when reading and you ask a short when writing…).

Writing data to database when application is running in the background

Hi,

I would like to write data to a database when the user performs an action (is leaving the store) & when the application is running in the background. How do I do this?

I am able to get a local notification when I am leaving the store to alert me that I am leaving, but at the same time I would also like to execute code to write certain information to a database (in the cloud, not local). How do I do this?

Thanks,
Varun

Frequency and beaconManager:didRangeBeacons:inRegion:

Hi there,
I've noticed that despise that the development kit iBeacons are set to emit every 200ms, the beaconManager:didRangeBeacons:inRegion: method is called once per second.

How can we get the update with the desired frequency?

Best regards,
Matteo

Temp and Accelerometer API

Hello, on the Estimote site is written that the beacon hardware comprehends also a temp sensor and an accelerometer. Looking through the headers I wasn't able to find any API about them. Will they be implemented?

Unable to set 'power' value to ESTBeaconPowerLevel1

I'm trying to set the lowest power value on the connected beacon:

        [self.connectedBeacon writeBeaconPower:ESTBeaconPowerLevel1 withCompletion:^(unsigned int value, NSError *error){

        }];

error is nil but I can see that self.connectedBeacon still has an old power value.
Any ideas what's happening?

Firmware version: A1.6

Firmware update impossible: "Hardware not supported"

Hello,

I'm trying to check if I've a firmware update for my Estimote, and I get this error:

Error Domain= Code=401 "Hardware not supported" UserInfo=0x178260580 {NSLocalizedDescription=Hardware not supported}

My hardware version is D3.2 and the actual running firmware is A1.8.

How to receive notification in Background

Hi Everyone,

I have a problem with receiving notification in Background.
If the app is in foreground, i receive the notification properly,
but if the app goes in background, i don't receive a sound notification alert.

I would like to receive a notification when i am very close to the estimote beacon,
I tried something like this :

if( self.estBeacon.ibeacon.accuracy < 2 && [self.estBeacon.ibeacon.minor intValue] == 57532 ) {
   UILocalNotification * theNotification = [[UILocalNotification alloc] init];
    theNotification.alertBody = @"Notification from iBeacon";
    theNotification.alertAction = @"Thanks";

    theNotification.fireDate = [[NSDate date] dateByAddingTimeInterval:0.2];
    theNotification.soundName = UILocalNotificationDefaultSoundName;

    [[UIApplication sharedApplication] scheduleLocalNotification:theNotification];
}

I've done some test with the apple iBeacon API and used an Ipad 3 as broadcaster.
It works very well, i receive notification in foreground and in background.

But since i'm using the estimote, i can't receive notification with sound in the background.
I have tried the Apple iBeacon API and the Estimote API, but it ends to the same result.

By the way, in Xcode, in Target Capabilities, i have checked Location updates and Uses Bluetooth accessories.

Thank you for your help.
Best Regards

Why would I use Estimote SDK rather than native CoreLocation?

Hi,

As far as I understand, the only difference between the Estimote SDK and the native CoreLocation + CoreBluetooth is that Estimote SDK only works with Estimote beacons.

Did I get it right? Or is there something else? Why would I use Estimote SDK instead of Core?

Calibration

Hello,

Please note: I am using your development kit in an iOS environment.

Is it necessary to calibrate the motes? If so, what is the best method to follow for calibrating them?

I am monitoring the data coming in from the didRangeBeacons delegate method. I would like to
determine which mote of the three provided is consistently closest.

One example test:
mint green mote: 2.5 ft to the left of the iPad
dark blue mote: 2.5 ft from the top of the iPad
light blue mote: 2.5 ft from the right of the iPad

Please note the numbers are averages over a short period of time:

Test 1 (EstBeaconPowerLevel4, 200ms advertising interval - both factory settings)
mint green mote: 6.68 ft, -79 rssi
light blue mote: 4.44 ft, -77 rssi
dark blue mote: 3.01 ft, -73 rssi

Test 2 (power level set to EstBeaconPowerLevel6, 200 ms advertising interval)
mint green mote: 3.89 ft, -68 rssi
light blue mote: 2.91 ft, -74 rssi
dark blue mote: 0.64 ft, -61 rssi

Test 3 (power level back to EstBeaconPowerLevel4, 50ms advertising interval)
mint green mote: 13.15 ft, -77 rssi
light blue mote: 5.02 ft, -77 rssi
dark blue mote: 2.34 ft, -72 rssi

Also, is it best to use distance or rssi from the didRangeBeacons method to determine
which beacon is consistently closer?

Finally how can I read the one meter calibration value? When I tried to read the measuredPower
variable from the beacon, it always returns nil.

Thanks

Can not get sample code to compile

I have tried following your instructions on how to get the beacon distance app working. I have all frameworks set up as instructed along with the header file. Here is a screen shot of my XCODE working environment and the errors that are being generated:
screen shot 2013-11-29 at 3 11 21 pm

Customize UUID

Will it be possible to customize the UUID of the iBeacons?
How else could i e.g. distinguish all my beacons (from my company) belonging to a specific store belonging to a brand? As the UUID is some sort of namespace.

Thanks,
masiar

Accuracy differs substantially from Apple's iOS device emitters

Hi there,
with our first tests the accuracy obtained with (ESTBeacon *)beacon.iBeacon.accuracy is very different with the one obtained with a virtual iBeacon using CoreLocation as emitter on an iOS device.

Probably the devices needs to be calibrated and the power level should be set with writeBeaconPower:(ESTBeaconPower)power... however the calibration procedure suggested by Apple's AirLocate sample code provides a number, but the ESTBeaconPower has completely different values:

typedef enum : char
{
    ESTBeaconPowerLevel1 = -30,
    ESTBeaconPowerLevel2 = -20,
    ESTBeaconPowerLevel3 = -16,
    ESTBeaconPowerLevel4 = -12,
    ESTBeaconPowerLevel5 = -8,
    ESTBeaconPowerLevel6 = -4,
    ESTBeaconPowerLevel7 = 0,
    ESTBeaconPowerLevel8 = 4
} ESTBeaconPower;

Do you have a conversion matrix or function?
What should we set to obtain accuracy in meters?

Best regards,
Matteo

SDK Examples not detecting beacon

I'm having trouble getting the SDK examples to detect the beacon app from the app store. I've previously built the broadcaster/receiver demo and got it working fine, and everything seems to work when I use the apps from the app store, but when attempting to build the Distance Demo from the SDK I get a successful build, but the beacon and receiver never see each other. Any idea where I should look for the problem?

I want change proximityUUID.

You can later change the UUID in the API will be added to the plans?
I am through I want to UUID want to integrate with other Virtual Beacon Service.
It is possible that in the near future?
UUID that Esitmote Beacon supported in the prototype do not care,
Actual product configuration seems to be a problem too.
Plan to support UUID, so I can write?

Set advertising interval and region

I'm having some major problems with the documentation here. I can't figure out at all how I control the distance that triggers some sort of event (like the notification). Also, I've used the editor to change the advertising interval, but there's no way that the time I set here matches the actual time that there's a delay before a notification appears. The interval is set in milliseconds, but it seems like it's actually seconds. Where am I missing these things in the documentation?

Accuracy value missing in ESTBeacon

Hello,
in the CLBeacon class there is the accuracy value useful in some ways (from Apple's documentation):

The accuracy of the proximity value, measured in meters from the beacon. (read-only)
Indicates the one sigma horizontal accuracy in meters. Use this property to differentiate between beacons with the same proximity value. Do not use it to identify a precise location for the beacon. Accuracy values may fluctuate due to RF interference.
A negative value in this property signifies that the actual accuracy could not be determined.

In the ESTBeacon that value is missing.
However the ESTBeacon includes an ibeacon property of type CLBeacon.

Can we safely use the accuracy from the ibeacon property?

Otherwise we should be able to calculate the accuracy from rssi or measuredPower. Do you have a formula to accomplish that?

Best regards,
Matteo

Beacon stopped working after setting power level

I tried setting power level to highest level using the following code :

[self.selectedBeacon connectToBeacon];

    NSLog(@"Version %@", self.selectedBeacon.firmwareVersion);

    [self.selectedBeacon writeBeaconPower:ESTBeaconPowerLevel1 withCompletion:^(ESTBeaconPower power, NSError *error) {
        NSLog(@"Written power level %d", power);

        if (error) {
            NSLog(@"Error = %@", error);
        }
    }];

    [self.selectedBeacon disconnectBeacon];

I was doing this every time in the routine

  • (void)beaconManager:(ESTBeaconManager *)manager
    didRangeBeacons:(NSArray *)beacons
    inRegion:(ESTBeaconRegion *)region

And now the beacon has stopped working altogether . What do I do ? Is there something in the software I can do ? The FW version is 1.8.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.