szeged / blurz Goto Github PK
View Code? Open in Web Editor NEWBlurz - Bluetooth lib for Rust using blueZ/dbus
License: BSD 2-Clause "Simplified" License
Blurz - Bluetooth lib for Rust using blueZ/dbus
License: BSD 2-Clause "Simplified" License
88b8b49 is a breaking change.
Please yank 0.1.8 and release 0.2 instead.
It seems that we have still 0.3.0 version in Cargo.
https://crates.io/crates/blurz
@dati91 what about bumping up the version?
Running a slightly modified version of example 2. My devices each have four services, however upon scanning only the first service shows up for each device. Sometimes - and I have not been able to isolate the reason why - all four services will show up for a device. Once this happens and I do connect to that device once, all four will always show up for that device, but the others still only show their first service. Anyone know how to diagnose this error? Happy to supply any needed information.
Hi!
I'm working on a project on the RPi that connects to an Arduino using Bluetooth. I'm using the HM11 BLE chip on the Arduino side. That chip, for some reason, insists on communicating using notifications. When I try to read a value using read_value
i just get gibberish (always this exact string Èý� �lÄ
or as bytes [200, 253, 25, 130, 108, 196]
).
I went through the source and noticed the start_notify
and stop_notify
methods. Though I can't figure out how to use them. Any pointers? Are they implemented at all?
Also, pardons for asking a question here. I didn't find any guide which outlines the desired method for asking questions about the project.
Invocation of RemoveDevice method of adapter is not working and following error is printed:
Rem err! D-Bus error: Method "RemoveDevice" with signature "s" on interface "org.bluez.Adapter1" doesn't exist
(org.freedesktop.DBus.Error.UnknownMethod) "/org/bluez/hci0/dev_40_EF_4C_B0_71_6B"
I am invoking that method with MAC address and with device path but result is always same.
Hej! This is not really an issue, but rather a suggestion of a new feature in the library, that I would like to implement. I was thinking about writing support for OBEX protocol, as specified here:
https://github.com/wolfeidau/bluez/blob/master/doc/obex-api.txt
I'm using your library for my own small project and I already implemented part of OBEX API:
https://github.com/sireliah/dragit/blob/master/src/bluetooth/obex.rs
Of course I would write more sustainable code. 😃
What do you think about this idea in general? Does it make sense to include OBEX?
It has been 1.5 years since the last commit, and several few pull requests have been piling up.
Is this project still going to be maintained? Otherwise, perhaps ownership of the crate could be transferred to a willing maintainer?
I see that most of the open pull requests have been merged into https://github.com/fortian/blurz, perhaps they would be interested in helping or taking over maintenance of the project?
In the meantime, I have filed my pull request to their repository, because it just does not seem to make sense to backport the changes to Rust 2015.
This crate is lagging behind 2 major versions of dbus, could we get a bump for it @szeged?
It has been deprecated: announcement.
Is there any functionality you would require from another library before this would be possible?
When trying to usr BluetoothGATTCharacteristic::write_value, it returns D-Bus error: Method "WriteValue" with signature "ay" on interface "org.bluez.GattCharacteristic1" doesn't exist (org.freedesktop.DBus.Error.UnknownMethod)
I'm not sure if the issue is on my end or not, since I'm a rust beginner and almost never used dbus before. My supposition is that WriteValue should have a signature like ay{sv}
since the dbus method has two parameters (see below)
When trying to connect and write values with btgatt-client
and write-long-value 0x0021 0 0x55 0x10 0x01 0x0d 0x0a
, it works as expected.
service - start: 0x001f, end: 0x002f, type: primary, uuid: a8b3fff0-4834-4051-89d0-3de95cddd318
charac - start: 0x0020, value: 0x0021, props: 0x0a, ext_props: 0x0000, uuid: a8b3fff1-4834-4051-89d0-3de95cddd318
descr - handle: 0x0022, uuid: 00002901-0000-1000-8000-00805f9b34fb
charac - start: 0x0023, value: 0x0024, props: 0x02, ext_props: 0x0000, uuid: a8b3fff2-4834-4051-89d0-3de95cddd318
descr - handle: 0x0025, uuid: 00002901-0000-1000-8000-00805f9b34fb
charac - start: 0x0026, value: 0x0027, props: 0x08, ext_props: 0x0000, uuid: a8b3fff3-4834-4051-89d0-3de95cddd318
descr - handle: 0x0028, uuid: 00002901-0000-1000-8000-00805f9b34fb
charac - start: 0x0029, value: 0x002a, props: 0x10, ext_props: 0x0000, uuid: a8b3fff4-4834-4051-89d0-3de95cddd318
descr - handle: 0x002b, uuid: 00002902-0000-1000-8000-00805f9b34fb
descr - handle: 0x002c, uuid: 00002901-0000-1000-8000-00805f9b34fb
charac - start: 0x002d, value: 0x002e, props: 0x02, ext_props: 0x0000, uuid: a8b3fff5-4834-4051-89d0-3de95cddd318
descr - handle: 0x002f, uuid: 00002901-0000-1000-8000-00805f9b34fb
https://gist.github.com/CromFr/7938362577028de485b8ca6d7029c6f7
bluetoothd -E --noplugin=sap
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.