MATLAB的蓝牙通信接口无法连接问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u014527548/article/details/88015358

按照指导的要求,在命令行输入:

instrhwinfo('Bluetooth')

则会出现蓝牙的搜索结果:

ans = 
        RemoteNames: {14x1 cell}
          RemoteIDs: {14x1 cell}
    BluecoveVersion: 'BlueCove-2.1.1-SNAPSHOT'
     JarFileVersion: 'Version 3.5'

接着按照要求输入:

 instrhwinfo('Bluetooth', 'RemoteName')

这里的RemoteName是上一步ans中RemoteNames中的一个设备名称字符串。

但是返回却是空:

ans = 
               RemoteName: []
                 RemoteID: []
    ObjectConstructorName: []
                 Channels: []

这个问题一直没解决,想着算了都是搜索蓝牙,那我就不搜索指定蓝牙了(个人理解:加了设备名称搜索相当于指定搜索)。

下一步便是建立Bluetooth的对象了,根据指导:

 b = Bluetooth('Honor8',3)

这里的“Honor8”是我的蓝牙设备名称,3这里是按照指导给出的蓝牙通道。由于我们在指定名称搜索步骤里没有得到正确的返回值,所有这里的通道其实是未知的(指定搜索中有返回时会显示具体哪个通道)。

如果下一步不能正常打开,可以试试0,1,3等通道,直到正确打开。

打开使用fopen函数:

fopen(b)

如果能正常打开,看工作区里的b对象,点开可以看到状态属性变成了“open”。

扫描二维码关注公众号,回复: 5352943 查看本文章

关于通道这里,我尝试了0,1,13,均不能有效打开,只有通道设为3时才会打开。错误时会有下面提示:

b = Bluetooth('Honor8',1)
fopen(b)


错误使用 icinterface/fopen (line 83)
Unsuccessful open: Cannot connect to the device. Possible reasons are another application is connected
or the device is not available. 

所以说,如果出现上述错误时,不妨试试修改蓝牙的通道。

至于在指定设备名称查找时无返回值的问题,目前尚未找到解决办法。因为指定查找打开设备会返回当前的通道,我们就不用挨个试了,若大家有解决办法,还希望不吝赐教,互相学习。

猜你喜欢

转载自blog.csdn.net/u014527548/article/details/88015358
今日推荐