{"id":8778,"date":"2023-07-04T07:39:00","date_gmt":"2023-07-04T07:39:00","guid":{"rendered":"https:\/\/www.beaconzone.co.uk\/blog\/?p=8778"},"modified":"2023-07-04T07:39:01","modified_gmt":"2023-07-04T07:39:01","slug":"programming-bluetooth-with-python-on-linux","status":"publish","type":"post","link":"https:\/\/www.beaconzone.co.uk\/blog\/programming-bluetooth-with-python-on-linux\/","title":{"rendered":"Programming Bluetooth with Python on Linux"},"content":{"rendered":"\n<p>Python is an increasingly popular programming language due to its simplicity and readability. The <a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/getsenic\/gatt-python\" target=\"_blank\">gatt-python<\/a> library for Python that facilitates the implementation and communication with Bluetooth Low Energy devices using the Generic Attribute Profile (GATT). GATT is the specification for the transmission and reception of short data over a Bluetooth Low Energy link.<\/p>\n\n\n\n<p>The SDK supports a range of functionalities, including device discovery, connection and disconnection, custom GATT profile implementation and access to all Bluetooth GATT services and characteristics. It also allows for reading and writing characteristic values and subscribing to notifications for changes in these values. The library is only compatible with Linux because it uses the D-Bus API of <a rel=\"noreferrer noopener\" href=\"http:\/\/www.bluez.org\/\" target=\"_blank\">BlueZ<\/a> for Bluetooth device interaction.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Python is an increasingly popular programming language due to its simplicity and readability. The gatt-python library for Python that facilitates the implementation and communication with Bluetooth Low Energy devices using the Generic Attribute Profile (GATT). GATT is the specification for the transmission and reception of short data over a Bluetooth Low Energy link. The SDK &hellip; <a href=\"https:\/\/www.beaconzone.co.uk\/blog\/programming-bluetooth-with-python-on-linux\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Programming Bluetooth with Python on Linux&#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":[136,245],"tags":[],"_links":{"self":[{"href":"https:\/\/www.beaconzone.co.uk\/blog\/wp-json\/wp\/v2\/posts\/8778"}],"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=8778"}],"version-history":[{"count":3,"href":"https:\/\/www.beaconzone.co.uk\/blog\/wp-json\/wp\/v2\/posts\/8778\/revisions"}],"predecessor-version":[{"id":8781,"href":"https:\/\/www.beaconzone.co.uk\/blog\/wp-json\/wp\/v2\/posts\/8778\/revisions\/8781"}],"wp:attachment":[{"href":"https:\/\/www.beaconzone.co.uk\/blog\/wp-json\/wp\/v2\/media?parent=8778"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.beaconzone.co.uk\/blog\/wp-json\/wp\/v2\/categories?post=8778"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.beaconzone.co.uk\/blog\/wp-json\/wp\/v2\/tags?post=8778"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}