我正在尝试构建一个非常简单的应用程序,它允许我与Android的HC-06芯片(简单的UART接口)进行通信,非常类似于BlueTerm或当前在Play商店中类似的东西。 Xamarin给出的标准蓝牙示例可以正常工作但不连接到蓝牙模块(简单地说无法连接到设备)。如果有人知道为什么会这样做和/或如何解决它,那将非常感激。
答案 0 :(得分:1)
HC05
同时适用于master
和slave
模式。 HC05
默认在从机模式下,如hc06。
3年前我在Xamarin博客中找到了这个链接:https://blog.xamarin.com/hello-mr-bond_agent_watch/
这个页面关于使用微控制器创建的某种智能手表,但你可以下载一个名为NetduinoBT_AgentProto的android项目,它完全包含你需要连接到蓝牙SPP(串口配置文件)的所有东西。
将App.cs
课程添加到您的项目中。
和此权限:
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
获取设备清单和名称:
var list = App.Current.BondedBluetoothDeviceNames;
var name = App.Current.BondedBluetoothDeviceNames[yourIndex];`
用于连接设备: bool connected = App.Current.ConnectToBluetoothDevice(name,out message);
您可以建立&#39; MessageReceived&#39;获取设备响应的事件:
string mYourResult;
...
protected override void OnCreate (Bundle bundle)
{
...
App.Current.MessageReceived += (object sender, App.MessageReceivedEventArgs e) => {
RunOnUiThread( () => {
mYourResult = e.MessageString;
});
};
...
}
发送字符串:
App.Current.SendStringToBluetoothDevice("Your String");
根据我在某些基于Linux核心的系统中的经验,你需要在你的string的末尾添加下一行。例如:&#34; \ r \ n&#34;或&#34; \ n&#34;或&#34; \ r&#34;或Environment.NewLine
答案 1 :(得分:0)
这是我用于测试HC-05和HC-06模块的应用程序。
BluetoothTerminal
这非常简单。
只需连接到您的设备并发送数据即可。
收到的数据也会显示出来。