有一个带有Microsoft Band的环境光传感器,Windows应用商店中的一些应用显示Lux中的ALS值,但我无法在Band SDK中找到读取ALS Lux值的方法。
如何访问ALS?
答案 0 :(得分:2)
如果您使用的是Win或iOS,请使用RFCOMM。但是你必须自己写一切。订阅传感器数据很容易,解析响应也是如此。但是,如果您需要与设备进行交互,那么它会变得复杂 - 传递瓷砖等等。 如果您使用的是Android,则可获得MS Health应用程序的支持,但由于它未公开此功能,因此您无法使用它。只有你禁用(卸载?)MS Health应用程序并再次自己编写所有内容。
答案 1 :(得分:1)
如前所述,公共SDK没有暴露该传感器 - 但显然可以通过使用原始蓝牙接口获取信息(以及其他一堆东西) - 公共API是一种包装器原始蓝牙协议。
因此,如果您不担心逆向工程和摆弄原始字节,您可能能够弄清楚如何解码传感器数据。您可以使用Windows.Devices.Bluetooth.Rfcomm库 - 来自Microsoft的代码示例显示了如何设置基本的蓝牙rfccomm通信:https://code.msdn.microsoft.com/windowsapps/Bluetooth-Rfcomm-Chat-afcee559
答案 2 :(得分:0)
目前,第三方应用的公共SDK未公开ALS。您可以在以下版本的SDK中添加用于访问此传感器的功能请求:http://microsofthealth.uservoice.com/
答案 3 :(得分:0)
Microsoft Band SDK(NuGet包v1.3.11121)现在公开环境光传感器。
if (bandClient.SensorManager.AmbientLight.IsSupported)
{
bandClient.SensorManager.AmbientLight.ReadingChanged += (s, args) =>
{
Debug.WriteLine(bandClient.SensorManager.AmbientLight.Brightness);
};
await bandClient.SensorManager.AmbientLight.StartReadingsAsync();
await Task.Delay(TimeSpan.FromSeconds(5));
await bandClient.SensorManager.AmbientLight.StopReadingsAsync();
}