{"id":6077,"date":"2021-02-05T09:42:23","date_gmt":"2021-02-05T09:42:23","guid":{"rendered":"https:\/\/www.beaconzone.co.uk\/blog\/?p=6077"},"modified":"2021-02-05T09:42:24","modified_gmt":"2021-02-05T09:42:24","slug":"understanding-bluetooth-le-uuids","status":"publish","type":"post","link":"https:\/\/www.beaconzone.co.uk\/blog\/understanding-bluetooth-le-uuids\/","title":{"rendered":"Understanding Bluetooth LE UUIDs"},"content":{"rendered":"\n<p>When connecting to Bluetooth devices such as beacons via <a rel=\"noreferrer noopener\" href=\"https:\/\/bluetoothle.wiki\/gatt\" target=\"_blank\">GATT<\/a>, APIs are used to connect to specific Bluetooth Services and Bluetooth Characteristics. Services and Characteristics are identified by 128-bit UUID values written as 00000000-0000-1000-0000-000000000000 where each digit is a hexadecimal number. For example, an app might connect to a Service with id D35B<strong>1000<\/strong>-E01C-9FAC-BA8D-7CE20BDBA0C6 and then read and write to a Characteristic with id D35B<strong>1001<\/strong>-E01C-9FAC-BA8D-7CE20BDBA0C6.<\/p>\n\n\n\n<p>In practice, an interface usually uses similar UUIDs that only change in the xxxx part of the UUID: D35B<strong>xxxx<\/strong>-E01C-9FAC-BA8D-7CE20BDBA0C6. There&#8217;s usually a base UUID such as D35B0000-E01C-9FAC-BA8D-7CE20BDBA0C6 and only 16-bits values are provided in the interface documented description.<\/p>\n\n\n\n<p>Here&#8217;s an example from the Meeblue beacon documentation:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"815\" height=\"311\" src=\"https:\/\/www.beaconzone.co.uk\/blog\/wp-content\/uploads\/2021\/02\/bluetoothservicecharacteristics.png\" alt=\"\" class=\"wp-image-6078\" srcset=\"https:\/\/www.beaconzone.co.uk\/blog\/wp-content\/uploads\/2021\/02\/bluetoothservicecharacteristics.png 815w, https:\/\/www.beaconzone.co.uk\/blog\/wp-content\/uploads\/2021\/02\/bluetoothservicecharacteristics-300x114.png 300w, https:\/\/www.beaconzone.co.uk\/blog\/wp-content\/uploads\/2021\/02\/bluetoothservicecharacteristics-768x293.png 768w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/figure><\/div>\n\n\n\n<p>The Meeblue base UUID is D35B0000-E01C-9FAC-BA8D-7CE20BDBA0C6. When it&#8217;s said the UUID is 0x1000, the actual UUID is D35B1000-E01C-9FAC-BA8D-7CE20BDBA0C6.<\/p>\n\n\n\n<p><a href=\"https:\/\/www.beaconzone.co.uk\/UsingBluetoothLE\" target=\"_blank\" rel=\"noreferrer noopener\">Read Using Bluetooth Low Energy (LE)<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>When connecting to Bluetooth devices such as beacons via GATT, APIs are used to connect to specific Bluetooth Services and Bluetooth Characteristics. Services and Characteristics are identified by 128-bit UUID values written as 00000000-0000-1000-0000-000000000000 where each digit is a hexadecimal number. For example, an app might connect to a Service with id D35B1000-E01C-9FAC-BA8D-7CE20BDBA0C6 and then &hellip; <a href=\"https:\/\/www.beaconzone.co.uk\/blog\/understanding-bluetooth-le-uuids\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Understanding Bluetooth LE UUIDs&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,100],"tags":[],"_links":{"self":[{"href":"https:\/\/www.beaconzone.co.uk\/blog\/wp-json\/wp\/v2\/posts\/6077"}],"collection":[{"href":"https:\/\/www.beaconzone.co.uk\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.beaconzone.co.uk\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.beaconzone.co.uk\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.beaconzone.co.uk\/blog\/wp-json\/wp\/v2\/comments?post=6077"}],"version-history":[{"count":3,"href":"https:\/\/www.beaconzone.co.uk\/blog\/wp-json\/wp\/v2\/posts\/6077\/revisions"}],"predecessor-version":[{"id":6081,"href":"https:\/\/www.beaconzone.co.uk\/blog\/wp-json\/wp\/v2\/posts\/6077\/revisions\/6081"}],"wp:attachment":[{"href":"https:\/\/www.beaconzone.co.uk\/blog\/wp-json\/wp\/v2\/media?parent=6077"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.beaconzone.co.uk\/blog\/wp-json\/wp\/v2\/categories?post=6077"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.beaconzone.co.uk\/blog\/wp-json\/wp\/v2\/tags?post=6077"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}