Raspberry Pi 运行 Win10 IoT可以同时使用Wifi和蓝牙通信吗?

Can Raspberry Pi running Win10 IoT uses both Wifi and Bluetooth communication at the same time?

我还是编程的初学者。我遇到了一些问题,pi 无法同时使用 wifi 和蓝牙。这是因为最初没有蓝牙元素的代码可以正常工作。但是当我将蓝牙代码添加到程序中时,它变得很奇怪。它无法通过 Wifi 从 Firebase 检索任何数据。是真的不能同时协同工作还是代码有问题。是因为 socketstream 是这样的吗?非常感谢您的帮助。

Link 代码太长了。

我已经用你的代码测试过了。该应用程序将获得异常 "Access is denied. ",这将导致应用程序崩溃。所以需要在函数DeviceWatcher_Added中加入try catch,保证当蓝牙连接不上时app不会dump。

    private async void DeviceWatcher_Added(DeviceWatcher sender, DeviceInformation args)
    {
        try
        {
            var device = await BluetoothDevice.FromIdAsync(args.Id);

            var services = await device.GetRfcommServicesAsync();
            if (services.Services.Count > 0)
            {
                var service = services.Services[0];

                stream = new StreamSocket();
                await stream.ConnectAsync(service.ConnectionHostName, service.ConnectionServiceName);

                rx = new DataReader(stream.InputStream);
                tx = new DataWriter(stream.OutputStream);

                await this.Dispatcher.RunAsync(
                    Windows.UI.Core.CoreDispatcherPriority.Normal,
                    () => { Device_9.IsEnabled = true; });

                deviceWatcher.Stop();
            }
        }
        catch(Exception ex)
        {
            System.Diagnostics.Debug.WriteLine(ex.Message);
        }
    }

顺便说一句,你可以参考我第一条评论中提到的示例,它显示了如何连接 RfcommService 与蓝牙通信。请注意,在示例中,服务器通过 guid 创建 RfcommServiceProvider,客户端通过此 guid 作为 uuid 使用 RfcommService 连接服务器。

        var rfcommServices = await bluetoothDevice.GetRfcommServicesForIdAsync(
            RfcommServiceId.FromUuid(Constants.RfcommChatServiceUuid), BluetoothCacheMode.Uncached);