Bluetooth 通信を使用したデータ送信
テキスト データ (ASCII ベース) とバイナリ データの両方を読み取りおよび書き込みできます。テキスト データには、関数 readline と writeline を使用します。バイナリ データには、関数 read と write を使用します。
この例では、C3PO という名前の LEGO® MINDSTORMS® NXT ロボットがコンピューターに接続されています。以下の手順で、NXT デバイスと通信します。
コンピューターからアクセス可能な Bluetooth® デバイスを特定します。
bluetoothlist
ans = 4×4 table Name Address Channel Status _____________ ______________ _______ __________________ "C3PO" "0016530FD63D" 1 "Ready to connect" "HC-06" "98D331FB3B77" 1 "Requires pairing" "mjin-maci" "A886DDA44062" 3 "Requires pairing" "DMTDevice" "B0B448F47A4C" Unknown "Unknown"ここでは、NXT ロボットのデバイス名は
C3POで、出力に示されています。デバイスに接続するには、NXT デバイスのチャネル1を使用してbtという名前の Bluetooth オブジェクトを作成します。bt = bluetooth("C3PO",1);bt = bluetooth with properties: Name: "C3PO" Address: "0016530FD63D" Channel: 1 NumBytesAvailable: 0 NumBytesWritten: 0 Show all properties関数
writeを使用してリモート デバイスにメッセージを送信します。この例では、この特定のデバイス (NXT ロボットC3PO) が認識できる特定の文字がデバイスに送信されます。デバイスに書き込んだ後で、NumBytesWrittenプロパティを表示して送信された値を確認できます。write(bt,[2,0,1,155]) bt.NumBytesWritten
ans = 3535 バイトのデータがデバイスに書き込まれたことがわかります。
NumBytesAvailableプロパティを表示して、読み取り可能なバイト数を確認します。bt.NumBytesAvailable
ans = 35関数
readを使用して、リモート デバイスから 35 バイトを読み取ります。name = read(bt,35); char(name(7:10))
ans = 'C3PO'デバイスから返される文字
'C3PO'は、デバイスの名前です。これは、デバイスに対して送信された指示への応答です。このようなデバイス固有の通信情報については、ご使用のデバイスのドキュメンテーションを参照してください。オブジェクトをクリアして、クリーンアップします。
clear bt
その他の機能
以下の関数を Bluetooth オブジェクトで使用できます。
read | Bluetooth デバイスからのデータの読み取り |
readline | Bluetooth デバイスからの ASCII 文字列データ行の読み取り |
write | データを Bluetooth デバイスに書き込む |
writeline | Bluetooth デバイスへの ASCII データ行の書き込み |
configureTerminator | Bluetooth デバイスとの ASCII 文字列通信の終端文字を設定 |
configureCallback | Bluetooth デバイスと通信するためのコールバック関数とトリガー条件の設定 |
flush | Bluetooth デバイスのバッファーのクリア |