Enabling Bluetooth Functionality from a gateway on a Zigbee or Digimesh XBee3 Network

To enable the Bluetooth communication on your wider Digi XBee network you would need to send remote AT command frames to set the BT (Bluetooth Enable) parameter.

You can then send the Salt and Verifier values that allow secure communication between each XBee module and a Bluetooth device. The security protocol used in the Bluetooth communication is SRP (Secure Remote Password). https://en.wikipedia.org/wiki/Secure_Remote_Password_protocol
 
The password used in the XCTU program is to generate the salt and verifier values. This password is not a parameter that is readable nor is it sent over the air by the modules. The password also is not a value that can be set or queried with an AT command. It is only entered in the XCTU to generate and write the salt and verifier values. The salt and verifier are the values that are used to secure communication.
 
Below is an example of the commands used to set the Salt and verifier values on a remote radio. The Salt and verifier values were generated using the XCTU tool under the Bluetooth Options feature. The Salt and verifier values will generate differently even when the same password is used to create them. However, different Salt and verifier values will allow communication if they were generated from the same password. Radios with Salt and verifiers generated from the same password will communicate with each other even though the Salt and verifier values may be different on each radio.  
 
Because of the over the air packet size limitation in Zigbee, the verifier value has to be broken up into 4 API frames with 4 separate remote AT commands.
 
In this example, the API frames were generated and sent from an Digi S2C module to an XBee3 module.
 
To send these remote AT command API frames from a proprietary gateway, would require that you generate the API frame from your application and send them to the UART of the transmitting radio. At the and of this page is a log of the API frames that reflect the steps below.
  1. Enable BlueTooth by setting the BT parameter on the remote radio to 1
  2. Write the BT setting WR
  3. Apply changes AC
  4. Send the Salt value $S
  5. Send first verifier $V
  6. Send second verifier $W
  7. Send third verifier  $X
  8. Send fourth verifier $Y
  9. Write the changes WR
  10. Apply changes AC
 
The salt and verifier can be generated from the password that you put into the XCTU.  You then put them into your API frame and assign the salt and verifiers to your remote radio(s).
 
In the Bluetooth operation the flowing is true:
* The same password will not generate the same Salt and Verifier twice
* Salt and Verifiers cannot be reverse engineered to generate or derive a password.
* Never can a password be transmitted over the air
* Salt and Verifiers can be transmitted over the air.
* Salt and Verifiers can be read remotely over the air.
*All radios on your network can have the same Salt and Verifiers.
*The Salt and Verifiers are not the actual values that get transmitted over the air in a Bluetooth communication exchange.

Example log of API frames :
11-12-2019 17:03:32.063,0,SENT,7E001017450013A2004182B1CCFFFE004254011A
11-12-2019 17:03:32.181,1,RECV,7E000F97450013A2004182B1CC000042540098
11-12-2019 17:03:32.187,2,SENT,7E000F17460013A2004182B1CCFFFE00575207
11-12-2019 17:03:32.361,3,RECV,7E000F97460013A2004182B1CC000057520084
11-12-2019 17:03:32.364,4,SENT,7E000F17470013A2004182B1CCFFFE0041432B
11-12-2019 17:03:32.471,5,RECV,7E000F97470013A2004182B1CC0000414300A8
11-12-2019 17:03:48.418,6,SENT,7E001317480013A2004182B1CCFFFE0024532F0E948ADC
11-12-2019 17:03:48.561,7,RECV,7E000F97480013A2004182B1CC0000245300B4
11-12-2019 17:03:48.570,8,SENT,7E002F17490013A2004182B1CCFFFE00245651E8F81
                       8F8804E20ABFEE6A91E9CFD7065E9FC3ADC3578AF55135E13B9F331D162
11-12-2019 17:03:48.721,9,RECV,7E000F97490013A2004182B1CC0000245600B0
11-12-2019 17:03:48.728,10,SENT,7E002F174A0013A2004182B1CCFFFE0024570C7272
                     EDB8ED25F1D40B70A6577B0343AB935D8179987790501D12AB9281924247
11-12-2019 17:03:48.871,11,RECV,7E000F974A0013A2004182B1CC0000245700AE
11-12-2019 17:03:48.879,12,SENT,7E002F174B0013A2004182B1CCFFFE002458DBDA09902
                                    B3C02212357DA5FDBD88E273E6B498A5D0798FB5906B4C0BD9C6589AF
11-12-2019 17:03:49.021,13,RECV,7E000F974B0013A2004182B1CC0000245800AC
11-12-2019 17:03:49.024,14,SENT,7E002F174C0013A2004182B1CCFFFE0024599725F931
                             C33C75B705C05CF68006F9A9BD8C6D96FB8878EC7A098AB283D3A8A34A
11-12-2019 17:03:49.181,15,RECV,7E000F974C0013A2004182B1CC0000245900AA
11-12-2019 17:03:49.195,16,SENT,7E000F174D0013A2004182B1CCFFFE00575200
11-12-2019 17:03:49.331,17,RECV,7E000F974D0013A2004182B1CC00005752007D
11-12-2019 17:03:49.335,18,SENT,7E000F174E0013A2004182B1CCFFFE00414324
11-12-2019 17:03:49.461,19,RECV,7E000F974E0013A2004182B1CC0000414300A1
Last updated: Jan 15, 2020

Filed Under

RF

Recently Viewed

No recently viewed articles

Did you find this article helpful?