2016-01-20 73 views
0

我無法弄清楚如何使用藍牙在運行Windows 10的Windows通用應用程序的兩臺設備之間進行通信。我不確定我的研究是否存在問題,但我無法在API上找到任何內容。通過藍牙窗口發送數據10通用應用程序

有人可以通過使用C#快速指導我嗎?

回答

2

您可以參考這個MSDN鏈接:
https://docs.microsoft.com/en-us/windows/uwp/devices-sensors/send-or-receive-files-with-rfcomm

這個例子顯示了客戶端和服務器模式的藍牙通信。

對於設備枚舉和配對,你可以使用這個Windows示例:
https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/DeviceEnumerationAndPairing

此樣品不會在舊的Windows SDK版本(10240)工作。

對於文件傳輸,您必須實現文件中的IrOBEX協議連接,斷開和數據包。

我覺得步驟是這樣的:

  1. 枚舉和對使用Windows樣品。
  2. 打開流套接字。
  3. 實現OBEX協議。

事情是這樣的:

private static byte[] CreateConnectPacketOPP(int maxPacketSize) 
{ 
    int packetSize = 7; 
    byte[] theConnectPacket = new byte[packetSize]; 

    int offset = 0; 
    ConnectPacket[offset++] = 0x80;         // Connect 
    ConnectPacket[offset++] = (byte)((packetSize & 0xFF00) >> 8);  // Packetlength Hi Byte 
    ConnectPacket[offset++] = (byte)(packetSize & 0xFF);    // Packetlength Lo Byte 
    ConnectPacket[offset++] = 0x10;         // Obex v1 
    ConnectPacket[offset++] = 0x00;         // No flags 
    ConnectPacket[offset++] = (byte) ((maxPacketSize & 0xFF00) >> 8); // 2048 byte client max packet size Hi Byte 
    ConnectPacket[offset++] = (byte) (maxPacketSize & 0xFF);   // 2048 byte max packet size Lo Byte  

    return ConnectPacket; 
}