Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

bluetooth インターフェイスへのコードの遷移

新しい MATLAB® 関数とプロパティのセットにより、Bluetooth® デバイスとの通信がサポートされています。関数 Bluetooth、そのオブジェクト関数、およびそのプロパティは削除されます。代わりに bluetooth (大文字小文字を区別) インターフェイスを使用してください。

Bluetooth インターフェイスbluetooth インターフェイス
instrhwinfobluetoothlistBluetooth デバイスの検出
Bluetooth および fopenbluetoothBluetooth デバイスへの接続
fwrite および freadwrite および read読み取りと書き込み
fprintfwritelineコマンドの送信
データの書き込みと読み戻し
fscanffgetl、および fgetsreadline終端文字列の読み取り
データの書き込みと読み戻し
文字列データの読み取りと解析
flushinput および flushoutputflushメモリからのデータのフラッシュ
TerminatorconfigureTerminator終端子の設定
BytesAvailableFcnCountBytesAvailableFcnModeBytesAvailableFcn、および BytesAvailableconfigureCallbackコールバック関数のセットアップ
Bluetooth プロパティbluetooth プロパティ 

Bluetooth デバイスの検出

この例では、推奨される機能を使用して Bluetooth デバイスを検出する方法を示します。

機能代替方法
instrhwinfo('Bluetooth')
bluetoothlist

詳細については、bluetoothlist を参照してください。

Bluetooth デバイスへの接続

以下の例では、推奨される機能を使用して Bluetooth デバイスに接続する方法と、切断する方法を説明します。

機能代替方法
b = Bluetooth('NXT',3)
fopen(b)
b = bluetooth("NXT",3)
fclose(b)
delete(b)
clear b
clear b

詳細については、bluetooth を参照してください。

読み取りと書き込み

以下の例では、ループバック デバイスを使用して、推奨される機能を使ったバイナリの書き込みと読み取り、終端処理のない文字列データの書き込み、および固定長の文字列データの読み取りを実行する方法を説明します。

機能代替方法
% b is a Bluetooth object
fwrite(b,1:5)
data = fread(b,5)
data =

     1
     2
     3
     4
     5
% b is a bluetooth object
write(b,1:5)
data = read(b,5)
data =

     1     2     3     4     5
% b is a Bluetooth object
command = "start";
fwrite(b,command,"char")
% b is a bluetooth object
command = "start";
write(b,command,"char")
% b is a bluetooth object
command = "start";
write(b,command,"string")
% b is a Bluetooth object
length = 5;
data = fread(b,length,"char")
resp =

   104
   101
   108
   108
   111
data = char(data)'
resp =

    'hello'
% b is a bluetooth object
length = 5;
data = read(b,length,"string")
data =

    "hello"

詳細については、write または read を参照してください。

終端文字列の読み取り

以下の例では、推奨される機能を使用して、終端文字列の読み取りを実行する方法を説明します。

機能代替方法
% b is a Bluetooth object
data = fscanf(b,"%e")
data =

    11.9000

書式指定子 "%e" に対し fscanf は終端子を返し、ユーザーはそれを文字列から削除しなければなりません。

% b is a bluetooth object
data = readline(b)
data = 

    "11.9"
data = sscanf(data,"%e")
data =

    11.9000
% b is a Bluetooth object
data = fgetl(b)
data =

    'hello'

fgetl は指定の終端子に至るまで読み取り、その後終端子を破棄します。

% b is a bluetooth object
data = readline(b)
data = 

    "hello"

readline は指定の終端子に至るまで読み取り、その後終端子を破棄します。終端子を含めるオプションはありません。

% b is a Bluetooth object
data = fgets(b)
data =

    'hello
     '

fgets は指定の終端子に至るまで読み取り、その後終端子を返します。

詳細については、readline を参照してください。

コマンドの送信

この例では、推奨される機能を使用して、終端文字列データを書き込む方法を説明します。

機能代替方法
% b is a Bluetooth object
b.Terminator = "CR/LF"
channel = 1;
fprintf(b,"id is %d",channel);
% b is a bluetooth object
configureTerminator(b,"CR/LF")
channel = 1;
str = sprintf("id is %d",channel);
writeline(b,str)

writeline は自動的に書き込み終端子を追加します。

詳細については、configureTerminator または writeline を参照してください。

データの書き込みと読み戻し

この例では、推奨される機能を使用して、テキストを書き込み、データを読み戻す方法を説明します。

機能代替方法
% b is a Bluetooth object
data = query(b,'ctrlcmd')
data =

    'success'
% b is a bluetooth object
writeline(b,"ctrlcmd")
data = readline(b)
data = 

    "success"

詳細については、writeline または readline を参照してください。

文字列データの読み取りと解析

この例では、推奨される機能を使用して、文字列データを読み取り、解析する方法を説明します。

機能代替方法
% b is a Bluetooth object
data = scanstr(b,';')
data =

  3×1 cell array

    {'a'}
    {'b'}
    {'c'}
% b is a bluetooth object
data = readline(b)
data = 

    "a;b;c"
data = strsplit(data,";")
data = 

  1×3 string array

    "a"    "b"    "c"

詳細については、readline を参照してください。

メモリからのデータのフラッシュ

この例では、推奨される機能を使用して、バッファーからデータをフラッシュする方法を説明します。

機能代替方法
% b is a Bluetooth object
flushinput(b)
% b is a bluetooth object
flush(b,"input")
% b is a Bluetooth object
flushoutput(b)
% b is a bluetooth object
flush(b,"output")
% b is a Bluetooth object
flushinput(b)
flushoutput(b)
% b is a bluetooth object
flush(b)

詳細については、flush を参照してください。

終端子の設定

この例では、推奨される機能を使用して終端子を設定する方法を説明します。

機能代替方法
% b is a Bluetooth object
b.Terminator = "CR/LF";
% b is a bluetooth object
configureTerminator(b,"CR/LF")
% b is a Bluetooth object
b.Terminator = {"CR/LF" [10]};
% b is a bluetooth object
configureTerminator(b,"CR/LF",10)

詳細については、configureTerminator を参照してください。

コールバック関数のセットアップ

この例ではループバック デバイスを使用し、推奨される機能を使ってコールバック関数をセットアップする方法を説明します。

機能代替方法
% b is a Bluetooth object
b.BytesAvailableFcnCount = 5
b.BytesAvailableFcnMode = "byte"
b.BytesAvailableFcn = @mycallback

function mycallback(src,evt)
   data = fread(src,src.BytesAvailableFcnCount);
   disp(evt)
   disp(evt.Data)
end
    Type: 'BytesAvailable'
    Data: [1×1 struct]

    AbsTime: [2019 12 21 16 35 9.7032]
% b is a bluetooth object
configureCallback(b,"byte",5,@mycallback);

function mycallback(src,evt)
   data = read(src,src.BytesAvailableFcnCount);
   disp(evt)
end
  ByteAvailableInfo with properties:

    BytesAvailableFcnCount: 5
                   AbsTime: 21-Dec-2019 12:23:01
% b is a Bluetooth object
b.Terminator = "LF/CR"
b.BytesAvailableFcnMode = "terminator"
b.BytesAvailableFcn = @mycallback

function mycallback(src,evt)
   data = fscanf(src,'%s');
   disp(evt)
   disp(evt.Data)
end
    Type: 'BytesAvailable'
    Data: [1×1 struct]

    AbsTime: [2019 12 21 16 35 9.7032]
% b is a bluetooth object
configureTerminator(b,"LF/CR")
configureCallback(b,"terminator",@mycallback);

function mycallback(src,evt)
   data = readline(src);
   disp(evt)
end
  TerminatorAvailableInfo with properties:

                   AbsTime: 21-Dec-2019 12:23:01

詳細については、configureCallback を参照してください。

参考

|

関連するトピック