
diff --git a/ble_issue_tracker.md b/ble_issue_tracker.md index f494c3b..5fe3a1d 100644 --- a/ble_issue_tracker.md +++ b/ble_issue_tracker.md @@ -54,4 +54,8 @@ T6. Device Name in advertising packets includes the flash code so anyone could p T7. Generic Access Service: Device Name and Appearance are mandatory and so need values +T8. Review advertising parameters: Advertising frequency seems quite low. This will make the discovery process slower and overall, both the pairing and FOTA processes a little slower. Are all three advertising channels in use or not? Thinking of a class room or event it would be best to use all three. + +T9. Consider using directed advertising and white listing so that only the paired peer device can (re)connect to the micro:bit. I believe we are currently performing undirected advertising.... basically broadcasting. Directed advertising will address ADV packets to the paired peer device only. As things stand it seems to me that if some other person in the classroom just decides to connect to a micro:bit that is not theirs, they’ve effectively blocked all other use of the device.... a simple DOS attack. + ### CLOSED: diff --git a/docs/BBC Micro Bit Bluetooth Profile V1.5.docx b/docs/BBC Micro Bit Bluetooth Profile V1.5.docx index bce4aa9..b27fbd1 100644 Binary files a/docs/BBC Micro Bit Bluetooth Profile V1.5.docx and b/docs/BBC Micro Bit Bluetooth Profile V1.5.docx differ diff --git a/docs/BBC Micro Bit Bluetooth Profile V1.6.docx b/docs/BBC Micro Bit Bluetooth Profile V1.6.docx new file mode 100644 index 0000000..0739c90 Binary files /dev/null and b/docs/BBC Micro Bit Bluetooth Profile V1.6.docx differ diff --git a/docs/Report 1/BBC Micro Bit.html b/docs/Report 1/BBC Micro Bit.html index ff884b1..4a670ad 100644 --- a/docs/Report 1/BBC Micro Bit.html +++ b/docs/Report 1/BBC Micro Bit.html @@ -1,6 +1,6 @@ -
Generic Access
Generic Access
00001800-0000-1000-8000-00805F9B34FB
2A00 : Device Name
Device Name : 2A00
2A01 : Appearance
Appearance : 2A01
Device Information
Device Information
0000180A-0000-1000-8000-00805F9B34FB
2A24 : Model Number String
Model Number String : 2A24
2A25 : Serial Number String
Serial Number String : 2A25
2A27 : Hardware Revision String
Hardware Revision String : 2A27
2A26 : Firmware Revision String
Firmware Revision String : 2A26
Accelerometer Service
Accelerometer Service
0753
CA4B : Accelerometer Data
Accelerometer Data : E95DCA4B-251D-470A-A062-FA1922DFA9A8
FB24 : Accelerometer Period
Accelerometer Period : FB24
Magnetometer Service
Magnetometer Service
F2D8
FB11 : Magnetometer Data
Magnetometer Data : FB11
386C : Magnetometer Period
Magnetometer Period : 386C
Magnetometer Bearing : E95D9715-251D-470A-A062-FA1922DFA9A8
Battery Service
Temperature Service
E95D6100-251D-470A-A062-FA1922DFA9A8
2A19 : Battery Level
Temperature : E95D8A38-251D-470A-A062-FA1922DFA9A8
Button Service
Button Service
9882
DA90 : Button 1 State
Button 1 State : E95DDA90-251D-470A-A062-FA1922DFA9A8
E95DDA91-251D-470A-A062-FA1922DFA9A8 : Button 2 State
Button 2 State : E95DDA91-251D-470A-A062-FA1922DFA9A8
LED Service
LED Service
D91D
E95D7B77-251D-470A-A062-FA1922DFA9A8- : LED Matrix State
LED Matrix State : E95D7B77-251D-470A-A062-FA1922DFA9A8-
93EE : LED Text
LED Text : 93EE
0D2D : Scrolling Speed
Scrolling Speed : E95D0D2D-251D-470A-A062-FA1922DFA9A8
IO Pin Service
IO Pin Service
127B
8D00 : IO Pin 0
Pin Data : E95D8D00-251D-470A-A062-FA1922DFA9A8
C58C : IO Pin 1
Pin AD Configuration : E95D5899-251D-470A-A062-FA1922DFA9A8
04F4 : IO Pin 2
5899 : IO Pin Configuration
60CF : IO Parallel Port
Pin IO Configuration : E95DB9FE-251D-470A-A062-FA1922DFA9A8
Event Service
Event Service
93AF
E95DB84C-251D-470A-A062-FA1922DFA9A8 : MicroBit Requirements
MicroBit Requirements : E95DB84C-251D-470A-A062-FA1922DFA9A8
E95D9775-251D-470A-A062-FA1922DFA9A8- : Client Event
Client Event : E95D9775-251D-470A-A062-FA1922DFA9A8-
E95D5404-251D-470A-A062-FA1922DFA9A8- : MicroBit Event
MicroBit Event : E95D5404-251D-470A-A062-FA1922DFA9A8-
E95D23C4-251D-470A-A062-FA1922DFA9A8- : Client Requirements
Client Requirements : E95D23C4-251D-470A-A062-FA1922DFA9A8-
DFU SERVICE
DFU CONTROL SERVICE
E95D93B0-251D-470A-A062-FA1922DFA9A8
97109547E63A-442A-BF89-9D73-0413DC2F : DFU Control
DFU Control : E95D93B1-251D-470A-A062-FA1922DFA9A8
947B6934-64D1-4FAD-9BD0-CC9D6E9F3EA3 : DFU Flash Code
DFU Flash Code : E95D93B2-251D-470A-A062-FA1922DFA9A8
Generic Attribute
1801
Service Changed : 2A05
Generic Access - CHARACTERISTICS
1. Name utf8s |
1. Category 16bit |
Device Information - CHARACTERISTICS
1. Model Number utf8s |
1. Serial Number utf8s |
1. Hardware Revision utf8s |
1. Firmware Revision utf8s |
Accelerometer Service - CHARACTERISTICS
1. Accelerometer_X uint8 |
2. Accelerometer_Y uint8 |
3. Accelerometer_Z uint8 |
1. Client Characteristic Configuration 2902 org.bluetooth.descriptor.gatt.client_characteristic_configuration |
1. Client Characteristic Configuration : 2902 |
1. Accelerometer_Period uint8 |
Magnetometer Service - CHARACTERISTICS
1. Magnetometer_X uint16 |
2. Magnetometer_Y uint16 |
3. Magnetometer_Z uint16 |
1. Client Characteristic Configuration 2902 org.bluetooth.descriptor.gatt.client_characteristic_configuration |
1. Client Characteristic Configuration : 2902 |
1. Magnetometer_Period uint8 |
Magnetometer Bearing
Battery Service
Temperature Service
Battery Service - CHARACTERISTICS
Temperature Service - CHARACTERISTICS
Battery Level
Temperature
1. Level uint8 |
1. Characteristic Presentation Format 2904 org.bluetooth.descriptor.gatt.characteristic_presentation_format |
2. Client Characteristic Configuration 2902 org.bluetooth.descriptor.gatt.client_characteristic_configuration |
Button Service - CHARACTERISTICS
1. Button_State_Value uint8 |
1. Client Characteristic Configuration 2902 org.bluetooth.descriptor.gatt.client_characteristic_configuration |
1. Client Characteristic Configuration : 2902 |
1. Button_State_Value uint8 |
1. Client Characteristic Configuration 2902 org.bluetooth.descriptor.gatt.client_characteristic_configuration |
1. Client Characteristic Configuration : 2902 |
LED Service - CHARACTERISTICS
1. LED_Matrix_State 32bit |
1. LED_Text_Value utf8s |
1. Scrolling_Speed_Value uint8 |
IO Pin Service - CHARACTERISTICS
IO Pin 0
Pin Data
1. IO_Pin_Value uint8 |
1. Client Characteristic Configuration 2902 org.bluetooth.descriptor.gatt.client_characteristic_configuration |
1. Client Characteristic Configuration : 2902 |
IO Pin 1
Pin AD Configuration
1. IO_Pin_Value uint8 |
1. Client Characteristic Configuration 2902 org.bluetooth.descriptor.gatt.client_characteristic_configuration |
IO Pin 2
1. IO_Pin_Value uint8 |
1. Client Characteristic Configuration 2902 org.bluetooth.descriptor.gatt.client_characteristic_configuration |
IO Pin Configuration
1. IO_Pin_Config_Value 24bit |
IO Parallel Port
Pin IO Configuration
1. IO_Parallel_Port_Value |
1. Client Characteristic Configuration 2902 org.bluetooth.descriptor.gatt.client_characteristic_configuration |
Event Service - CHARACTERISTICS
1. Notification_Requirements uint8[] |
1. Client Characteristic Configuration 2902 org.bluetooth.descriptor.gatt.client_characteristic_configuration |
1. Client Characteristic Configuration : 2902 |
1. Event_Types_And_Values uint8[] |
1. Event_Type_And_Value uint8[] |
1. Client Characteristic Configuration 2902 org.bluetooth.descriptor.gatt.client_characteristic_configuration |
1. Client Characteristic Configuration : 2902 |
1. Client_Requirements_Field uint8[] |
1. Client Characteristic Configuration 2902 org.bluetooth.descriptor.gatt.client_characteristic_configuration |
1. Client Characteristic Configuration : 2902 |
DFU SERVICE
DFU CONTROL SERVICE
DFU SERVICE - CHARACTERISTICS
DFU CONTROL SERVICE - CHARACTERISTICS
1. dfu_control uint8 |
1. dfu_flash_code uint8[] |
1. Client Characteristic Configuration : 2902 |
Generic Attribute
Generic Attribute - CHARACTERISTICS
Service Changed
Generic Access - CHARACTERISTICS
1. Name utf8s |
1. Name : utf8s |
1. Category 16bit |
1. Category : 16bit |
Device Information - CHARACTERISTICS
1. Model Number utf8s |
1. Model Number : utf8s |
1. Serial Number utf8s |
1. Serial Number : utf8s |
1. Hardware Revision utf8s |
1. Hardware Revision : utf8s |
1. Firmware Revision utf8s |
1. Firmware Revision : utf8s |
Accelerometer Service - CHARACTERISTICS
1. Accelerometer_X uint8 |
2. Accelerometer_Y uint8 |
3. Accelerometer_Z uint8 |
1. Accelerometer_X : sint16 |
2. Accelerometer_Y : sint16 |
3. Accelerometer_Z : sint16 |
1. Client Characteristic Configuration 2902 org.bluetooth.descriptor.gatt.client_characteristic_configuration |
1. Client Characteristic Configuration : 2902 |
1. Accelerometer_Period uint8 |
1. Accelerometer_Period : uint16 |
Magnetometer Service - CHARACTERISTICS
1. Magnetometer_X uint16 |
2. Magnetometer_Y uint16 |
3. Magnetometer_Z uint16 |
1. Magnetometer_X : sint16 |
2. Magnetometer_Y : sint16 |
3. Magnetometer_Z : sint16 |
1. Client Characteristic Configuration 2902 org.bluetooth.descriptor.gatt.client_characteristic_configuration |
1. Client Characteristic Configuration : 2902 |
1. Magnetometer_Period uint8 |
1. Magnetometer_Period : uint16 |
Magnetometer Bearing
1. bearing value : uint16 |
Battery Service
Temperature Service
Battery Service - CHARACTERISTICS
Temperature Service - CHARACTERISTICS
Battery Level
Temperature
1. Level uint8 |
1. temperature value : sint8 |
1. Characteristic Presentation Format 2904 org.bluetooth.descriptor.gatt.characteristic_presentation_format |
2. Client Characteristic Configuration 2902 org.bluetooth.descriptor.gatt.client_characteristic_configuration |
Button Service - CHARACTERISTICS
1. Button_State_Value uint8 |
1. Button_State_Value : uint8 |
1. Client Characteristic Configuration 2902 org.bluetooth.descriptor.gatt.client_characteristic_configuration |
1. Client Characteristic Configuration : 2902 |
1. Button_State_Value uint8 |
1. Button_State_Value : uint8 |
1. Client Characteristic Configuration 2902 org.bluetooth.descriptor.gatt.client_characteristic_configuration |
1. Client Characteristic Configuration : 2902 |
LED Service - CHARACTERISTICS
1. LED_Matrix_State 32bit |
1. LED_Matrix_State : 32bit |
1. LED_Text_Value utf8s |
1. LED_Text_Value : utf8s |
1. Scrolling_Speed_Value uint8 |
1. Scrolling_Speed_Value : uint16 |
IO Pin Service - CHARACTERISTICS
IO Pin 0
Pin Data
1. IO_Pin_Value uint8 |
1. IO_Pin_Data : uint8[] |
1. Client Characteristic Configuration 2902 org.bluetooth.descriptor.gatt.client_characteristic_configuration |
1. Client Characteristic Configuration : 2902 |
IO Pin 1
Pin AD Configuration
1. IO_Pin_Value uint8 |
1. Client Characteristic Configuration 2902 org.bluetooth.descriptor.gatt.client_characteristic_configuration |
IO Pin 2
1. IO_Pin_Value uint8 |
1. Client Characteristic Configuration 2902 org.bluetooth.descriptor.gatt.client_characteristic_configuration |
IO Pin Configuration
1. IO_Pin_Config_Value 24bit |
1. Pin_AD_Config_Value : 24bit |
IO Parallel Port
Pin IO Configuration
1. IO_Parallel_Port_Value |
1. Pin_IO_Config_Value : uint24 |
1. Client Characteristic Configuration 2902 org.bluetooth.descriptor.gatt.client_characteristic_configuration |
Event Service - CHARACTERISTICS
1. Notification_Requirements uint8[] |
1. Notification_Requirements : uint8[] |
1. Client Characteristic Configuration 2902 org.bluetooth.descriptor.gatt.client_characteristic_configuration |
1. Client Characteristic Configuration : 2902 |
1. Event_Types_And_Values uint8[] |
1. Event_Types_And_Values : uint8[] |
1. Event_Type_And_Value uint8[] |
1. Event_Type_And_Value : uint8[] |
1. Client Characteristic Configuration 2902 org.bluetooth.descriptor.gatt.client_characteristic_configuration |
1. Client Characteristic Configuration : 2902 |
1. Client_Requirements_Field uint8[] |
1. Client_Requirements_Field : uint8[] |
1. Client Characteristic Configuration 2902 org.bluetooth.descriptor.gatt.client_characteristic_configuration |
1. Client Characteristic Configuration : 2902 |
DFU SERVICE
DFU CONTROL SERVICE
DFU SERVICE - CHARACTERISTICS
DFU CONTROL SERVICE - CHARACTERISTICS
1. dfu_control uint8 |
1. dfu_control : uint8 |
1. dfu_flash_code uint8[] |
1. dfu_flash_code : uint32 |
1. Client Characteristic Configuration : 2902 |
Generic Attribute
Generic Attribute - CHARACTERISTICS
Service Changed
1. Start of Affected Attribute Handle Range : uint16 |
2. End of Affected Attribute Handle Range : uint16 |