MATLAB Answers

How can I communicate with a BLE device in Simulink?

2 views (last 30 days)
I would like to communicate with a BLE (Bluetooth low energy) device in Simulink. However, I found no BLE blocks in the Simulink library. Is this supported?

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 8 Jul 2020 at 4:00
There is currently no Simulink block that can directly read from a BLE device using the host PC interface. An enhancement request to add BLE Read/Write blocks to Simulink has been submitted to our development team.
As a workaround, you can add a MATLAB Function Block in your model that leverages the ble() function from MATLAB, which has been available since R2019b:
The code inside the MATLAB Function Block would be along the lines of:
function y = fcn()
persistent b; %automatically initialized to []
persistent hr; %automatically initialized to []
%%extrinsic declarations
coder.extrinsic('ble');
coder.extrinsic('characteristic');
coder.extrinsic('read');
if(isempty(b))
b = ble("UA E39 MODULE");
hr = characteristic(b, "heart rate", "heart rate measurement");
end
%%initialize output
y = zeros(...)
%%read data from BLE device
data = read(hr);
%%post-process the data
y = ...
end
Note that the 'ble'-related functions do not support code generation and therefore need to be declared as extrinsic.

  0 Comments

Sign in to comment.

More Answers (0)

Tags

No tags entered yet.

Products


Release

R2020a

Translated by