BITalinoWorld / firmware-BT121

GNU General Public License v3.0
0 stars 0 forks source link

BTLE Interface does not work with IOS 14 and Android 9 #2

Open ebeling opened 4 years ago

ebeling commented 4 years ago

I develop mobile software especially with sensor communication over BLE. I try to connect BITalino (r)evolution Board via BTLE. In IOS 13 or 14 it is not possible to connect, in Android 9 it ist possible to connect and I can read Device Information Service charachteristics, but if I call any write command an error occurs. I think, the Bt-Firmware must be build with actual sdk.

ndiasplux commented 3 years ago

Hi ebeling,

Device Information Service (0x180A) only contain Read Only characteristics:

Service uuid="1800" - Generic Access Service
    Characteristic uuid="2A00" - Device Name (R)
    Characteristic uuid="2A01" - Appearance (R)

Service uuid="180A" - Device Information Service
    Characteristic uuid="2A29"> - Company (R)
    Characteristic uuid="2A26"> - Firmware version (R)
    Characteristic uuid="2A27"> - PCB version (R)

Service uuid="c566488a-0882-4e1b-a6d0-0b717e652234" - Exchange Data Service
    Characteristic uuid="4051eb11-bf0a-4c74-8730-a48f4193fcea" - Commands (W)
    Characteristic uuid="40fdba6b-672e-47c4-808a-e529adff3633" - Frames (N)

Commands are transferred to bitalino devices via Commands characteristic. Data frames containg sensor data are streamed using Frames characteristic.

Communication protocol, device states and other general information can be found on: Microcontroller Unit (MCU) Block Data-sheet

You can find some communication API on: https://bitalino.com/en/development/apis

ebeling commented 3 years ago

I know this all ! I wrote, that I successfully read Device Information Service on Android 9, but that it is not possible to use the command characteristic. And on IOS 13 or 14 it is not even possible to connect the bitalino over BTLE. I have many projects, where I connect sensors over BTLE and communicate with sensors over various services. Can it be, that the firmware for bitalino is to old for new versions of IOS an Android?

ndiasplux commented 3 years ago

Hi ebeling,

Can you please provide more clarifications about your issue? We have tested successfully bitalino devices on Android 10 and iOS 13.7.

Regarding services issue, you should activate notifications/indications on Frames characteristic to read sensor data. Commands are sent to bitalino using command characteristic.

ebeling commented 3 years ago

Of course, I will do it. But I must finish work in another project first. Thank you for your reply!

I can not send commands to bitalino board for activate notifications, every time there throws an error.

ndiasplux commented 3 years ago

Hi ebeling,

Characteristic notifications are enabled on local side, ie on Android or iOS side. Are you using bitalino API or develop your code from scratch? These APIs make the configuration/management of all communication transparently.

ebeling commented 3 years ago

I tried both, also your example on https://github.com/BITalinoWorld/revolution-cordova-example.git .