Can i call Raspberry matlab commands in simulink

1 次查看(过去 30 天)
Hello,
With the support package for Raspberry Pi come in handy methods to acquire data from the Pi device. So i want to use the putFile, getFile and system methods, that can be used in matlab code in simulink, too. But when i try to instantiate a pi instance in a matlab function in simulink, i get a parsing error.
--------------------------------
The 'matlab.mixin.CustomDisplay' class does not support code generation.
Function 'raspi.m' (#76.3324.7682), line 110, column 9: "function obj = raspi(hostname, username, password, port)"
Launch diagnostic report.
--------------------------------------
I dont see another way than to implement matlab code in simulink, but it wont work. How can i use these methods in simulink?
thanks in advance:)

回答(4 个)

Greg Drayer
Greg Drayer 2018-2-28
编辑:Greg Drayer 2018-2-28
At this time, the answer to the question is that MATLAB Raspberry Pi commands are not compatible for use inside the MATLAB Function block in Simulink. During Normal mode simulation, the APIs are trying to generate the corresponding C code, which is not supported as of today for MATLAB API for Raspberry Pi.
A workaround to this question is to make use of a custom Simulink block based on System Objects as follows:
1) Create a new Simulink System Object script as below:
2) Set the simulation mode to “Interpreted Execution as shown below:
3) Add initialization tasks in “setupImpl” method. Example: Create a raspi object.
4) Add periodic code in “stepImpl” method. Example: Reading the status of GPIO pin using the raspi object created in setup method.
5) Save the script.
6) Create a Simulink block using Simulink Library Browser -> Simulink -> User Defined Functions -> MATLAB System. In the MATLAB System block, point to the created system object.
7) Try running the model in Normal mode Simulation mode.
For additional information about how to create Simulink blocks using system objects, please visit the following documentation page:

Kurt Stewart
Kurt Stewart 2018-5-16
this same issue exists with beaglebone black as there are no blocks that run useful peripherals such as SPI

wilmer sarango
wilmer sarango 2017-12-12
Hello, did you find a solution for this? I also have the same problem, please help!

Abdulkadir Eroglu
Abdulkadir Eroglu 2017-12-12
Well, yes and no...
We found a way around the problem, instead of running a simulink model with matlab code in it, we:
1. started a matlab code to access the pi,
2. handed over the accessed to simulink model, that is started by the m-file
3. did our stuff in simulink
4. handed the signals back to matlab
5. then pushed the "new" data onto the pi.
Maybe it helps you:) and good luck with it. Luckily I found our documentation on the issue, its been too long to remember!

类别

Help CenterFile Exchange 中查找有关 Raspberry Pi Hardware 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by