使用Xamarin创建Android蓝牙终端连接到HC-06模块

时间:2014-08-10 16:04:30

标签: android bluetooth terminal xamarin

我正在尝试构建一个非常简单的应用程序,它允许我与Android的HC-06芯片(简单的UART接口)进行通信,非常类似于BlueTerm或当前在Play商店中类似的东西。 Xamarin给出的标准蓝牙示例可以正常工作但不连接到蓝牙模块(简单地说无法连接到设备)。如果有人知道为什么会这样做和/或如何解决它,那将非常感激。

2 个答案:

答案 0 :(得分:1)

HC05同时适用于masterslave模式。 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
这非常简单。 只需连接到您的设备并发送数据即可。 收到的数据也会显示出来。