Alljoyn BLE/Serial Connection queries (btle-transport branch)

asked 2015-03-25 22:36:04 -0700

TheHindenburg gravatar image

updated 2015-04-23 22:11:13 -0700

Going off of these two questions I asked previously: Alljoyn BLE Setup and Discovery I have some further queries.

  • I know that the btle- transport branch uses serial byte stream based transport to facilitate communication with the BLE link emulating a UART connection. What I don't quite get is that inside AJ_FindBusAndConnect() after we skip discovery for serial connection why is AJ_Net_Connect(...) still called? (I am talking off lines 453 to 457)

    image description

It seems to be the case that if AJ_Serial_Connection is defined we skip on calling AJ_Discover(...) rather just calling AJ_Serial_Up(...) (presumably because the BTLE connection is already established) and then call AJ_Net_Connect(...) even though we haven't defined the service structure.

Am I reading this wrong or is there something about the implementation that I don't understand? Is a TCP connection still being established even in the case of a serial connection?

  • It's pretty clear that a lot of the Thin Clent side of the implementation uses the Uart_Over_BLE project from the Nordic SDK's (with what I imagine would be some minor changes to the Service characteristics to facilitate some preliminary Alljoyn discovery). My question is that where is it ensured that the GATT and GAP services offered by Nordic are supported on the Router end as well and how is it so that any BLE dongle (as long as it is BT CoreSpec v4.0 or above) connected to a Linux PC will suffice?

  • This is pretty basic but I just want to make sure that the setup looks something like this:

    Arduino DUE <--SPI Connection-->Nordic 8001 <----Uart Over BLE----> Linux PC with any
    BT Core Specific v4.0 Dongle

  • The Serial implementation uses the SLAP protocol(which I presume stands for Serial Line Alljoyn Protocol). Does SLAP just the refer to the entirety of the serial implementation(all the code in inc/ and src/serial.c, serio.c, serial_tx.c etc.) or is it something more specific?

  • In the alljoyn/btle-transport branch the constructor for Daemon BLE Endpoint seems to declare the baud rate of the connection as 15000 (highlighted portion of the image below).

    But 15000 is not a standard baud rate value and as such why are we passing 15000 as the SLAPStream baud rate and what does it do?

    image description

Thanks for your help.

edit retag flag offensive close merge delete