API ログ ファイルをダウンロードして変換 | MATLAB
- Moku:Lab
- Moku:Go
-
Moku:Pro
Moku:Proに関するよくある質問 Moku:Pro波形発生器 Moku:Proタイム&周波数アナライザ Moku:Proロジックアナライザ/パターンジェネレーター Moku:Proレレーザーロックボックス Moku:Proロックインアンプ Moku:Proスペクトラムアナライザ Moku:Proデータロガー Moku:Pro任意波形発生器 Moku:Proマルチ機器モード Moku:Pro位相計 Moku:Pro FIRフィルタービルダー Moku:Pro PIDコントローラー Moku:Proオシロスコープ Moku:Pro周波数応答アナライザ Moku:Proデジタルフィルターボックス
- Python API
- MATLAB API
- 任意波形発生器
- データロガー
- デジタルフィルターボックス
- FIR フィルタ ビルダー
- 周波数応答アナライザー
- レーザーロックボックス
- ロックインアンプ
- オシロスコープ
- 位相計
- PIDコントローラー
- スペクトラムアナライザー
- 時間と周波数アナライザー
- 波形発生器
- ロジックアナライザ/パターンジェネレーター
- マルチ機器モード
- Mokuクラウドコンパイル
- Mokuに関するよくある質問
- LabVIEW API
.li ファイルをログに記録してダウンロードする
ファイルにログを記録する代わりに、ファイルにストリーミングする (1 つのスクリプト内でログに記録して変換する) には、この記事を参照してください。
API ストリーミングと stream_to_file | MATLAB
まず、ログセッションを開始してファイルをダウンロードします。API の詳細については、API リファレンスをご覧ください。
データロガー | API リファレンスdownload_file MATLAB のデータロガーの例
% moku example: Basic Datalogger
% (c) 2025 Liquid Pty. Ltd.
%% Connect to your Moku
i = MokuDatalogger('192.168.###.###');
try
% Set-up the Datalogger
i.set_acquisition_mode('mode','Precision');
i.set_samplerate(1e3);
i.generate_waveform(1, 'Sine', 'amplitude',1, 'frequency',10e3);
% Start the data logging session
logging_request = i.start_logging('duration',10);
log_file = logging_request.file_name;
location = logging_request.location;
% Set up to display the logging process
progress = i.logging_progress();
while progress.complete < 1
fprintf('%d seconds remaining \n',progress.time_remaining)
pause(1);
progress = i.logging_progress();
end
% Download the log file from the Moku to current directory
i.download_file(location, log_file, log_file);
fprintf('Downloaded log file to local directory. %s\n', log_file)
catch ME
% End the current connection session with your Moku
i.relinquish_ownership();
rethrow(ME)
end
% End the current connection session with your Moku
i.relinquish_ownership();
出力例:
9 seconds remaining
...
0 seconds remaining
File downloaded successfully!
Downloaded log file to local directory. MokuDataLoggerData_20250116_131731.li
Mokuクリ法
mokucli がインストールされていることを確認してください。 ユーティリティページからダウンロードできます。
MATLAB コマンド ウィンドウから、希望するファイル タイプ (csv、npy、mat、または hdf5) に変換できます。この例では、.mat に変換します。
>> ! mokucli convert MokuDataLoggerData_20250116_131731.li --format=mat
[===========================================================================]
Done.
別の方法としては、スクリプト内から mokucli を呼び出すことです。このユースケースでは、 streaming
とstream_to_file
が理想的です。次の記事を参照してください。
API ストリーミングと stream_to_file | MATLAB
スクリプト内から mokucli を呼び出すのはベストプラクティスではありませんが、オプションとして利用できます。
command = ['mokucli convert --format=mat ' log_file];
system(command,'-echo');
file_name = [log_file(1:end-2), 'mat'];
LIファイルコンバーター方式
あるいは、LIファイルコンバータGUIを使用してファイルを変換することもできます。これはMoku :アプリからアクセスするか、 ユーティリティページからダウンロードできます。

ファイルの種類を選択して、ファイルをコンバーターにドラッグアンドドロップするか、「ファイル | ファイルを開く」または「Ctrl/Cmd + O」を使用してコンバーターからファイルを開くことができます。

ファイルからデータを読み込む
その後、変換されたファイルを使用してデータを読み込んで分析し、実験に合わせてfile_name
およびchannels
パラメータを調整できます。
file_name = 'MokuDataLoggerData_20250116_131731.mat';
channels = 2;
disp(file_name);
if ~isfile(file_name)
error('Convert failed, no file received');
end
data = struct('time', [], 'ch1', []);
file = load(file_name);
data.time = file.moku.data(:, 1);
for i = 1:channels
data.(['ch', num2str(i)]) = file.moku.data(:, i+1);
end
keys = fieldnames(data);
for k = 1:numel(keys)
key = keys{k};
disp([key, ': ', mat2str(data.(key)(1:3)), ' ... [', num2str(data.(key)(end)), ']']);
end
fig = figure('Position', [100, 100, 1000, 300]);
hold on;
for i = 1:channels
plot(data.time, data.(['ch', num2str(i)]), 'DisplayName', ['Channel ', num2str(i)]);
end
title('Logged Data');
grid on;
xlabel('Time (s)');
ylabel('Voltage (V)');
legend show;
hold off;
出力例:
MokuDataLoggerData_20250116_131731.mat
time: [0;0.001;0.002] ... [9.999]
ch1: [0.00137754767956721;0.00140193458810245;0.00135472403439962] ... [0.0011665]
ch2: [0.0156492042681293;0.0155779194585648;0.0155710410997472] ... [0.015813]
