Giter Club home page Giter Club logo

bluetoothleexplorer's Introduction

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

Note: Bluetooth Explorer by Ellisys is a separate unaffiliated product.

bluetoothleexplorer's People

Contributors

adamj537 avatar cewbdex avatar drache42 avatar emild avatar erikpe-msft avatar frankgorgenyi avatar jg4ye avatar microsoft-github-policy-service[bot] avatar microsoftopensource avatar msftgits avatar sinorm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bluetoothleexplorer's Issues

Advertisment

I am looking for an app on Windows phone (not kidding) which can receive LE Advertisments. So why not in this app?

BLE advertisments stop after a while

This is possibly not the right place to create this but I can repro it with the Bluetooth LE Explorer app.

We have a custom UWP app which uses BluetoothLEAdvertisementWatcher from Windows.Devices.Bluetooth.Advertisement
This is used to observe advertising packets being yielded by custom devices on a schedule for presence detection.

We are experiencing an issue where after some time, our app appears to show no advertising packets being received.
Restarting our app does not fix the issue, only rebooting the computer.
We have tested this on raspberry pi, qualcomm dragonboard and an atlas mini pc all running windows 10 with different versions of the iot core system on the embedded devices.
The atlas mini pc is running an x64 build whereas the embedded devices an arm build.

We have run the Bluetooth LE Explorer app in parallel with our custom application and observed that when the issue occurs, both the Bluetooth LE Explorer and our app stop seeing packets at the same time.
Observing the issue which we've reproduced right now (it seems to be an external event of some kind so not reproducable on demand), I can see the start/stop button in LE explorer flickering between start and stop very fast, with occassional messages beside the button with Enumeration finished flicking up.

We are out of ideas, any suggestions on what this could be or things we can try? It doesn't seem to be an issue in the application code

build version

Hi,
I'm unable to install it using windows store, please where I can find installer or build version to download directly?

regards

BLE MLDP Data

Hi, is there anyway to receive actual data from the Bluetooth device? All of the data that can be read in this program is only characteristics of the device. Any help is greatly appreciated. Thank you.

BLE Privacy mode

While this is not an actual issue with the BLE Explorer code, I would like to know if there is an API that would allow us to turn off the BLE Privacy mode. The problem is that, when you write a GATT service, the BT address will change periodically (or even when you wake up from sleep) and because of that, the notification subscribers will no longer receive notifications.

It's possible to get the static address and set it as static on Linux and I would assume that the Windows BT stack can do this as well (since it's in the BT 4.0 specs) but there's no (user mode) API for it. Even if it is possible to accomplish this by sending an IOCTL to the driver, that'd be great but I don't know what the IOCTL would be.

Improved UI

Hello, I would like to improve the UI.
Is it welcome that I will contribute with improved UI and mare a PR?

I would like to target Windows 10 & Windows 11 platforms using latest UWP libraries.

Virtual keyboard use with iPad does not work

The connection is made but no keystrokes are shown on the iPad.
The iPad onscreen-keyboard is hidden when connected and revealed when disconnected => the connection seems to be fine.

btvs.exe -Mode Wireshark shows not much bluetooth traffic between iPad and PC even when I type something on the hardware keyboard and BLE Explorer is in focus.

Characteristic ValueChanged Event is not triggering

We have developed an UWP application and use latest BLE library to work with BLE devices and everything works fine in UWP application

After that we have developed windows service and used UWP's BLE dll to work with BLE devices. In this application everything works fine except characteristic's ValueChanged event which is not getting trigger.

Build instructions

Are there any instructions on how to build this? What MSVC version? Dependencies?

Advertisement monitor form application crash ... repeatable

Every time i switch between active and passive states (or vica versa) the application crashes. This happens no matter whether I stop the search activity or not,

The error is as follows
File Advertisement_viewmodel.cs
Namespace BluetoothLEExplorer.ViewModels
Function private void Advertisements_MapChanged(Windows.Foundation.Collections.IObservableMap<string, ObservableBluetoothLEAdvertisement> sender, Windows.Foundation.Collections.IMapChangedEventArgs @event)
Line 253 foreach (var advertisement in AdvertisementsView)
error message is
System.InvalidOperationException
HResult=0x80131509
Message=Collection was modified; enumeration operation may not execute.
Source=
StackTrace:

I am running the application in debug on a windows 10 22H2 OS. previously I used the store app with the same behaviour/result.
Should you need any more information please let me know

Characteristic Page GUI Improvements

Hi,

I found the Characteristic Page very hard to work with:
image

  1. I can not select any text with my mouse in order to copy it (the "read value" textbox is disabled).
  2. The "write value" textbox is too short! please make it and the "read value" stretch all the way!
  3. It will be nice to write the values by pressing Enter key (instead of pressing the "Write" button)

Thanks for sharing this repo,
Arad

Cannot build with latest VS 2017

I downloaded the latest zip [6/15/2018 10AM PDT] and tried to run the project with VS 2017 V15.7.3 [on Win 10 x64 Version1803 build 17134.112].

I get warning: VS update required. The project blew requires a platform SDK (UAP, version=10.0.17133.0) that is either not installed or is included...

I selected the oldest one on the list [I also tried the newest one as well] and I end up with all kinds of errors when building the solution:
error.list.log

The readme doesn't have any steps listed but is there a specific sequence of building this source?

Virtual Keyboard doest not work?

i try to used virtual keyboard as it is, but it did not work when i connected the device and host ,i pressed any keys, but the devices did not work.

Characteristic - Insufficient Encryption

I'm trying to explore a bluetooth device, however on some characteristics I see the error "Insufficient encryption". If I use a similar app on android, it's able to show me those characteristics.

Is there a way to add encryption?

"No permission to access device" error encountered while trying to connect to BLE device

As can be seen from the screenshot below, I am unable to connect to my BLE device using the app from my Asus Zenbook 13 running Windows 10 version 1903 with the latest 02-2020 update.

BluetoothLEExplorer - device connectivity error

However, using a Lenovo Ideapad S340 running Windows 10 version 1903 with the latest 02-2020 update, I am able to connect and view the GATT Services provided by the device. Screenshot of this too has been attached below.

BluetoothLEExplorer app - working

I am aware that this is mostly due to a hardware problem in the Asus laptop. I would like to ask if anyone else has faced similar issues with other hardware providers and how they managed to solve their issue.

BLEExplorer log file

I've written a very simple ble app on android and BLEExplorer keeps crashing/closing when I try to read any characteristic - even the device name.
I'm assuming - being a developer tool - the BLEExplorer stores a log/crash dump file somewhere? Also, does it have any settings beyond what is available on the gui - e.g. if I want to request mtu change?

Manipulation of Advertisement Package

Hi again :)

and another thing I would like to know more about is in what ways I can manipulate the advertisement package.

There is the BluetoothLEAdvertisementPublisher which has all the options I would need. Is there any way to use this together with the GattServiceProvider or in other ways manipulate what is being advertised?

If that is in any way possible, it would be great to add it to this sample!

Regarding Pre-Pairing

Does this application allow pre-pairing or are there other applications that Microsoft allows pre-pairing and auto connecting of BLE devices

Cannot connect to paired device

After discovering near by BLE devices, selecting an item from the list correctly displays the available services & characteristics.

If you right click the device and select "Pair", the device is paired and appears in the Windows Settings/Devices list. Attempting to connect to the device and view the characteristics now fails with "Unreachable".

Using LightBlue Explorer on iOS device with a virtual peripheral as the Gatt Server.

Crash after device disconnects

If I connect to a heart rate monitor and enable notifications for the heart rate characteristic and then wait for the device to go idle and disconnect I see a crash if I try to navigate back to the heart rate characteristic due to this exception:

System.ObjectDisposedException
  HResult=0x80000013
  Message=The object has been closed. (Exception from HRESULT: 0x80000013)
  Source=Windows
  StackTrace:
   at Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristic.get_Service()
   at BluetoothLEExplorer.ViewModels.CharacteristicPageViewModel.get_CharacteristicCanWrite() in C:\Users\Robert\src\BluetoothLEExplorer\BluetoothLEExplorer\BluetoothLEExplorer\ViewModels\CharacteristicPageViewModel.cs:line 302
   at BluetoothLEExplorer.Views.CharacteristicPage.CharacteristicPage_obj1_Bindings.Update_ViewModel(CharacteristicPageViewModel obj, Int32 phase) in C:\Users\Robert\src\BluetoothLEExplorer\BluetoothLEExplorer\BluetoothLEExplorer\obj\x86\Debug\Views\CharacteristicPage.g.cs:line 814
   at BluetoothLEExplorer.Views.CharacteristicPage.CharacteristicPage_obj1_Bindings.Update_(CharacteristicPage obj, Int32 phase) in C:\Users\Robert\src\BluetoothLEExplorer\BluetoothLEExplorer\BluetoothLEExplorer\obj\x86\Debug\Views\CharacteristicPage.g.cs:line 791
   at BluetoothLEExplorer.Views.CharacteristicPage.CharacteristicPage_obj1_Bindings.Update() in C:\Users\Robert\src\BluetoothLEExplorer\BluetoothLEExplorer\BluetoothLEExplorer\obj\x86\Debug\Views\CharacteristicPage.g.cs:line 733
   at BluetoothLEExplorer.Views.CharacteristicPage.CharacteristicPage_obj1_Bindings.Initialize() in C:\Users\Robert\src\BluetoothLEExplorer\BluetoothLEExplorer\BluetoothLEExplorer\obj\x86\Debug\Views\CharacteristicPage.g.cs:line 727
   at BluetoothLEExplorer.Views.CharacteristicPage.CharacteristicPage_obj1_Bindings.Loading(FrameworkElement src, Object data) in C:\Users\Robert\src\BluetoothLEExplorer\BluetoothLEExplorer\BluetoothLEExplorer\obj\x86\Debug\Views\CharacteristicPage.g.cs:line 761

This issue is actually also very closely related to a problem I'm seeing in my own project where I get the same ObjectDisposedException exception if I try and interact with a GattCharacteristic after reconnecting to a heart rate monitor (In my case when I try and re-enable notifications for a characteristic after reconnecting I get this exception).

I was hoping that BluetoothLEExplorer might help clarify how the winrt API is supposed to be used when it comes to handling device disconnections because I can't find any documentation on the lifecycle of GattDeviceService and GattCharacteristic instances and I don't really know if they are supposed to remain valid across device reconnects (I had previously assumed yes because in general the API seems to try and abstract the underlying connection away).

Empirically I see that GattDeviceService instances remain usable across reconnects so it seems a little surprising that the same wouldn't be expected from GattCharacteristic instances?

Hoping someone here will have a better understand of what's expected here ๐Ÿคž

Removal of DeviceService Page from the Application.

BluetoothLEExplorer application we have 3 XAML Pages.
1)Discover.
2)Device Service Page.
3)Charcterstic Page.
I need to eliminate the Device Service Page
Hardcoding of the UUID,CharctertsticValue is also accepted.But i need only 2 Pages in this Applicaiton..
1)Discover
3)Charcterstic Page

After Connection to the Periphereal Device from the Discover xaml,it should navigate directly to Charcterstic xaml
Please guide me on how to achieve this....?

1
2_a
3

Connected Clients Handling

Hi there,

it would be nice to add a list of currently subscribed clients to the service views.
On my own GATT Server I see a lot of issues with keeping track of sessions/clients, events not firing on 'ungraceful' disconnects and so on. So it would be really helpful to see a nice sample for that. Would also be nice to expand the samples to notify selected clients only.

Pretty much SubscribedClientsChanged and GattSession.SessionStatusChanged to keep track of sessions/clients and expand on the NotifyValueAsync and show how to send notifications to selected clients only.

Also a question, do you know why GattSession.Close() is not implemented? I could really use that :)

How to Create a .exe file from this project.

Hi i am running this project in visual studio.I want to create a setup file for this Project.But i am not getting how to create.Can u guide me please am new to C# and Visual Studio IDE.

Can only advertise when creating a battery service

When creating a virtual peripheral, there is one toggle switch for advertising the service. However, this switch does not result in enabling advertising. The battery service has three toggle switches. If they are all switched on then the PC starts advertising.

App crashes on Windows 11

I'm looking at this application to see if I can learn and understand how to control some BTLE IoT lights at home (specifically, Govee lights)

Steps to reproduce:

  1. Start the App
  2. In the Discover panel, click Start, get list of local devices, click Stop
  3. Click on a Govee IoT light device (click o the blue square, not the Pair button)
  4. See a large block of services like "GenericAccess", "GenericAttribute", and some service names with what appears to be UUIDs
  5. Hover over and click on an attribute. eg, under GenericAccess service name, click on Characteristic Name
  6. App crashes, no error, no idea what happened ... are there even log files anywhere to see what happened or why?

image

Peripheral mode is not supported on this device

I want to use this code for a project I'm working on. My PC doesn't have built in BT so I bought a cheap USB dongle from Amazon assuming it would work. Unfortunately when I launch the app I see the "Virtual Peripheral" option is crossed out and if I click it I get "Peripheral mode is not supported on this device". So apparently this requires a specific type of BT to work. Can anyone suggest a USB dongle or PCIe card that will work in virtual peripheral mode?

Can't find all services

I work with a Laird BT900 which is programmable. I use it to add services but the app can't detect these services. with other apps I can find these services.

BluetoothLEExplorer on HoloLens

Dear Devs

This app is published on the Windows Store and has an activated ability to work on the HoloLens. When I try to download it there is only a "Get updated" option to install the newest Windows on my HoloLens which obviously is not possible. I also downloaded this git repo and tried to compile it for the HoloLens but I couldn't make it so far. Any suggestions are welcome on how I can use this on a HoloLens.

Cheers
Fredrik

Sharing some code (using the explorer to control an android device)

I've made some alternations to this project so the notifications can be used to control an Android device.
The receiver is "EIR", my personal A.I.

If you're interested, you can download the project and/or Eir from the following urls:
https://play.google.com/store/apps/details?id=com.fumetsujostudio.eir
and
https://play.google.com/store/apps/details?id=com.fumetsujostudio.bleir

The project (BLEIR) is open-source, so you can find the code here:
https://drive.google.com/file/d/1mvOPAVF8oJ2-KC2kW36ZzKr2VSd7Eg-h/view?usp=sharing

Enjoy!

Latency before first Characteristic ValueChanged Event

We are developing a BLE notepad, https://www.xp-pen.com/product/516.html

SDK available: https://github.com/woodemi/notepad-sdk-uwp

The notepad collects 200 NotePenPointer per seconds and transfers the data though BLE.
But there seem to be a latency before the GattCharacteristic.ValueChanged triggered

I've tried the BluetoothLEExplorer, same issure. Is there any work around?

When developing on Android, we use BluetoothGatt#requestConnectionPriority to solve a similiar problem.

Windows 2004 and 20H2 issues

I suspect this is more an issue with Windows rather than the application but.

Using the application we can correctly connect to a unpaired BLE device using windows 10 2009 but if you upgrade Windows 10 to 2004 or 20H2 you get the following error.

image

LE Audio support?

Does this tool already support LE Audio or does it need support added?

Would be good to interrogate LE Audio device capabilities, etc.

Writing to RecordAccessPoint results in an Exception

Hello,
i'm trying to read glucose data from a paired device. I understand that i need to send a request to the RecordAccessControlPoint characteristic to get them.
However I cant figure out in what format the request needs to be.

An example write would be really helpfull!
Tim

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.