Skip to content

Linux bluetooth mgmt API client. (WIP)

Notifications You must be signed in to change notification settings

yskszk63/btmgmt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

btmgmt

Linux bluetooth mgmt API client.

see bluez docs/mgmt-api.txt

Dependencies

[dependencies]
btmgmt = "0.3.0-alpha.4"

Example

use btmgmt::Client;
use btmgmt::command::ReadManagementSupportedCommands;
use futures::StreamExt;

#[tokio::main(flavor = "current_thread")]
async fn main() {
    // (management client, run loop handle)
    let client = Client::open().unwrap();

    let mut events = client.events().await;
    tokio::spawn(async move {
        while let Some((index, event)) = events.next().await {
            match event {
                // do staff
            }
        }
    });

    let reply = client.call(None, ReadManagementSupportedCommands).await.unwrap();
    for command in reply.commands() {
        // do stuff
    }
    for event in reply.events() {
        // do stuff
    }
}

Command line client

$ cargo install btmgmt-cli
...
$ btmgmt-cli version
1.18
$

Many operations require privileges.

License

Licensed under either of

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.!

License: MIT OR Apache-2.0

About

Linux bluetooth mgmt API client. (WIP)

Topics

Resources

Stars

Watchers

Forks

Languages