Need a Blue Tooth Guru


#1

Hi All,

I am starting a new project and I am trying to get up to speed on ibecon/bluetooth in general to decide how to proceed. I figured with all of these Guru’s here I may be able to get the help to proceed in the best direction. Please forgive my ignorance on bluetooth technology. I am in the beginning stages of reading and learning everything I can about blue-tooth.

BTW Travis from National Control Devices sent me here and said “Eric” and his followers on this forum are THE Bluetooth Guru’s … He said “Get on the forum and ask away…”

So here goes:

I need to use BlueTooth to activate a relay. But before it does my program will need to go through a database to compare either the Bluetooth ID or another ID of the end users cell phone device, then decide if to activate the relay or not.

That’s the simple part. The real question is what technology would be the fastest? If we use iBecon vs standard bluetooth.

Does iBecon actually “pair” or does it only send data out? If it only sends data out maybe I could program the App on the end users device to send a signal to activate the relay when it “sees” the becon… This route I would only use if the ibecon is that much faster then a standard “blue-tooth paring” would be.

As far as if we do need to pair, what language would be the fastest and most beneficial to use as far as speed is concerned? I have read that you can use many different languages to write bluetooth and each has it’s pros and cons…

How many can one device pair? (Not at one time but to keep track of) Does the language I would use help/hinder the Max users that can pair?

What tricks can I use to increase the max amount of “users?” Maybe keep a database separate but then each device that comes into range would have to re-pair or maybe just be sensed? Again looking for the fastest way to “recognize” the end user.

These are the main questions, I hope that someone can help steer me in the best direction to start my project. With all of your help I know that it will save me time in not having to re-invent the wheel.

Thank you all for your help,

Rick


#2

Welcome!

That’s a pretty loaded question, so hopefully I can break this down a bit to give you some insight.

First, iBeacon is simply an advertising packet that is sent out at a specified interval. While theoretically iBeacons are meant to be just beacons that send data out, you can also connect to them. So you could have a beacon that sends out a specific UUID, major, and minor and then have the phone detect that. It could connect, and tell the beacon to do something (like flip the relay), but while this is happening no other device would be able to “see” the beacon. Advertising stops once a device has been connected.

In terms of language, I am not sure exactly what you mean. Do you mean the programming language for the beacon?

Bluz allows an unlimited number of devices to connect, there is no limit. We don’t pair or save any bonded data, though, and allow any central to connect.

If by “end-user” you mean the owner of the phone, then yes, you would need to keep some kind of database of your users. When the beacon is detected, the app would call up to your service with the end-users token or other identifying information and perform whatever action you would need. The beacon wouldn’t have to be the control device, in other words you could have a beacon that just does that and then a separate device that controls the relay.


#3

Thanks Eric! BTW Travis said to say Hi!

One of our concerns as I stated is to write this application so that speed is of the most importance. So two major questions I still need answered:

  1. Languages bluetooth can be written in…Yes I meant C++ vs Python vs ?
    Does it result in any speed factor? I have read that each language offers different bluetooth options… Example: Does the language effect any time in parring?

  2. You stated that BLUZ allows unlimited devices to connect but does not save any info. Does that mean it does not “pair” and save the info to automatically “pair” again?

  3. With that in mind how long does it take for the BLUZ to “connect” & (Recognize) to a new device vs a standard bluetooth to connect to a device that it has already been “paired” with?

I am trying to do the research prior to design to find the fastest and most reliable way to connect & recognize a device then have my programming react based on a database comparison.

Thank you again for any help that you can provide.

Rick


#4

I have not heard of different speeds with different languages. Are you writing a phone app? If so, then your language choice will be much more driven by the OS you are writing on (Obj C/Swift for iOS, Java for Android). If you are writing a PC app, then you can look at libraries like Noble (https://github.com/sandeepmistry/noble) which try to make it easier.

Bluz DK just does simple connect. So your central device (phone, tablet, etc) can always connect. It doesn’t need to save data.

I don’t know the exact time it takes, and it will depend on several factors as well, but it should almost always be less then 1 second. Do you have a specific time you need?