HC 05 / Arduino连接问题

时间:2019-07-02 20:21:27

标签: c# android xamarin arduino android-bluetooth

通过蓝牙模块Xamarin.Android将数据从Arduino应用发送到HC-05时出现以下异常

read failed, socket might closed or timeout, read ret: -1

我已经阅读了所有已经存在的答案,但是没有一个答案可以解决。

我使用了以下代码。

_adapter = BluetoothAdapter.DefaultAdapter;
            if (_adapter == null)
            {
                return;
            }

            if (!_adapter.IsEnabled)
            {
                const int REQUEST_ENABLE_BT = 2;
                var enableBtIntent = new Intent(BluetoothAdapter.ActionRequestEnable);
            }

            var pairedDevices = _adapter.BondedDevices.ToList();


            if (pairedDevices.Any())
            {
                foreach (BluetoothDevice dev in _adapter.BondedDevices)
                {
                    bonded.Add(dev);
                }

                 bluetoothDevice = _adapter.GetRemoteDevice(bonded[0].Address);


                _adapter.CancelDiscovery();

                btSocket = bluetoothDevice.CreateRfcommSocketToServiceRecord(Java.Util.UUID.FromString("00001101-0000-1000-8000-00805f9b34fb"));

                btSocket.Connect();

                btSocket.OutputStream.WriteByte(messageBytes[0]);

1 个答案:

答案 0 :(得分:0)

套接字问题

当我连接到HC-05时,可以使用我在Android Xamarin中使用的Bluetooth class,在代码的 208行之后阅读。

也可以在我的github存储库中的ArduBotSlave下找到Arduino HC-5代码。这是一个鸡尾酒混合机,Arduino部分,它从Android应用程序Xamarin部分接受订单。

权限问题

您拥有使用蓝牙的所有必需权限吗?某些权限会以静默方式失败并显示为错误。

<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />