监控蓝牙外设命令

时间:2017-02-02 02:25:45

标签: c# bluetooth iot windowsiot

我正在Raspberry Pi 3上开发一个小的Windows IOT应用程序,我购买了这个蓝牙设备:

web api

我希望能够收听蓝牙设备命令并在我的UWP中处理它们。

1 个答案:

答案 0 :(得分:0)

我找到了解决方案,但我无法获得所有功能,尤其是游戏手柄模式。

解决方案是听取输入的设备键:

public MainPage()
        {

            Window.Current.Dispatcher.AcceleratorKeyActivated += Dispatcher_AcceleratorKeyActivated;

            this.InitializeComponent();
        }

        private void Dispatcher_AcceleratorKeyActivated(Windows.UI.Core.CoreDispatcher sender, Windows.UI.Core.AcceleratorKeyEventArgs args)
        {
            var eT = args.EventType;
            if (CoreAcceleratorKeyEventType.KeyUp == eT)
            {
                var key = args.VirtualKey.ToString();
                switch (key)
                {
                    case "Enter" :
                        //Do something
                        break;
                    case "255" :
                        //Do something
                        break;
                    default:
                        break;
                }
            }
        }

我发现分配整数的键很难比较,因为似乎没有为它们注册虚拟键。所以我将虚拟键转换为字符串进行比较。

我发现整数值因设备而异,因此在另一个设置中“255”可能是“175”。我希望它从启动到启动都不会有所不同......

总而言之,这是满足我需求的可接受的解决方案。我觉得好像为设备编写我自己的驱动程序可能是最好的情况,但我没有时间在这个项目中这样做,也没有立即学习p / invoke和HID对象的subtilties。