Is it possible to use the Bluetooth Message Access Profile (MAP) with the Bluetooth Low Energy (Bluetooth Smart) technology? From a quick read of the specification, it seems that MAP is only available on the traditional BT side. That would prohibit using MAP + LE for things like smart watches. Is this the case?
Message access profile cannot be supported over Bluetooth LE. Bluetooth LE is meant for transfer of small packets while in MAP ,large packets are send across device. MAP is a OBEX based profile which depends on RFCOMM and L2CAP, RFCOMM is not available on BT LE.
Ok so the answer based on reading the Bluetooth spec for MAP 1 and others' feedback is that MAP is only supported in traditional Bluetooth, not Bluetooth LE. That's bad news for small battery powered information devices like smart watches that are otherwise perfect for MAP.
Related
When connection to a custom BLE device from an app (android and ios) I have two options
a) first pair the device on the phone (like a headset or other devices) and then use it from the app to read and write data
b) without pairing on the phone, go inside the app, search for a device with a specific name or address, and just connect to it and read and write data.
when is one preferred over the other one ?
Its just when it needs to interact in the background or am I missing something?
The devices you see in your phones Bluetooth settings are Bluetooth Classic devices. There are some devices using both BLE and Bluetooth Classic which show up in the settings too, but the settings page is only for the Bluetooth Classic part of the device. Headphones for example are streaming music trough the Bluetooth Classic profile A2DP but might offer BLE services for additional features.
You always have to use a special app to communicate with the BLE part of a device. This could be an app provided by a manufacturer or a generic BLE scanner app such as nRF Connect.
As alexander.cpp already told you in his answer pairing (the exchange of keys) and bonding (saving of said keys) is not required for the communication with BLE devices and only needed if the device requires a secured connection.
Bonding (technically correct term for BLE, often called Pairing in non-technical speech) is mostly for security, we can send sensitive information because the receiver is verified and data is transferred in encrypted form.
Prefer to use bonding if the data is sensitive (means users feel uncomfortable if somebody they don't know receive their data). For example, I consider "current temperature = 25" as NOT sensitive. For detailed explanation, find "Bonding with a BLE device" in BLE guide by PunchThrough.
Also this is a good answer to a similar question: https://stackoverflow.com/a/42916081/10380092.
Your second question about background - no, bonding is not related to interaction in background.
I am new to developing a mobile app with bluetooth connection to peripheral device. I searched that GATT is the relevant profile used for bluetoothLE communication but our client recommended that we use UART service. Now I am confused as to
1. how these two things are related and
2. Do we have to opt for one of these, if so, what are the pros and cons of each. Thanks
Legacy Bluetooth provides the serial port profile (SPP) - This is essentially a serial input/output stream over Bluetooth.
Bluetooth Low Energy provides a number of profiles, but the most commonly used is GATT. GATT exposes characteristics/attributes which are a little like variables that you can read from/write to. A read/write is limited to 20 bytes.
Many embedded BLE chipsets provide a "UART emulation" over BLE GATT. Here a pair of attributes are used; one for read and one for write.
The Central device writes bytes to the 'write' attribute and the embedded chip sends them out of a serial port on the chip.
Similarly, data that is written to the chip's serial port and sent to the central via a notification of new data in the 'read' attribute.
You don't say what platform your are developing on, but one important consideration is that use of SPP on iOS requires your hardware to be MFi certified by Apple, while BLE/GATT does not.
Can a Bluetooth device act as a beacon and simultaneously be used for other functions?
I've tried looking around, without finding a concrete answer to this question.
A beacon is a Bluetooth Low Energy device that is advertising. The BLE radio is separate from the classic radio, and since the Bluetooth specification does not restrict the operation of classic Bluetooth along side Low Energy functionality then there is no issue performing classic Bluetooth operation while the device is acting as a Beacon.
I'm attempting to use a classic bluetooth chip to possibly send out signals to another device with a classic bluetooth chip.
Now would it be possible to create a beacon with classic bluetooth?
You certainly can. A Bluetooth LE beacon typically sends out regular advertisements with a unique identifier that can be picked up by a receiving device (typically a mobile phone) doing a Bluetooth LE scan. Since you can also send out advertisements and do scans with classic Bluetooth, you could build the same thing with this technology.
The main disadvantage is that classic Bluetooth uses much more power, both for transmitting the beacon signal and more importantly for doing the scans. So if you are using mobile phones to detect the beacons the battery drain will be much higher than if using Bluetooth LE.
i know that iBeacon use only advertising channel. which means there is no need connection.
im trying to make my own beacon module which send and receive data.
im curious about what makes the packet in iBeacon format(prefix /UUID / minor/ major/ TX) in communication ?
is it firmware?
let's assume that
when i make my iPhone act as iBeacon , it will send the advertising packet. which means it sends data in iBeacon format. but after turn off the app for iBeacon, i try to use my iphone
to send some files to laptop via Bluetooth low energy mode as usual.
then it will send data in bluetooth standard format. is this right?
given that situation, my iphone can be both iBeacon and just normal phone capable of bluetooth low energy.
i think also the beacon module can be like that. how about the product recently released? like estimote, redbearlab and so on. after connection, do they receive data?
Every iBeacon product works a little differently, but it is common for a product to be connectable for configuration purposes over Bluetooth LE.
Radius Networks' RadBeacon, for example, has firmware that sends out its advertisement as needed to be a standard iBeacon. The same firmware will allow a connection over Bluetooth LE, exchanging data with an external client (the RadBeacon app for iOS). This connectability is outside standard iBeacon functionality, using proprietary techniques that are still part of the larger Bluetooth LE standard.
Your understanding is therefore correct.
Full disclosure: I am Chief Engineer at Radius Networks.