2013-05-31 143 views
2

我有一个任务是从Windows Phone 8应用程序与Bluetooth应用程序(不是Low Energy -BLE)进行通信,后者是从Surface App进行通信。Windows Phone 8应用程序与蓝牙设备进行通信

我遇到了这个链接http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj207007(v=vs.105).aspx,它提到了蓝牙集成,但它并没有清楚地表明,如果这只适用于BLE设备或不是?

请有人指点我可以用来从蓝牙设备接口(发送和接收)数据的代码示例。 Esp,RFCOMM,如果可能的话

真的很感谢。

+0

如果不能,请有人可以点我这也解释了原因,这是不可能的链接。最糟糕的情况是我可以通过Windows 8桌面应用程序实现吗? –

回答

5

下面的例子说明如何创建一个蓝牙RFCOMM套接字连接到您的应用程序连接到设备:

Windows Phone 8 Networking Samples

基本上,你必须创建与配对的蓝牙设备的套接字连接:

PeerFinder.AlternateIdentities["Bluetooth:PAIRED"] = ""; 
var available_devices = await PeerFinder.FindAllPeersAsync(); 
if (available_devices.Count > 0) 
{    
    PeerInformation pi= // Select the device 
} 
StreamSocket socket = new StreamSocket(); 
await socket.ConnectAsync(pi.HostName, "1"); 

此示例显示在Build 2012会议中。你会发现,这里演示的视频:

Windows Phone 8: Networking, Bluetooth, and NFC Proximity for Developers (Build 2012)

+0

如果我想连接到启用蓝牙的外部设备(而不是BLE),是否可以在Surface RT平板电脑应用上使用相同的PeerFinder类? 还是有不同的RT API与Windows RT 8中的蓝牙设备进行通信? 基本上我需要知道是否有一种独特的方式可以实现a)Windows Phone 8应用程序,b)Surface Pro和c)Surface RT应用程序和d)Windows 8桌面应用程序。如果没有人可以指定哪些适用于a,b,c和d –

+0

我无法从Windows应用商店应用连接到蓝牙设备。虽然它具有相同的“PeerFinder”类,但似乎无法连接到蓝牙设备。至少我还没有做到这一点。对于桌面应用程序,您可以使用'SerialPort'类。在所有平台上都没有独特的方法来实现这一点。但是,您可以将PeerFinder功能包装在名为SerialPort的类中,以便像在桌面应用程序中那样使用它。 – anderZubi

+0

感谢您的信息。您是否知道(或找到了)确认PeerFinder无法用于Windows应用商店应用(Win RT)的链接? –

相关问题