在开发通过Mobile连接蓝牙串口传输GPS数据时遇到的问题记录一下。
一、蓝牙串口的建立
想在mobile平台上通过蓝牙串口发送数据,遇到过一些问题,在此记录一下,由于在mobile上无法像CE上直接通过代码操作蓝牙去查找设备,连接设备,在mobile上需要先在程序外面配对后建立发送端口,然后才能像操作串口那样去连接设备,接收数据。具体方法如下:
在【设置】-->【蓝牙】中添加新设备中搜索到需要连接的设备,下一步,输入密码进行配对,此时并未真正完成蓝牙的配对操作,切换到【COM端口标签页】,新建发送端口,给设备添加一下可用端口,经测试{com0,com5,com8,com9}可用,其它好像不能用,具体情况根据机器有可能不同。此时端口配对操作完成,在应用程序中选择新配置的COM口及波特率与设备进行连接。
二、端口号与设备的对应关系
以上动作完成后会有一个问题:当配对的机器多了之后根本无法知道哪个COM口对应的哪台设备,经过百般查找,后来意识到微软的东西几乎都是存在注册表里的,在设置里能看到对应关系,那么就自然可以将设备名称与端口号对应起来,不用每次都去设置里查看。具体办法如下:
在LOCAL_MACHINE\Software\Microsoft\Bluetooth\Device与LOCAL_MACHINE\Software\Microsoft\Bluetooth\Serial\Ports下存在一些注册表项,经过验证Ports下保存的为新建发送端口的设备,Device下保存的是配对成功但是没有新建发送端口的设备,现在的对应关系是在Ports里找到一个设备新建的端口号,再通过Device下去查找设备名,两者组合起来就完成了对应关系,注意