2台の端末をそれぞれサーバー、クライアントとしてペアリングさせてBluetooth(SPP)接続によるデータ通信することができます。応用で端末以外でも制御等に使えます。この機能を使うには端末にBluetooth機能が付いている必要があります。"bt_spp_andbas"Bluetooth通信プログラムの流れ双方のBluetoothスイッチをオンにする。(BT_ENABLE命令)クライアント側がサーバー側のデバイスを取得。(BT_OPEN命令)サーバー側が受け取りソケットを確保、ファイルがオープンされる。データのやり取りを行う。併用によりデータ受信時のみBT_INPUT$でデータ受信する方法もあります。こちらを先に実行して'accept'状態にする。ダイアログ検知で相手端末名がでるのでタップして選択する。タップ後すぐに'connect'信号が送信されます。a$'connect'信号を送る時は、サーバー側は先に'accept'状態になって待ち受ける必要があります。直前に別のBluetoothアプリが使用されていて終了時のソケットの開放処理が行われていないアプリであった場合に、接続ができなくなることがあります。この場合は一度リセットして下さい。Bluetoothの状態を取得して返します。Bluetoothの状態を返します。Bluetooth機能がない機種です。Bluetoothはオフ状態です。Bluetoothはオン状態です。接続先デバイスを発見している状態です。Bluetoothはペアリング接続されファイルがオープンされてる状態です。SPPのUUIDを返します。相手側(サーバー)のデバイスネームを返します。相手側(サーバー)のMACアドレスを返します。Bluetooth機能のオン/オフの切り替えをします。Bluetoothをオンにします。Bluetoothをオフにします。Bluetoothファイルは閉ざされ、割り込みは'off'になります。自分の端末を発見してもらうための信号を発信します。相手にこちらのデバイス名とMACアドレスを認識させるための信号を送ります。この作業は最初に一度だけ必要です。devices.'を選んだ時に重なるようにこちら側が'BT_SIGNAL'を発信することで、相手側にキャッチさせることができます。一度認識させた後は'BT_DEVICE'のリストの中に最初から表示されるようになるので以降は'BT_SIGNAL'の実行は必要ありません。{プログラムで繰り返し実行される部分にBT_SIGNALを書かないで下さい}この信号はメニューの'BT_Signal'からも同様の発信ができます。devices.'の時にメニューからこれを送るのが簡単な方法です)シグナルを出す[秒数]を指定できます。確認のダイアログが出ます。この命令はダイアログがが閉じた後、すぐに次の命令に進みます。接続するデバイスを発見、選択します。["デバイス名"][説明]最初にダイアログで接続したことのあるデバイス名とMACアドレスのリストが表示されます。"デバイス名"が指定されている場合で、それがリスト内に存在する場合は自動でデバイス選択がなされて次へ進みます。devices.'を選びます。約12秒の検知が始まり、発見されたデバイスがリストに追加されます。発見信号(サーバー側:BT_SIGNAL)と検索(クライアント側:Search...)はどちらが先に実行されても構いませんが、この期間は重複している必要があります。on'が実行されます。この命令は選択が行われるまで次の命令には進みません。接続ができなかった時とキャンセルが押された時はデバイスの取得はできませんがエラーにはなりません。直後に'BT_STATE$'で取得の可否を調べることができます。サーバー又はクライアントとしてBluetoothファイルをオープンします。[,秒数][説明]これはサーバー側とクライアント側の双方で行われます。受信[秒数]を指定できます。(デフォルト15秒)機能:"accept"はサーバーとしてオープンします。クライアント側からの'connect'信号を待ち受けて(accept状態)ソケットを確保、ファイルをオープンします。機能:"connect"はクライアントとしてオープンします。'BT_DEVICE'で取得したデバイスへ'connect'信号を発信し、ソケットを確保、ファイルをオープンします。'connect'信号の発信は先に相手側が受信状態(accept)になっていることが必要です。["機能"]が省略された場合は事前に'BT_DEVICE'でデバイスが取得されていれば"connect"命令、そうでなければ"accept"命令と判別されます。BASIC起動後、一度接続があって繰り返し同じ設定での実行(同じ端末間でサーバーとクライアントの指定が同じ時)では"accept"は選択ダイアログが出ます。同じソケットでの接続になります。新たに受信(accept)を開始します。(サーバー、クライアントが入れ替わった時もこちらです)"connect"の場合で'BT_DEVICE'で同じデバイスを選んでいた時は、同じソケットでの接続になります。on'が実行されます。この命令はオープン作業が終わるか[秒数]が終わるまで次の命令には進みません。オープンができなかった場合もエラーにはなりません。直後に'BT_STATE$'でオープン成功の可否を調べることができます。Bluetoothのソケットからデータ(文字列)を受け取ります。BT_INPUT$([秒数])[説明]入力待ちの秒数を指定できます。入力があるか指定秒数が終わるまで次の命令には進みません。入力がなく指定秒数が終わるとヌル文字を返します。相手側から送信データがあり、すぐに'BT_INPUT$'での取得がなされていない場合はスタックに蓄積されて'BT_INPUT$'が実行された時にまとめて一連の文字列として取得されます。Bluetoothのソケットへデータ(文字列)を出力します。文字列データ[説明]文字列データを相手側端末に送信します。データの入出力命令はサーバー側、クライアント側両方で使用できます。Bluetoothの割り込みのオン/オフの切り替えをします。行番号で指定された割り込み処理ルーチンの行にいき、return命令で元の実行行に帰ってきます。命令で飛び先が指定されていなければなりません。'ON'状態になると入力待ちのプロセスが常に働くのでプログラム終了時には'OFF'にするようにして下さい。chatそれぞれの端末で1と2を入力してスタート。