Tag: 蓝牙

Android蓝牙错误133

我正在尝试连接到Android上的蓝牙设备。 我在onClientConnectionState处理程序中收到状态133。 我并不总是得到这个错误 – 有时连接很好。 我无法指出触发问题的原因。 重新启动设备和我的repro应用程序后,我甚至立即拥有它。 我知道几个问题,并建议解决这个问题,包括(从这里 , 这里 , 这里 ): 将UI线程用于所有BT API 务必在完成后关闭关贸总协定 但我正在做这一切。 更重要的是,我的设备是一个Nexus 5(运行Lollipop),根据一些人甚至不需要BT交互在UI线程上。 我把最简单的复制品放在了一起。 它在C#中,但Java等价物应该是显而易见的: [Activity(Label = “BluetoothGatt133ErrorRepro”, MainLauncher = true, Icon = “@drawable/icon”)] public class MainActivity : Activity { protected override void OnCreate(Android.OS.Bundle bundle) { base.OnCreate(bundle); SetContentView(Resource.Layout.Main); var button = FindViewById(Resource.Id.button); button.Click += this.OnClick; } private async void […]

试图从极地H10 获得心率变异性

我正在使用Polar H10来获得心率变异性。 我正在运行Microsoft的蓝牙低功耗样本 。 我用这个样本从另一个极地设备(极地OH1)获得心率,它工作正常。 但现在我想从Polar H10获得HRV。 但是BLE样本代码并没有真正向我展示它应该像心率这样的HRV特征。 这是我看到的唯一特征: // first layer keys are serviceUuid’s // second layer keys are characteristicUuid’s // with their respective name/description as values { “1800” /* Generic Access */ : { “2a00”: “Device Name”, “2a01”: “Appearance”, “2a02”: “Peripheral Privacy Flag”, “2a03”: “Reconnection Address”, “2a04”: “Peripheral Preferred Connection Parameters” }, “1801” […]

C#32feet.Net:在单独的线程中处理两个蓝牙连接,给出SocketException

我正在使用32feet.Net库编写C#控制台应用程序,该库创建两个线程来搜索并连接到不同的蓝牙设备,然后打开TCP套接字,以便可以通过网络连接将数据传递给设备。 我知道这种情况听起来很奇怪,但我被一位资深同事要求这样做。 我的代码似乎只在连接了一个设备时工作正常,尽管在向后和向前传递几条消息后,蓝牙连接有时会丢失。 但是,有时一旦第二个设备连接,我就会收到一个错误,说System.net.sockets.socketexception a connection attempt failed because the connected party did not properly respond ,有时代码只是退出而没有抛出任何exception。 我想知道造成这种情况的原因,我已经看到32feet.Net库可以支持多个连接。 我想知道我是否犯了一些错误,因为我是C# .Net ,甚至是Windows的新手,以前从未编写任何基于蓝牙的代码。 Program.cs中: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; namespace BluetoothManager { class Program { static void Main(string[] args) { BTManager rover_btm = new BTManager(); BTManager base_btm = new BTManager(); base_btm.Port = […]

在Windows 8 / 8.1商店应用中搜索并连接蓝牙设备?

我需要使用Windows商店应用搜索并连接到蓝牙设备。 我正在使用XAML / C#和Windows 8.1。 该设备支持RFCOMM。 到目前为止我做了什么: 如果我将设备与我的系统配对,然后使用搜索设备 var devicesInfoCollection = await DeviceInformation.FindAllAsync(); 我得到了蓝牙设备,但有一种方法可以在设备尚未配对时找到它。 谢谢

发现Xamarin.Android中的蓝牙设备列表

在多个论坛和网站告诉我们如何发现蓝牙设备(配对或未配对)之后,我写下了这段代码。 class MainActivity: Activity { BluetoothAdapter btAdapter; static ArrayAdapter newDevicesArrayAdapter; public static List mDeviceList = new List(); DeviceDiscoveredReceiver receiver; protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); receiver = new DeviceDiscoveredReceiver(this); IntentFilter filter = new IntentFilter(BluetoothDevice.ActionFound); RegisterReceiver(receiver, filter); btAdapter = BluetoothAdapter.DefaultAdapter; } class DeviceDiscoveredReceiver : BroadcastReceiver { Activity mainActivity; public DeviceDiscoveredReceiver(Activity activity) { this.mainActivity = activity; […]

蓝牙在2台Windows 7计算机上使用C#进行配对而不进行配对

我已经读过,在通过蓝牙进行通信之前必须进行配对,但我想知道, 我是否可以创建一个应用程序来读取由另一个蓝牙应用程序广播但未配对的文本。 因为我们可以看到设备周围其他蓝牙设备的名称。 因此,我们不能将我们的蓝牙无线电设置为可以读取任何蓝牙播放文本消息的状态。 示例:android中有createInsecureRfcommSocketToServiceRecord() & listenUsingInsecureRfcommWithServiceRecord()但是在C#中没有这样的窗口吗? 谢谢 我的终极目标 🙂 正在创建一个在Windows 7 PC上运行的应用程序,它可以创建即时蓝牙网络,用于对等文件传输和聊天 脚本 有一群人,每个人在每台计算机上都有这个应用程序,其中一个人希望与其他人分享文件(可能是电子书,PDF或任何东西)。 他在他的应用程序配置中设置了他的网络“net”(或任何其他名称),而其他人也在每个应用程序上添加了相同的名称。 最后,每个用户都可以在他们的应用程序显示中看到他们周围的其他蓝牙节点的列表,配置为相同的网络名称“net”。 所以每个人都可以将文件发送到同一网络中的选定节点。 设计 每个用户只 打开蓝牙无线电 ,然后在应用程序中输入所需的网络名称 PC上的每个应用程序将通过临时创建的连接( 无需配对或用户参与 )迭代地与可访问的蓝牙设备通信,检查其网络名称并列出具有类似网络名称的可发现PC 然后他们将彼此共享这些列表,因此一台PC知道同一网络中的计算机,即使它们不在范围内。 通过算法解析的路径将文件从一台计算机发送到一台或多台计算机,甚至发送聊天文本。 所有这一切都将通过在每个应用程序之间建立的简单临时蓝牙连接来实现,除了网络名称之外不需要配对或认证。 (因为我不知道如何使用C#创建Piconets,或者如何创建蓝牙路由协议。 没有实施其他安全措施。 请让我知道任何其他更好的设计或方式。 非常感谢你阅读冗长的文字。 还包括任何有用的代码,可以帮助我实现上述目标。

蓝牙拨号32feet.net和c#

我正在尝试为某人提供一个“点击拨号”解决方案,如蓝牙设备,如手机。 我一直试图使用32feet.net bluetooth api这样做。 我没有真正用蓝牙做任何事情(因为通过蓝牙串口发出命令的日子)但我已经配对有问题的设备,它支持pc的免提服务。 我有以下代码尝试连接并发送拨号命令。 String deviceAddr = “11:11:11:11:11:11”; BluetoothAddress addr = BluetoothAddress.Parse(deviceAddr); BluetoothEndPoint rep = new BluetoothEndPoint(addr, BluetoothService.Handsfree); BluetoothClient cli = new BluetoothClient(); cli.Connect(rep); Stream peerStream = cli.GetStream(); String dialCmd = “ATD 0000000000\r\n”; Byte[] dcB = System.Text.Encoding.ASCII.GetBytes(dialCmd); peerStream.Write(dcB, 0, dcB.Length); // Begin Edit ———————————————————— Byte[] sResponse = new Byte[100]; peerStream.Read(sResponse, 0, 99); TextBox1.Text […]