Raspberry Pi uses TCPIP communication
古いコメントを表示
Hi
I'm working on deploy my code to raspberry pi to control the temperature in house.But it always remind me:
Error calling 'networklibcoder.tcpclient.write'. This call-site passes more inputs to this function than it can accept.
I don't know how to write the code that can be deployed to Raspberry Pi,here is my code.Can you give me some advice?
T = tcpclient('IP for PC',5900);
Troom = read(T,1,"double");
t = 1:86400;
for k = 1:4
tout = (8*sin(2*pi/(12 * 3600)*t(k:k+3))+12)';
end
g = 41;
optimal = [];
for i = 1:g
all = coder.load('soldata.mat');
data = struct2cell(all);
H = data{1}{i}.H;
K = data{1}{i}.K;
Fi = data{1}{i}.Fi;
Gi = data{1}{i}.Gi;
if H*[Troom;tout] <= K
optimal(i) = Fi * [Troom;tout] + Gi;
else
optimal(i) = 1;
end
end
S_pre = min(optimal);
out = S_pre;
t = tcpclient("IP for PC", 18734);
write(t, out, "double");
Many thanks,
Bang
6 件のコメント
Walter Roberson
2023 年 11 月 10 日
t = 1:86400;
%...
t = tcpclient("IP for PC", 18734);
When you are designing code for deployment, you should avoid using the same variable for two different types, as it might not be able to do proper type analysis.
Your out appears to already be type double, so you can probably omit the "double" option
all = coder.load('soldata.mat');
data = struct2cell(all);
Why are you doing that inside a loop? You are not changing the file during the loop.
靖邦
2023 年 11 月 10 日
Walter Roberson
2023 年 11 月 10 日
The function
write(t, out);
would mean the same thing.
Walter Roberson
2023 年 11 月 10 日
Is the file soldata.mat being changed while the code is executing?
靖邦
2023 年 11 月 10 日
靖邦
2023 年 11 月 10 日
回答 (0 件)
カテゴリ
ヘルプ センター および File Exchange で MATLAB Support Package for Raspberry Pi Hardware についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!