The Proximity Profile defines two roles intended to allow devices to detect their proximity.
The two roles are called:
Unlocking with BTProximity. You can also configure the app to auto-sleep your computer or even put it to hibernate mode. Let’s now see how to configure the unlocking function.
- The Proximity Reporter
- The Proximity Monitor
Proximity Reporter
- When I found a little freeware application on SourceForge called Bluetooth Proximity Lock Utility – I fell in love! What it does is quite simple and ingenious. It is a proximity access system that pairs up and connects to a Bluetooth device you keep with you at all times.
- You can use the free BTProximity application to automatically lock down Windows when you are away. BTProximity is a free, open-source and portable application for Windows that allows you to lock your Windows workstation as you walk away from it.
- Blog; PowerShell Start-Process without taking focus. Earlier this week I had a need to start a process from PowerShell and ensure that it did not take focus. Where users can download it instantly. There is a still chain of accountability, but it isn’t nearly as strong as the old model. The cost to develop software used to be.
- Download Rootkit Revealer 1.71 RootkitRevealer is an advanced rootkit detection utility. It runs on Windows and its output lists Registry and file system API discrepancies that may indicate the presence of a user-mode or kernel-mode rootkit.
- Dave amenta software, free download - Dave Mirra Freestyle BMX demo, Duffer Dave, Dave FM, and many more programs. Detect the nearby Bluetooth powered devices from PC. Free User rating.
- This application is discontinued permanently.
The Proximity Reporter is required to be a GATT server.
The Proximity Reporter supports the following GATT services:
- Link Loss Service (mandatory)
- Immediate Alert Service (optional)
- Tx Power Service (optional)
Proximity Monitor
The Proximity Monitor is the GATT client. It should create and maintain a connection to the proximity Reporter as well as monitor the Radio Signal Strength Information (or RSSI) of the connection to calculate the signal’s path loss. If the optional 'Tx Power Service' is available on the Proximity Reporter, it can also use this additional information to normalize the RSSI value by subtracting the RSSI from the Tx Power Level.
Support for GATT in Windows 8.1
When a GATT device is paired with Windows 8.1, the device becomes part of the system and Windows will provide device objects to represent both the device and the primary services reported by the device.
The Windows.Devices.Bluetooth.GenericAttributeProfile namespace. describes the Generic Attribute Profile APIs app developers can use in Windows 8.1.
One of the first steps when developing a device app is to identify which Bluetooth services the app needs in order to accomplish the scenarios a user cares about. For the Proximity Profile, the device app needs to use the 'Link Loss Service' and optionally the 'Immediate Alert Service' and 'Tx Power Service'.
In order for the device app to determine if any devices paired with Windows implement the 'Link Loss Service' the app should use the APIs available in the Windows.Devices.Enumeration namespace, namely the DeviceInformation.FindAllAsync method.
The DeviceInformation.FindAllAsync method takes an AQS (Advanced Query Syntax) device selector as a parameter in order to filter only devices which contain the 'Link Loss Service'. Device app developers can also use the GetDeviceSelectorFromUuid or GetDeviceSelectorFromShortId methods of the GattDeviceService class, so they don’t need to manually construct the AQS filter.
The 'Link Loss Service' is a Bluetooth GATT service defined by the Bluetooth SIG, and as such a Short Id can be used instead of a fully-qualified UUID.
The Short Id service IDs assigned for a Proximity profile service are:
Service Name | Short Id |
---|---|
Link Loss | 0x1803 |
Immediate Alert | 0x1802 |
Tx Power | 0x1804 |
The Bluetooth SIG maintains the most up to date list of services.
After a developer has determined which service s/he wants to use, s/he can call GattDeviceService.FromIdAsync to obtain an instance of the service.
Once the developer has obtained a valid GattDeviceService object, s/he can use it to communicate with the device using the Windows.Devices.Bluetooth.GenericAttributeProfile API.
These APIs enable access to specific services and their objects (for example Included Services, Characteristics, and Descriptors), as well as read and write capabilities.
The Bluetooth Generic Attribute Profile - Heart Rate Service sample demonstrates some of these techniques.
Using Power Efficiently
Support for Bluetooth Low Energy in Windows 8.1 has a strong focus on using power efficiently. This includes reducing the power consumption for the local Bluetooth radio adapter as well as using the CPU to be as little as possible.
Btproximity Windows 8 Download
Therefore, to establish a Bluetooth LE connection an app needs to register a handler for the GattCharacteristic.ValueChanged event. Alternately, the app must call any of the GattCharacteristic.ReadValueAsync, GattCharacteristic.WriteValueAsync or GattCharacteristic.WriteClientCharacteristicConfigurationDescriptorAsync methods without specifying the BluetoothCacheMode.Cached option.
Note In order to minimize power consumption, Windows does not actively monitor the RSSI value of the link by polling the local Bluetooth radio controller.
Btproximity Download Itunes
Power considerations are described in Proximity Profile Implementation Details.