我正在尝试实现一个Android应用程序来接收来自医疗设备的数据,但是我无法通过发现过程获得电话和设备之间的配对或连接。
描述医疗设备的:,该设备使用服务发现协议()和串口配置文件(SPP)。它开始一个查询过程,以发现(最多10个)周围的接入点与匹配的COD过滤器和服务名称。然后,通过检查PIN,依次与接入点建立连接(使用Page过程)。一旦PIN被匹配,数据就被上传。在上传数据时,设备等待确认。装饰是主人,并发起沟通。
我控制不了医疗器械。我所能做的就是启动它,等待上面描述的过程(在测量之后)。
,安卓应用程序:,我从开发人员页面上的蓝牙聊天示例开始。到目前为止,我已经用00001101-0000-1000-8000-00805f9b34fb替换了UUID,以使用SPP,并将服务名称设置为适当的名称。通过计算机对服务的检查,我可以确认这似乎是正确的。由于医疗设备是查询和启动通信的设备,所以我的服务是使用BluetoothServerSocket和accept()方法开始监听它。
我已经读过,PIN通常是由系统生成的,用户确认是唯一需要的东西。我想不是在我的系统里,因为这个设备有点老了。
如果你愿意分享一些知识,提示,猜测与我上面所描述的任何相关的东西,我将是伟大的!
预先谢谢你,弗雷德里克
编辑:
现在我已经把这个设备和一个bluegiga盒子配在一起,它们的通讯正常。现在我在寻找血压装置连接到我手机的标准。我可以通过Linux计算机(终端中的sdptool search SP)检查bluegiga提供的蓝牙服务,并将其与我在Android上提供的蓝牙服务进行比较。这些值是我得到的:
~$ sdptool搜索SP 询问..。 在8C:71:F8:E5:XX:XX上搜索SP。。。 服务名称: 1808130054 服务RecHandle: 0x10003 服务类别ID列表: UUID 128: 00001101-0000-1000-8000-00805f9b34fb 协议描述符列表: "L2CAP“(0x0100) "RFCOMM“(0x0003) 频道: 13 “ 00:07:80:88:XX:XX .。。 服务名称: 1808130054 服务描述: 1808130054 服务RecHandle: 0x10005 服务类别ID列表: “串行口”(0x1101) 协议描述符列表: "L2CAP“(0x0100) "RFCOMM“(0x0003) 频道: 12 语言基础Attr列表: code_ISO639: 0x656e 编号: 0x6a base_offset: 0x100
发现的第一个设备是电话(mac=8C:71...Google Nexus )和第二个设备(mac=00:07.是蓝发怪。我注意到Android设备上没有服务描述。我认为最重要的区别是在服务类ID列表中。在Android上UUID 128,但在bluegiga上描述这一点的格式完全不同。
/Fredrik
发布于 2011-03-11 18:23:13
如果你能提供到医疗设备的名称/链接(如果它是一个商业设备),它可能有助于阅读它的指南来猜测更多可能发生的事情。以下是一些建议:
https://stackoverflow.com/questions/5263144
复制相似问题