通过蓝牙模块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]);
答案 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" />