1 / 31

Connecting Bluetooth Low Energy devices to Windows

HW-254T. Connecting Bluetooth Low Energy devices to Windows. Ellick Sung - Program Manager Alain Michaud – Software Design Engineer Microsoft Corporation. Agenda. What is Bluetooth LE? The Windows Bluetooth LE platform Technical overview and examples

aran
Download Presentation

Connecting Bluetooth Low Energy devices to Windows

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. HW-254T Connecting Bluetooth Low Energy devices to Windows Ellick Sung - Program Manager Alain Michaud – Software Design Engineer Microsoft Corporation

  2. Agenda • What is Bluetooth LE? • The Windows Bluetooth LE platform • Technical overview and examples You’ll leave with information on how to • Easily connect your device to Windows with Bluetooth LE • Complete your Bluetooth LE device experience with a Metro style device app

  3. What is Bluetooth LE?

  4. Bluetooth LE enables new kinds ofwireless device experiences.

  5. demo LE HID Profile Prototype Logitech keyboard LE HID support inbox with Win8

  6. Bluetooth Bluetooth low energy • Low power • Low duty cycle • Simplicity • Global standard • Low cost • Robust • Secure • Profile interoperability

  7. Bluetooth connectivity for low power devices • Some existing device experiences improved • Keyboards • Mice • Sport and fitness • Heartrate monitors • Pedometers • Cycling cadence/distance • Health • Glucose meters • Blood pressure monitors • Weighing scales

  8. Windows Bluetooth LE platform • Discovery and pairing experiences built into Windows • Simple API to collect and administer device data • Windows Runtime support for Metro style apps • Inbox support for HID class devices • Interoperability enhanced by the Windows platform and Bluetooth qualification

  9. Development partners

  10. Bluetooth LE in Windows

  11. Windows makes it easy to create new wireless device experienceswith Bluetooth LE.

  12. Bluetooth LE services • Simple, self-described, data • A characteristic comprises a set of data describing a value • A service comprises a set of one or more characteristics • A profile comprises a set of one or more services

  13. Windows Bluetooth LE client API Get Data Set Data Receive Data Events • BluetoothGATTGetServices • BluetoothGATTGetIncludedServices • BluetoothGATTGetCharacteristics • BluetoothGATTGetDescriptors • BluetoothGATTGetCharacteristicValue • BluetoothGATTGetDescriptorValue • BluetoothGATTBeginReliableWrite • BluetoothGATTSetCharacteristicValue • BluetoothGATTEndReliableWrite • BluetoothGATTAbortReliableWrite • BluetoothGATTSetDescriptorValue • BluetoothGATTRegisterEvent • BluetoothGATTUnregisterEvent

  14. Metro style apps for Bluetooth LE • Metro style device app experience can focus on integrated solution • Custom class driver can allow access to multiple apps Metro Style App WinRT Library WPD API LE Profile Driver Bluetooth LE Driver Stack LE Device

  15. demo Proprietary sample service TI CC2540 development kit Sample Simple Keys Service (w/ dev kit) Sample WPD driver (Windows Driver Kit)

  16. demo Health thermometer profile Prototype Nordic Thermometer

  17. Recap

  18. Windows and Bluetooth LE • It’s easy to create new device experiences using Windows and Bluetooth LE • New kinds of devices are now connectable • Existing device experiences can be improved • HID device support is included inbox

  19. Related sessions • [HW-747T] Building Metro style apps that connect to specialized devices

  20. Further reading and documentation • MSDN • Bluetooth Low Energy Functions • Bluetooth Low Energy Enumerations • Bluetooth Low Energy Structures • Metro style device app for specialized devices – Design Guide • Windows Hardware Development • More about Bluetooth LE and its Profiles • http://www.bluetooth.org

  21. thank you Feedback and questions http://forums.dev.windows.com Session feedbackhttp://bldw.in/SessionFeedback

  22. © 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

  23. Backup

  24. Bluetooth LE keyboards will last for years on the same set of batteries

  25. Get Service and Characteristic Data // // Get the characteristic // hr = BluetoothGATTGetCharacteristics( hDeviceHandle, services[serviceIndex], numChar, characteristics, &numCharsActual, BLUETOOTH_GATT_FLAG_NONE); • // • // Get the services • // • hr = BluetoothGATTGetServices( • hDeviceHandle, • numServices, • services, • &numServicesActual, • BLUETOOTH_GATT_FLAG_NONE); // // Get the characteristic descriptors // hr = BluetoothGATTGetDescriptors( hDeviceHandle, characteristics[foundCharacteristicIndex], numDesc, descriptors, &numDescsActual, BLUETOOTH_GATT_FLAG_NONE);

  26. Register for Events • // • // Register a value change callback (asynchronous value • // change events) • // • hr = BluetoothGATTRegisterEvent( • hDeviceHandle, • CharacteristicValueChangedEvent, • (PVOID)&characteristics[foundCharacteristicIndex], • s_ValueChangeEvent, • (PVOID)this, • &m_ValueChangeEventReg, • BLUETOOTH_GATT_FLAG_NONE);

  27. Set Device to Send (Write Data) // // Set the client config descriptor to register for indications // ::ZeroMemory(&clientConfigValue, sizeof(clientConfigValue)); clientConfigValue.DescriptorType = ClientCharacteristicConfiguration; clientConfigValue.ClientCharacteristicConfiguration .IsSubscribeToNotification = TRUE; hr = BluetoothGATTSetDescriptorValue( hDeviceHandle, descriptors[clientConfigDescIndex], &clientConfigValue, BLUETOOTH_GATT_FLAG_NONE);

  28. Adapting the LE WPD sample • // • // Placeholder code • // • hr = BluetoothGATTRegisterEvent( • hDeviceHandle, • CharacteristicValueChangedEvent, • (PVOID)&characteristics[foundCharacteristicIndex], • s_ValueChangeEvent, • (PVOID)this, • &m_ValueChangeEventReg, • BLUETOOTH_GATT_FLAG_NONE);

  29. Easily create a new wireless device to application experience using Windows and Bluetooth LE

  30. Bluetooth LE vs. other radio technologies

More Related