Connection of BLE device with Simulink

12 views (last 30 days)
Lucas Speck
Lucas Speck on 22 Jun 2020
Hello everyone,
I have already connected my BLE device with Matlab. I can read the heart rate. My problem ist, that I want to use the heart rate in desktop real time sumulation. How can I import this data in Simulink?
Thank you for your help.
Lucas

Answers (1)

Stefanie Schwarz
Stefanie Schwarz on 2 Jul 2020
Hi Lucas,
as far as I am aware, there is currently no Simulink block that can directly read from a BLE device using the host PC interface.
What you can do instead is use a MATLAB Function Block that leverages the ble() MATLAB function. The code would be along the lines of:
functiony = fcn ()
persistentb;%automatically initialized to []
persistenthr;%automatically initialized to []
%% extrinsic declarations
coder.extrinsic('ble');
coder.extrinsic('characteristic');
coder.extrinsic('read');
if(isempty(b))
b = ble("UA E39 MODULE");
hr =字符acteristic(b,"heart rate","heart rate measurement");
end
%% initialize output
y = zeros(...)
%% read data from BLE device
data =阅读(人力资源);
%% 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. Because of this, I am afraid you will not be able to run your model in a Simulink Desktop Real-Time (SLDRT) external mode simulation. However, you can run a SLDRT normal mode simulation which is a little different. To learn more about the differences between the two SLDRT simulation modes, see the following article:
Another option if you are only looking for a simulation running at an approximation of the wall clock time would be Simulation Pacing:

Tags

下载188bet金宝搏

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

开始狩猎!