bluetooth - Windows UWA (IoT) 蓝牙 RfcommService

标签 bluetooth win-universal-app iot

我正在尝试在两个 Windows 10 设备之间建立通信:

  • Raspberry PI 2 B + 蓝牙适配器
  • Surface pro

  • 树莓派服务器:
    private readonly Guid _rfcommChatServiceUuid = Guid.Parse("34B1CF4D-1069-4AD6-89B6-E161D79BE4D8");
    
    private async void CreateServer()
        {
            _provider = await RfcommServiceProvider.CreateAsync(RfcommServiceId.FromUuid(_rfcommChatServiceUuid));
            _listener = new StreamSocketListener();
    
            _listener.ConnectionReceived += OnConnectionReceived;
            await _listener.BindServiceNameAsync(_provider.ServiceId.AsString(),SocketProtectionLevel.BluetoothEncryptionAllowNullAuthentication);
    
            InitializeServiceSdpAttributes(_provider);
            _provider.StartAdvertising(_listener);
        }
    
        const uint SERVICE_VERSION_ATTRIBUTE_ID = 0x0300;
        const byte SERVICE_VERSION_ATTRIBUTE_TYPE = 0x0A;   // UINT32
        const uint SERVICE_VERSION = 200;
        void InitializeServiceSdpAttributes(RfcommServiceProvider provider)
        {
            var writer = new DataWriter();
            writer.WriteByte(SERVICE_VERSION_ATTRIBUTE_TYPE);
            writer.WriteUInt32(SERVICE_VERSION);
            var data = writer.DetachBuffer();
            provider.SdpRawAttributes.Add(SERVICE_VERSION_ATTRIBUTE_ID, data);
        }
    
     async void OnConnectionReceived(
    StreamSocketListener listener,
    StreamSocketListenerConnectionReceivedEventArgs args)
        {
    
            _provider.StopAdvertising();
            _listener.Dispose();
            _listener = null;
            _socket = args.Socket;
    

    表面的客户:
       var services = await DeviceInformation.FindAllAsync(
                  RfcommDeviceService.GetDeviceSelector(RfcommServiceId.FromUuid(_rfcommChatServiceUuid)));
    

    服务集合为空。

    这有什么问题?

    谢谢

    最佳答案

    我认为值得尝试在客户端对地址进行硬编码。有一个sample C code服务器和客户端的 RFCOMM 连接。

    适用于 Windows(通用)的蓝牙 RFCOMM 聊天示例是 here .

    关于bluetooth - Windows UWA (IoT) 蓝牙 RfcommService,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36821371/

    相关文章:

    Android 蓝牙 .connect() 异常 Nexus 7 OBDII 适配器

    c# - 使用 DX Compositor 的 UWP App 实时模糊背景

    c# - Windows.Web.Http.HttpClient 问题连接到具有不同客户端证书的同一服务器

    android - 蓝牙抽象设备 ping

    ios - 如何在 ios swift 中获取可用蓝牙设备的名称列表?

    java - 在 Raspberry Pi 上使用 Android Things 配置扬声器 PHat

    ios - AWS IOT 连接在 IPAD OS v12.1.1 上关闭

    Contiki 时间戳值为 int

    java - 处理流数据、更新 GUI、使用线程,并且不错过任何一个节拍?

    c# - RESTful 调用在 Windows 8.1 移动应用程序 (VS 2013) 中不起作用,但在其他情况下起作用