IrDAテクノロジーによって、ワイヤレスの赤外線インタフェースを通じてのデバイス間の通信が可能になりました。LabVIEWでは、ビルトインIrDA機能を使用して、別々のコンピュータで実行中の2つのVI間で通信を行うことができます。たとえば、テストの実行とその結果の収集を1つのデスクトップコンピュータで行うVIを作成し、その後で、赤外線を通じて他のコンピュータにそのデータを転送することができます。

Bluetoothテクノロジーは、ラジオ周波数でBluetoothデバイス間の柔軟性がある低電力の通信を可能にします。LabVIEWでは、別々のコンピュータまたはMobileデバイス上で実行しているVIでBluetoothの機能を使用して通信することができます。

IrDAクライアント/サーバネットワークの概要

IrDAネットワークは、隔離されたTCP/IPネットワークと同様に、各アドレスがネットワーク上で固有な限り、IPアドレスを任意に割り当てることができます。IrDAネットワークはダイナミックで、デバイスがネットワークを頻繁に出入りできるため、サーバとの通信を確立するためにクライアントが検索できる固定IrDAアドレスはありません。ネットワークがコンピュータを検出すると、ネットワークは各デバイスを名前 (通常、ユーザによって指定される) によって識別し、動的に固有の32ビットIDを生成します。

ワイヤレスネットワーク上のデバイス間の通信を確立する際、サーバとして機能するIrDAデバイスが、ネットワーク上で通信を確立しようとしているデバイスを監視します。アドレスを指定することによって接続を開いて、デバイスがネットワークに接続されているかどうかを判断するのとは異なり、サーバはリスナを作成することで、ネットワークに入るすべてのデバイスをリスンすることができます。IAS (インフォーメーションアクセスサービス) データベースと呼ばれるサーバのデータベースの空のエントリにアクセスすることによって、リスナはサービスを確立します。これは、TCPにポートを開くのと似ています。データベースには、128エントリまで含むことができます。IASデータベースに確立された各サービスは、論理サービスアクセスポイントセレクタ (LSAP-SEL) である0~127までの数値、そしてサービスを識別する文字列である対応サービスIDに割り当てられます。

クライアントは、サービスIDを持つデータベースをクエリして、LSAP-SEL番号を検索します。LSAP-SEL番号が確立されると、デバイス間の通信を開始することができます。

たとえば、サーバがクライアントと接続を確立すると、クライアントへさまざまな温度のデータを送信するように、サービスIDが温度であるサービスを識別することができます。そして、サーバはサービスID温度を要求するクライアントをリスンします。クライアントがネットワークに接続されると、サーバにサービス温度を送信します。これにより、サービスのLSAP-SEL番号が確立されます。そして、クライアントが温度サービスに対応するLSAP-SEL番号をサーバで検索します。LSAP-SEL番号が確立されたら、サーバは温度データをクライアントに送信します。

IrDA技術の詳細については、Infrared Data Association (赤外線通信の規格制定団体) のWebサイトを参照してください。

LabVIEWでのIrDA通信モデル

IrDA規格に適合する赤外線デバイスをコンピュータにインストールして、正しく動作することを確認したら、IrDAアプリケーションの構築を開始することができます。

異なるコンピュータで実行されているVI間のワイヤレス通信リンクを確立するには、IrDA関数を使用して、IrDAサーバを作成します。サーバは、サーバとリモートコンピュータ間の通信回線を確立します。このサーバはリモートコンピュータからの転送をリスンして検出します。データ転送を行い、リモートコンピュータからデータを受信して、接続を閉じます。

  • サービスを確立するには、「IrDAリスナを作成」関数を使用します。また、この関数を使用して、使用しているVIとリモートコンピュータのVIがLSAP-SEL番号を確立するのに使用するサービス名を指定します。
  • IrDAリスナを待機」関数を使用して、リモートコンピュータの検出を待機します。使用しているコンピュータに取り付けられた赤外線センサが、サービスIDを渡している他のコンピュータを検出すると、サーバはサーバとクライアントの通信を確立します。一度に1台のコンピュータとのみ通信が可能です。
  • リモートコンピュータのVIにデータを書き込むには、「IrDA書き込み」関数を使用します。書き込むデータは、文字列である必要があります。「文字列に平坦化」関数を使用して、文字列でない任意のデータを文字列形式に変換します。その場合、リモートコンピュータで文字列を非平坦化する必要があります。また、「XMLに平坦化」関数を使用して、データをXML形式に変換することもできます。
  • リモートコンピュータのVIからデータを読み取るには、「IrDA読み取り」関数を使用します。リモートコンピュータは、データが異なるデータタイプの場合でもデータを文字列として送信します。「文字列から非平坦化」関数を使用して、データを正しいデータタイプに変換します。また、XMLから非平坦化」関数を使用して、データをXML形式に変換することもできます。受信するデータの種類を知っておく必要があります。
  • IrDA接続を閉じる」関数を使用してサービスを切断します。

以下の図のVIは、温度という名前のサービスを作成し、そのサービスを要求するリモートコンピュータをリスンし、デバイスが集録する温度データを読み取り、文字列を数値の配列の文字列に非平坦化し、データをチャートにプロットして、接続を閉じます。

以下の図のVIは、リモートサーバのデバイスIDを検出し、サービス温度への接続を確立し、数値の配列を文字列に平坦化して、温度データをサーバに書き込みます。

Bluetoothクライアント/サーバネットワークの概要

Bluetoothは、デバイスの通信を可能にする2.4 GHzのラジオ周波数を使用するワイヤレス技術です。Bluetooth接続の範囲は、デバイスと環境の状態によりますが、9.1~12.2メートル (30~40フィート) の間です。

LabVIEW Bluetooth VIおよび関数は、Winsockインタフェースが使用する通信プロトコルである、RFCOMMを使用します。RFCOMMは、シリアル通信をエミュレートする簡易転送プロトコルです。RFCOMMインタフェースは、Bluetoothサーバとクライアントを定義します。

BluetoothサーバとクライアントアプリケーションをLabVIEWで作成するのは、TCP通信のサーバとクライアントアプリケーションを作成するのと似ています。Bluetoothサーバは、サーバが含むサービスの状況をブロードキャストし、着信接続を受信するために、サービスディスカバリプロトコル (SDP) を使用します。クライアントは、サーバへの送信RFCOMM接続を作成します。クライアントとサーバが接続されると、クライアントまたはサーバが接続を切断するまで、または接続が中断されるまで、クライアントとサーバ間でデータが交換されます。

LabVIEWでは、Microsoft Bluetoothドライバを使用するBluetoothデバイスがサポートされています。Microsoft BluetoothドライバをサポートするBluetoothデバイスの詳細については、MicrosoftのWebサイトを参照してください。ほとんどのBluetoothデバイスには、デフォルトでメーカ独自のBluetoothドライバが使用されています。このデバイスをLabVIEWで使用するには、Microsoft Bluetoothドライバに切り替えなければなりません。

Bluttooth技術の詳細については、BluetoothおよびMicrosoft Webサイトを参照してください。