MATLAB Answers

0

Bluetooth Communication over MatLab

Asked by Chris Morman on 3 Apr 2012
Latest activity Commented on by Vinod
on 14 Dec 2017
I'm trying to send a simple binary file to a paired bluetooth device, but having a lot of difficulty. I'm using 2012a, so the bluetooth support is available.
Following is a sample of my setup to ensure that I am paired with the device.
>> instrhwinfo('bluetooth')
ans =
RemoteNames: {6x1 cell}
RemoteIDs: {6x1 cell}
BluecoveVersion: 'BlueCove-2.1.1-SNAPSHOT'
JarFileVersion: 'Version 3.0.0'
>> ans.RemoteNames
ans =
'FRANK'
'WENDY-VAIO'
'FRANK-PC'
'DESALLAR-WS'
'HOMEPC'
'CHRIS-PC'
>> bt = Bluetooth('FRANK')
Bluetooth Object : Bluetooth-FRANK:0
Communication Settings
RemoteName: FRANK
RemoteID: 002243F270C7
Channel: 0
Terminator: 'LF'
Communication State
Status: closed
RecordStatus: off
Read/Write State
TransferStatus: idle
BytesAvailable: 0
ValuesReceived: 0
ValuesSent: 0
At this point I need to change the Communication state to open so I can use the fwrite command. This is where I have a problem.
I use the fopen command to establish the connection, but get the following error.
fopen(bt)
Error using icinterface/fopen (line 83)
Unsuccessful open: Cannot connect to the
device. Possible reasons are another
application is connected
or the device is not available.
Where do I go from here?
I've read that others have set up a COMM port, but I am of the understanding that this is not needed with 2012a. Is that right?
I know next to nothing about bluetooth connectivity and/or communication. So any information is greatly appreciated.
Thanks

  0 Comments

Sign in to comment.

2 Answers

Answer by Ankit Desai on 5 Apr 2012
 Accepted Answer

Hi Chris,
You might want to consider a couple of things:
  1. Make sure that the device is paired prior to accessing it in MATLAB
  2. The line where you create bt is incorrect
You need to pass the channel ID as the second parameter to Bluetooth.
To find out the correct channel ID, use the following function:
btInfo = instrhwinfo('Bluetooth','FRANK')
That should give you the object constructor, including the channel ID required.
Hope that helps.
-Ankit

  8 Comments

This may have to do with the device going into a power save mode and not being discoverable. Try power cycling your device and then executing
>>instrhwinfo bluetooth myDevice.
Edit: My theory is confirmed by this post:
http://forums.adafruit.com/viewtopic.php?f=10&t=56275
Please see page (2) where the adafruit engineers confirm an issue with a discoverability timeout.
You may be able to work around the issue by restarting the module and immediately searching for the device from MATLAB. You may be able to stay connected to the device despite the discoverability timeout.
hello,The bluetooth device is transmitting data, and matble can't find it. instrhwinfo('Bluetooth')
ans =
HardwareInfo (具有属性):
RemoteNames: []
RemoteIDs: []
BluecoveVersion: 'BlueCove-2.1.1-SNAPSHOT'
JarFileVersion: 'Version 3.9'
What Operating System are you using? What is the version of MATLAB you are using?

Sign in to comment.


Answer by siddesh pawar on 9 Sep 2016

Communication State
Status: closed
RecordStatus: off
HOW TO SET IT ON.., I.E how to transmit the data 1

  0 Comments

Sign in to comment.