This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Regarding profile support for dual mode bluetooth stack for CC256x on STM32F4 MCU

Other Parts Discussed in Thread: CC2564

Dear all,

I am a newbie in Bluetooth/BLE.

We have a requirement for implementing BLE support in a printer hardware. The hardware is STM32F4x which is interfaced to a thermal printer as well as a BLE module (TI's CC256x). STM32F4 is driving the motor control for the thermal printer. Printer hardware shall be receiving some medical data from another hardware connected to some sensors like Temperature, ECG, Ultrasound etc and also barcode data via Bluetooth. 

We are analyzing the TI's dual mode bluetooth stack features for printer hardware requirement.

As per the document http://www.ti.com/lit/ug/swru428/swru428.pdf,

we understood that supported Low energy profiles include GATT, GAPS, HID over GATT, Health thermometer profile, Heart Rate Profile etc.

We have the following queries:

1. Which profile is best suited to transfer all of these different kinds of medical data via BLE?

2. We hope HID over GATT can be used to transfer barcode data via BLE?

3. Does TI provide professional support in adding new profile support in the dual mode stack if required?

4. Is the dual mode stack source code available on request? If required, for a nominal price range?

5. Can we use Serial port profile for transferring all these data generically over BLE and obviously implementing a custom protocol?

6. From the profile demo links, We understood SSP (Secure Simple pairing) support is already implemented in the TI BLE hardware/stack. If that is the case, we hope no customization is required in stack/application side to handle SSP other than enable SSP mode via HCI commands. Please confirm.

Could you please shed some light on our clarifications.

Thank you,

Lullaby Dayal

  • Dear all,
    Can anyone check and reply to my queries?
    Thank you,
    Lullaby
  • Hi Lullaby,

    Thanks for evaluating the CC2564 dual mode Bluetooth controller. 

    1. Please take a look at the SPPLEDemo included in the TI dual-mode Bluetooth stack. SPPLE service in this demo is a custom GATT based profile that implements serial port profile functionality over BLE.

    2. The barcode data can be transferred several different ways. SPP and HID BT classic profiles and HID over GATT is possible, too. You will need to know if the both devices support the BT classic / BLE profile you pick. I found this document in a quick internet search about what are the benefits of each profile.

    3. I assume you are referring to a BLE profile and not about adding a BT classic profile. If yes, the TI bluetooth stack has examples that implement custom profile implementation based on GATT. You can use it as a reference to create your own profile. While doing so, you can use these forms to resolve any questions you might have about the ti bluetooth stack and/or ti bluetooth controller general. 

    4. The TI dual mode bluetooth stack is provided in form of compiled libraries and the source code is not shared. 

    5. Yes, as long as both of the devices that are communicating support the same profile. Please see the SPPLEDemo mentioned above for reference.

    6. The Secure Simple Pairing is supported in the dual mode bluetooth stack and you will find the ability to use this feature in all of the demo applications included in the stack SDK download.

    Best regards,

    Vihang

  • Hi Vihang,

    Thank you for your detailed response. We will check each of these hints in detail.

    By the way, we have some more concerns on Secure Simple Pairing support of BLE.

    We understood that TI's Bluetopia stack is Bluetooth 4.1 specification compliant.

    As per https://developer.bluetooth.org/TechnologyOverview/Pages/LE-Security.aspx,

    LE Secure Connections pairing model is introduced which also protects from passive eavesdropping attacks.

    As per the same link, it is possible to upgrade key generation algorithms in the Host stack without any modifications in the controller.

    As our project is requiring stringent security requirements, we are interested to hear more about this.

    1. Is it possible to integrate more security features into the bluetopia stack (in addition to SSP) on request?

    2. How to enable Privacy feature ( change Bluetooth address periodically ) in Bluetopia stack? 

    3. As per page 41 of "Guide to Bluetooth Security - NIST" (available at http://www.nist.gov/customcf/get_pdf.cfm?pub_id=911133

    there is a security recommendation "Use application-level authentication and encryption atop the Bluetooth stack for sensitive data communication."

    We assume this can be achieved by using features of cryptographic libraries like openSSL serves the purpose.

    Do you have any reference wiki links / example source codes on integrating such security features in application layer in a bluetooth system.

    4. I am afraid if OpenSSL can be integrated in microcontroller platforms. Do you have any other security library recommendations that is FIPS 140-2 validated suitable for embedded systems?

    Could you please share your thoughts on this?

    Thank you for your understanding and patience,

    Lullaby

  • Hello Lullaby,

    The current ti-bluetooth stack is BT 4.0 compliant (the CC256x IC is BT 4.1 compliant). The LE secure connections is not implemented in this version of the stack. This feature may be added in future.

    To change the LE BD-ADDR periodically, please look into the "random address" in the ti-bluetooth stack and the BT specs.

    Regarding the application level encryption such as AES and OPENSSL, please take a look at the resources on this page : http://www.ti.com/tool/Crypto

    Best regards,

    Vihang