{"id":6177,"date":"2021-03-08T09:17:15","date_gmt":"2021-03-08T09:17:15","guid":{"rendered":"https:\/\/www.beaconzone.co.uk\/blog\/?p=6177"},"modified":"2023-05-05T08:12:03","modified_gmt":"2023-05-05T08:12:03","slug":"programming-bluetooth-le-using-rust","status":"publish","type":"post","link":"https:\/\/www.beaconzone.co.uk\/blog\/programming-bluetooth-le-using-rust\/","title":{"rendered":"Programming Bluetooth LE Using Rust"},"content":{"rendered":"\n<p>Rust is a young programming language that has a low overhead like c\/c++ without the associated memory management complexities. It&#8217;s cross platform and compiles for Linux, macOS and Windows. Rust is compiled rather than interpreted so achieves c\/c++ like performance and is ideal for use with IoT on resource constrained devices.<\/p>\n\n\n\n<p>Rust was originally came out of Mozilla Research and very recently became independent though it&#8217;s own non-profit foundation, the <a rel=\"noreferrer noopener\" href=\"https:\/\/foundation.rust-lang.org\/\" target=\"_blank\">Rust Foundation<\/a>.<\/p>\n\n\n\n<p>Given that rust is ideal for IoT, it&#8217;s also suitable for use in projects interfacing with Bluetooth LE. Rust extensions are provided by Cargo, the Rust package manager that downloads crates from <a rel=\"noreferrer noopener\" href=\"https:\/\/crates.io\/\" target=\"_blank\">crates.io<\/a>. There are many creates for Bluetooth including <a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/mwylde\/rumble\" target=\"_blank\">rumble<\/a>, <a rel=\"noreferrer noopener\" href=\"https:\/\/docs.rs\/crate\/blurz\/\" target=\"_blank\">blurz<\/a> and an amalgamation of libraries <a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/deviceplug\/btleplug\" target=\"_blank\">btleplug<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Rust is a young programming language that has a low overhead like c\/c++ without the associated memory management complexities. It&#8217;s cross platform and compiles for Linux, macOS and Windows. Rust is compiled rather than interpreted so achieves c\/c++ like performance and is ideal for use with IoT on resource constrained devices. Rust was originally came &hellip; <a href=\"https:\/\/www.beaconzone.co.uk\/blog\/programming-bluetooth-le-using-rust\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Programming Bluetooth LE Using Rust&#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":[284],"tags":[],"_links":{"self":[{"href":"https:\/\/www.beaconzone.co.uk\/blog\/wp-json\/wp\/v2\/posts\/6177"}],"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=6177"}],"version-history":[{"count":3,"href":"https:\/\/www.beaconzone.co.uk\/blog\/wp-json\/wp\/v2\/posts\/6177\/revisions"}],"predecessor-version":[{"id":8658,"href":"https:\/\/www.beaconzone.co.uk\/blog\/wp-json\/wp\/v2\/posts\/6177\/revisions\/8658"}],"wp:attachment":[{"href":"https:\/\/www.beaconzone.co.uk\/blog\/wp-json\/wp\/v2\/media?parent=6177"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.beaconzone.co.uk\/blog\/wp-json\/wp\/v2\/categories?post=6177"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.beaconzone.co.uk\/blog\/wp-json\/wp\/v2\/tags?post=6177"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}