Main Content

Bluetooth 通信でのコールバックの使用

イベントとコールバックを使用すると、Bluetooth® デバイスの能力と柔軟性を強化できます。条件が満たされた後にイベントが発生し、1 つ以上のコールバックが生じる場合があります。

MATLAB® が Bluetooth デバイスに接続されている間、イベントを使用してメッセージの表示、データの表示、データの解析などを実行できます。コールバックは、コールバック プロパティとコールバック関数によって制御できます。すべてのイベント タイプには関連するコールバック プロパティがあります。コールバック関数は、特定のアプリケーションのニーズに合わせて作成する MATLAB 関数です。関連付けられたコールバック プロパティの値としてコールバック関数名を指定することで、特定のイベントが発生するときにコールバックを実行します。

コールバック プロパティ

コールバックに関連付けられた Bluetooth のプロパティと関数は以下のとおりです。

プロパティまたは関数目的
NumBytesAvailable読み込みに使用できるバイト数
BytesAvailableFcnコールバック関数で使用できるバイト数
BytesAvailableFcnCountコールバックをトリガーするデータのバイト数
BytesAvailableFcnModeコールバックのトリガー モードで使用できるバイト数
configureCallbackBluetooth デバイスと通信するためのコールバック関数とトリガー条件の設定
ErrorOccurredFcnエラー イベントによりトリガーされるコールバック関数
UserDataユーザー データの汎用プロパティ

コールバックの使用

この例では、ループバック デバイスとして構成された HC-06 Bluetooth トランシーバー モジュールを使用します。

  1. コールバック関数を作成します。受信したデータを読み取り、bluetooth オブジェクトの UserData プロパティに格納するコールバック関数 collectData を定義します。

    function collectData(src,evt)
        src.UserData = [src.UserData; read(src,src.BytesAvailableFcnCount)];
    end
    
  2. HC-06 モジュールの bluetooth オブジェクト hc06 を作成します。

    hc06 = bluetooth("HC-06",1)
    hc06 = 
      bluetooth with properties:
    
                     Name: "HC-06"
                  Address: "98D331FB3B77"
                  Channel: 1
        NumBytesAvailable: 0
          NumBytesWritten: 0
    
      Show all properties
    
    
  3. デバイスから 5 バイトのデータが送信され、MATLAB で受信されるたびに、そのデータを読み取って収集するようにコールバック プロパティを設定します。

    configureCallback(hc06,"byte",5,@collectData);
  4. 作業が完了したら bluetooth デバイス オブジェクトをクリアします。

    clear hc06

参考

| |

関連するトピック