bluetooth
インターフェイスへのコードの遷移
新しい MATLAB® 関数とプロパティのセットにより、Bluetooth® デバイスとの通信がサポートされています。関数 Bluetooth
、そのオブジェクト関数、およびそのプロパティは削除されます。代わりに bluetooth
(大文字小文字を区別) インターフェイスを使用してください。
Bluetooth インターフェイス | bluetooth インターフェイス | 例 |
---|---|---|
instrhwinfo | bluetoothlist | Bluetooth デバイスの検出 |
Bluetooth および fopen | bluetooth | Bluetooth デバイスへの接続 |
fwrite | write | 読み取りと書き込み |
fread | read | |
fprintf | writeline | コマンドの送信 |
データの書き込みと読み戻し | ||
fscanf | readline | 終端文字列の読み取り |
fgetl | データの書き込みと読み戻し | |
fgets | 文字列データの読み取りと解析 | |
flushinput および flushoutput | flush | メモリからのデータのフラッシュ |
Terminator | configureTerminator | 終端の設定 |
BytesAvailableFcnCount 、BytesAvailableFcnMode 、および BytesAvailableFcn | configureCallback | コールバック関数のセットアップ |
BytesAvailable | NumBytesAvailable | |
RemoteName | Name | |
RemoteID | Address | |
ErrorFcn | ErrorOccurredFcn |
削除される機能
関数 binblockread
および binblockwrite
は削除される予定です。
ValuesReceived
および ValuesSent
プロパティは削除される予定です。送信される値の数は、NumBytesAvailable
プロパティと使用可能なデータのデータ型を使用して計算できます。たとえば、NumBytesAvailable
が 20 バイトの uint32
データの場合、uint32
の値はそれぞれ 4 バイトであるため、送信される値の数は 5 です。
関数 readasync
および stopasync
と ReadAsyncMode
および TransferStatus
プロパティは削除される予定です。更新後のインターフェイスではデータが非同期的に読み取られます。
BytesToOutput
、InputBufferSize
、および OutputBufferSize
プロパティは削除される予定です。バッファー サイズは自動で管理され、必要に応じてサイズが変更されます。
OutputEmptyFcn
プロパティは更新後のインターフェイスでは使用できません。更新後のインターフェイスでは configureCallback
を使用してコールバック関数を設定できますが、このプロパティについては設定できません。
RecordDetail
、RecordMode
、RecordName
、および RecordStatus
プロパティは削除される予定です。
TimerFcn
および TimerPeriod
プロパティは削除される予定です。代わりに timer
を使用してください。
Profile
、ObjectVisibility
、Status
、および Tag
プロパティは削除される予定です。
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 |
関数 fopen
は更新後のインターフェイスでは使用できません。オブジェクト作成関数 bluetooth
により、オブジェクトの作成とオブジェクトのデバイスへの接続の両方が実行されます。
関数 fclose
は更新後のインターフェイスでは使用できません。関数 clear
により、オブジェクトをワークスペースから削除するときにオブジェクトがデバイスから切断されます。
詳細については、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" |
終端文字列の読み取り
以下の例では、推奨される機能を使用して、終端文字列の読み取りを実行する方法を説明します。
機能 | 代替方法 |
---|---|
% b is a Bluetooth object data = fscanf(b,"%e") data = 11.9000 書式指定子 | % 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'
| % b is a bluetooth object
data = readline(b) data = "hello"
|
% b is a Bluetooth object
data = fgets(b) data = 'hello '
|
詳細については、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)
|
詳細については、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" |
文字列データの読み取りと解析
この例では、推奨される機能を使用して、文字列データを読み取り、解析する方法を説明します。
機能 | 代替方法 |
---|---|
% 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
を参照してください。
参考
関連するトピック
- R2020a Bluetooth 通信のトピック (R2020a)