I am trying to have Android running the example on
https://github.com/movisens/SmartGattLib
and write a Win10 client to act as a device to be discovered by SmartGattLib.
However, it's either my Win10 or the GattService API has a problem... My Win10 paired with the Android device, but the SmartGattLib sample program discovered on Win10 once (which I think it's impossible).
And with my Win10 + Dell M3800, I haven't figured out how to use the GattService API to write a client to publish advertisement or something to get my SmartGattLib noticed.
What have I done wrong? Is GattService API supposed to be able to advertise? Is it I am wrong conceptually, that Windows 10 cannot be a Gatt client?
Thanks
Related
I have tried the sample code found at https://learn.microsoft.com/sv-se/samples/microsoft/windows-universal-samples/bluetoothadvertisement/. C#.
It uses the class BluetoothLEAdvertisementPublisher. I have built that on my machine and executed it. I start the advertisement in foreground (or background) and then start an app on my phone (LightBlue and BLE Scanner tried). My PC isn't seen (I do see other devices)
The same when I try to write similar code myself. I have also tried writing a GattServiceProvider implementing a number of services. When I publish that one, I do see the services on the phone, and can read and write to them. So yes, bluetooth IS enabled and working (to some extent) on my machine.
I have latest version of Win10, with Intel AC8265 (with latest Intel drivers). It supports Bluetooth 4.2.
So why can't I see the advertisement? There are no error messages at all and the callbacks reports the advertisement is started as it should.
I'm also a bit confused by the relation between the BluetoothLEAdvertisementPublisher and the GattServiceProvider. Both do "publish" and the GattServiceProvider seems to be able to announce itself. But there is no way to add CompanyId or ManufacturerData to it. Shouldn't both be used? And both working...
To be more specific, it looks like the GattServiceProvider does actual advertising, but only advertising the computer name, bt address and service guids. No CompanyId or ManufacturerData at all. Googling around I found some people claiming that Company Id isn't required in advertisement, and others saying it is (and has to be registered). If Microsoft is advertising without Company Id, then I guess it's allowed.
And I can kind of understand if I'm not allowed to advertise an Intel NUC as having a Company Id from a totally different company. But if that is the case, one would think that the BluetoothLEAdvertisementPublisher would give some error code when used on a Win10 machine?
i'm working on some simple network management tool and it has a scanner that should display all active devices on the network and also show their os and its version.
at least i want to get windows and linux versions, but some other (like cisco ios) are also valuable.
i've looked into tcp/ip fingerprinting using ttl and window size, but it seems not very reliable and only detects whether it is windows of linux.
is it even possible?
p.s. i don't want to use some ready solutions like wmi or snmp
I've been tinkering with the microsoft band for a while and i'm trying to connect it to a raspberry pi 3 running android TV(couldn't find any Android phone images), now i've got most normal apps running on the rasp , the microsoft health app crashes when i start it.
Funny thing is though, the costum app i've made to track all the sensors stil gets data from the band when paired, but the band itself just:
says "pairing succes! return to the microsoft health app to continue" So there has to be a way to bypass the app right?
So i'm trying to find a way to get the band linked to this device without the Health App. Or a way to get that app running on my Android image.
I got a logcat of the crash, but i'm not sure if that would be really usefull. Since i can't edit the microsoft health app itself ...right?
Reset the band.
Pair the band to an android phone using health app.
Unpair band from Android phone.
Turn off Bluetooth on band.
Turn on Bluetooth on rpi.
Do a regular (not using health app) pairing the band and the rpi.
When attempting to read Heart Rate Sensor from a Microsoft Band paired with a Raspberry Pi2 running latest Windows IoT Core (10586). I get an exception when calling:
“bandClient.SensorManager.HeartRate.RequestUserConsentAsync()”
It would seem that the IoT Core does not contain the necessary libraries to create the popup dialog that is seen on other devices when executing this method.
Are there plans to extend the Band SDK to support Windows IoT Core in this scenario?
Are there any proposed workarounds?
Thank you,
Paul
Windows 10 IoT is currently not supported by the Microsoft Band SDK. In particular, the user consent prompts run on the device that the band is paired with and in this case the required APIs for user prompts are not supported in the Windows 10 IoT Core APIs.
If you require this in a future release of the SDK please open a request at the Microsoft Health User Voice page https://microsofthealth.uservoice.com
This question is regarding file transfer using AllJoyN
I am using the basic_client & basic_service files for Windows 64 Bit desktop machine and I was able to build and run it successfully to transfer files from Client to Service.
Also I am able to transfer files between two phones in Android using the Android sdk with the FIle Transfer sample provided which in turn uses the FileTransferComponent.
Now I am trying to make the discovery part work for the Android devices and the Desktop. THe desktop discovers the Android device but the Android device wont discover the desktop client. Could you please let me know what I am doing wrong here?
Also the file transfer modules(Like OfferFile,RequestOffer) are handled by the bus in Android whereas in Windows client, there is a FileTransfer interface implemented for the same to transfer data using input-output stream. Could you please help me understand how I can achieve the same filetransfer between the two clients when their implementation is different? Or should I use a different mechanism for this purpose?
Awaiting your reply