Main Content

Bluetooth 通信を使用したデータ送信

テキスト データ (ASCII ベース) とバイナリ データの両方を読み取りおよび書き込みできます。テキスト データには、関数 readlinewriteline を使用します。バイナリ データには、関数 readwrite を使用します。

この例では、C3PO という名前の LEGO® MINDSTORMS® NXT ロボットがコンピューターに接続されています。以下の手順で、NXT デバイスと通信します。

  1. コンピューターからアクセス可能な 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"         
    
    
  2. ここでは、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
    
    
  3. 関数 write を使用してリモート デバイスにメッセージを送信します。この例では、この特定のデバイス (NXT ロボット C3PO) が認識できる特定の文字がデバイスに送信されます。デバイスに書き込んだ後で、NumBytesWritten プロパティを表示して送信された値を確認できます。

    write(bt,[2,0,1,155])
    bt.NumBytesWritten
    ans =
    
         35

    35 バイトのデータがデバイスに書き込まれたことがわかります。

  4. NumBytesAvailable プロパティを表示して、読み取り可能なバイト数を確認します。

    bt.NumBytesAvailable
    ans =
    
         35

    関数 read を使用して、リモート デバイスから 35 バイトを読み取ります。

    name = read(bt,35);
    char(name(7:10))
    ans =
    
        'C3PO'

    デバイスから返される文字 'C3PO' は、デバイスの名前です。これは、デバイスに対して送信された指示への応答です。このようなデバイス固有の通信情報については、ご使用のデバイスのドキュメンテーションを参照してください。

  5. オブジェクトをクリアして、クリーンアップします。

    clear bt

その他の機能

以下の関数を Bluetooth オブジェクトで使用できます。

readBluetooth デバイスからのデータの読み取り
readlineBluetooth デバイスからの ASCII 文字列データ行の読み取り
writeデータを Bluetooth デバイスに書き込む
writelineBluetooth デバイスへの ASCII データ行の書き込み
configureTerminatorBluetooth デバイスとの ASCII 文字列通信の終端文字を設定
configureCallbackBluetooth デバイスと通信するためのコールバック関数とトリガー条件の設定
flushBluetooth デバイスのバッファーのクリア

参考

|

関連するトピック