■Bluetooth RS-232C 変換アダプター REX-BT60 |
名称 | Bluetooth RS-232C 変換アダプター | |
型番 | REX-BT60 | |
インタフェース | RS-232C | EIA/TIA-232-F Standards準拠 ※RI ピンは5V電源入出力専用となります。 |
Bluetooth | Bluetooth version 2.1+EDR Class2 | |
RS-232C トランシーバー | EXAR SP3232ECY | |
Bluetooth プロファイル | SPP2.1 | |
Bluetooth 送信周波数 | 2,402-2,480MHz FHSS/GFSK 79チャンネル - 1MHz間隔 | |
RS-232C 接続コネクター | D-Sub9Pin(オス) x 1 |
|
RS-232C 入出力レベル | ドライバー | ハイレベル出力:+5V(min)/+5.4V(TYP) ローレベル出力:-5V(min)/-5.4V(TYP) |
レシーバー | 入力電圧範囲:-15V(min.) ~ +15V(max.) | |
RS-232C 通信方式 | 非同期通信 |
|
データビット | 8ビット固定 データ7ビット対応の旧ファームウェア(Ver4.77)製品はこちら↓ [REX-BT60(Ver4.77)] |
|
パリティビット | None / Even / Odd | |
ストップビット | 1 / 2 | |
フロー制御 | CTS / RTS | |
RS-232C 通信速度 | 1200/2400/4800/9600/19200/28800/38400/ 57600/115200/230400 bps |
|
Bluetooth 伝送距離 | Class2(10m 程度) | |
外形寸法 | 約75.4mm(L)×26.0(W)×16.0(T) [mm](突起部を除く) | |
重量 | 重量 約22g(本体のみ) | |
電源電圧 | DC+5V | |
消費電流 | 100mA(送受信時:外部電源供給分を含まない) | |
動作環境 | 温度:0~55℃ 湿度:20~80%(ただし結露しないこと) |
|
TELEC | 本製品には、技術基準適合証明を受けた特定無線設備 (Microchip 製 RN-42 TELEC No : 201-125709)が収納されています。 |
|
Bluetooth SIG | 認証済み QD ID:B014867 | |
COM ポート版 サンプルプログラム |
仮想COM ポートを使用したサンプルプログラムで、通信パラメーター/PIN コード/デバイス名の設定、データの送受信を行う。 | |
WinSock版 サンプルプログラム |
WindowsSocketAPI を使用したサンプルプログラムで、通信パラメーター/PIN コード/デバイス名の設定、データの送受信を行う。 | |
対応OS | Windows 10/ 8.1/ 8 / 7 / Vista / XP(SP3)※32bit/64bit 両対応 Android 7.x / 6.x / 5.x / 4.x / 3.2 / 2.3.x |
|
添付品 | ・REX-BT60 本体 ・電源アダプター(RSO-AC05L) ・保証書 |
■ご注意 |
・本製品は国内仕様となっており、海外についての保守およびサポートはおこなっておりません。 ・記載されている名称・商品名は各社の商標または登録商標です。 ・予告なく外観または仕様の一部を変更することがあります。 ・"REX"は株式会社リコーが商標権を所有していますが、弊社は使用許諾契約により商標の使用を認められています。 |
ハードウェア仕様
■DIPスイッチ仕様
番号 | 動作 | 出荷時設定 |
1 | 設定初期化(工場出荷設定)に使用。 |
OFF |
2 | ONの場合はシリアル通信速度を9600bpsに固定する。 | OFF |
3 | ONの場合はRTS/CTSフロー制御を有効にする。 | ON |
4 | 電源アダプターを接続しONした場合は、D-Sub 9番ピンから5V出力する。 ※ D-Sub9番ピンへ外部から電源供給する場合はOFFにしてください。 |
OFF |
■コネクタピンアサイン
D-SUB 9ピンオス
ピン番号 | 信号名 | 説明 |
1 | NC |
未接続 |
2 | RxD | データ受信 |
3 | TxD | データ送信 |
4 | NC | 未接続 |
5 | GND | グランド |
6 | NC | 未接続 |
7 | RTS | データ送信要求 |
8 | CTS | データ送信可能 |
9 | 5V OUT / IN | 5V 入出力専用 |
※ DCD/DTR/DSR/RI の機能は使用できません。 |
【Raspberry Pi 対応情報】
このページでは Rsapberry Pi のBluttooth からREX-BT60へ接続して使用するための情報を提供しています。
-
概要
-
Raspberry Pi では、Bluetooth を制御するためのモジュールとして Bluez が提供されています。
Raspberry Pi 3 からは、Bluetoothが標準でボード上に搭載されているため、
Rasbian OSインストール時に標準でインストールされ実行できるように設定されます。
※Raspberry Pi 2以前を使用している場合は、Bluetoothアダプタの追加とBluezのインストールが必要です。
そして、REX-BT60とRaspberry Piをbluetoothで接続しシリアル通信を行うには、ドライバ「rfcomm」を利用します。
このドライバは、Rasbian OSインストール時に標準でインストールされていますので、
ここで説明する簡単な設定だけでRspberry Pi Bluetooth経由でRS-232C機器を制御することが可能になります。
-
設定手順
-
REX-BT60の検索
REX-BT60にACアダプタを接続し電源を供給します。
そして、LEDの点滅が始まることを確認します。
次に [hcitool]コマンドでBluetooth機器を検索します。
~ $ hcitool scan
Scanning ...
....
00:06:66:84:85:6B RNBT-856B
....
名前が[RNBT-xxxx]または[RN42-xxxx]と表示されているものがREX-BT60です。
左側は、デバイス固有のユニークなBluetoothアドレスです。
REX-BT60と rfcomm で接続
検出した REX-BT60 とシリアル通信するためにrfcommで接続します。
割り当てるデバイス名 [/dev/rfcomm0] と検出した REX-BT60のアドレス [00:06:66:84:85:6B]を指定して
[rfcomm]コマンドを以下のように実行します。
~ $ sudo rfcomm connect /dev/rfcomm0 00:06:66:84:85:6B &
connected /dev/rfcomm0 to 00:06:66:84:85:6B on channel 1
Press CTRL-C for hangup
接続されると [connected ...]と表示されます。
これで、割り当てたrfcommのデバイス名 [/dev/rfcomm0]を使って通常のシリアル接続と
同じ操作が可能になります。
接続を解除する場合は、以下を入力します。
~ $ sudo rfcomm release /dev/rfcomm0
Disconnected
-
通信の確認
-
ここでは、Windows PCにUSBシリアル(REX-USB60F)+REX-BT60を接続し、Raspberry PiとBluetooth経由のシリアル通信で
相互にデータを送る簡単な通信確認を行います。
REX-USB60FとREX-BT60はクロスケーブルで接続します。
すべての接続ができたら、Raspberry Pi側とWindows PC側でそれぞれターミナルソフトを起動しデータ通信を行います
Raspberry Pi側のターミナルソフトは cutecom を使用します。
cutecomm がインストールされていない場合は、 cutecom を以下のコマンドで
インストールします。
~ $ apt-get install cutecom
cutecom を起動します。
~ $ cutecom &
最初に通信パラメタを変更します。
Device: 欄の [/dev/ttyS0] を rfcommのデバイス名 [/dev/rfcomm0] に変更します。
[Baud rate][Stop bits][Parity]を設定します。
以上で準備はできたので、実際にデータを送信・受信して確認します。
送信テストは、CutecomのInput欄にテスト用の送信文字列を入力し、リターンキーを押します。
そして、送信文字列と同じ内容が Windows PC側で表示されることを確認します。
受信テストは、Windows PC側から送信したデータが cutecomの画面上側の欄に表示されることを確認します。
-
Pythonでの使用
-
ここでは、PythonスクリプトでREX-BT60を使用する方法を説明します。
PythonでBluetooth-RS-232C変換を使用する場合、通常のRS-232C接続と同様にpyserialモジュールが利用できます。
デバイス名にREX-BT60に接続中のRFCOMMのデバイスを指定するだけで、その他制御は通常のRS-232Cで接続している場合と変わりません。
以下のスクリプトは、現在の日時を取得し文字列に変換して送信します。
1秒おきの送信を10回繰り返して終了します。
import sys
import serial ←--------------------------------------------[1] import time
import datetime
def main():
ser=serial.Serial('/dev/rfcomm0',9600,timeout=10) ←----[2] title="Serial port send test : "+ser.portstr
testmsg="a quick brown fox jumps over the lazy dog."
print(title)
i=0
while i < 10;
d= datetime.datetime.today()
str1=d.strftime("%Y-%n-%d %H:%M:%S: ")+testmsg+'\n'
outdata=str1.encode('utf-8') ←----------------------[3] ser.write(outdata)
print(outdata)
i=i+1
time.sleep(1)
ser.close()
print("End of send test")
if __name__ = '__main__'
main()
[1] モジュールのインポート
[import serial] で pyserialモジュールをインポートします。
[2] 通信ポートのオープン
serial.Serial('/dev/rfcomm0', ...) でrfcommのデバイス名を使ってポートをオープンします。
[3] データの送信
シリアルデータの送信は、write() 関数で行いますが、送信データはバイト型データで送る必要があります。
一方、変数 str1 は文字型変数なので str1.encode('utf-8') を使って
文字型データからバイト型データに変換を行った後に ser.write(outdata) でデータを送信しています。
データの受信
以下のスクリプトは、データを改行コード(LF)まで受信したら、現在の日時を先頭に付けて画面に表示します。
10回受信したら終了します。
import sys
import serial
import time
import datetime
def main():
ser=serial.Serial('/dev/rfcomm0',9600,timeout=10)
title="Serial port read test : "+ser.portstr
print(title)
i=0
while i < 10;
d= datetime.datetime.today()
str1=d.strftime("%Y-%n-%d %H:%M:%S")+'\n'
indata=ser.readline() ←----------------------[1] str2=indata.decode('utf-8')
print(str1 +str2)
i=i+1
ser.close()
print("End of read test")
if __name__ = '__main__'
main()
[1] データの受信
シリアルデータの受信は、readline()関数で行います。
受信データは、バイト型データで取得されるため、文字列として扱うために
str2.indata.decode('utf-8') を使ってバイト型データから文字型データに変換してから画面に表示します。
このページで紹介した情報に加えて、Raspberry Pi上でREX-BT60の通信パラメタを設定する方法を説明した資料
「REX-BT60のRaspberry Piでの使用について」というドキュメントを用意しており、こちらからダウンロードできます。
(ここで紹介されている内容は、2016年12月16日時点での情報に基づいています。)
■この商品に関連したブログ記事 |
タイトル | ダウンロード | 説明 |
---|---|---|
REX-BT60 ダウンロード | e2e_download.pdf | こちらのページで紹介していない、各種ダウンロードソフトウェアや製品情報は運営元の ラトックシステム株式会社のWebページ にてダウンロードいただけます。 |
REX-BT60 サンプルアプリケーション for Android ソースファイル | 要会員登録 | REX-BT60 サンプルアプリケーション for Android (BtSerialUtility) のソースファイル一式 |
REX-BT60 サンプルアプリケーション for Android ソースファイル説明 | 要会員登録 | REX-BT60 サンプルアプリケーション for Android (BtSerialUtility)のソースファイル説明書【Rev1.01】 |
● ペアリングと簡単な通信設定ですぐに使える
● REX-BT60の駆動電源を選択可能
● 通信状態がよくわかる通信モニターLED
● DIP-SWについて
● 通信パラメーター / PINコード / デバイス名を設定するサンプルプログラムを
ダウンロード提供
● WindowsPCとの電波強度を測定するツールを公開
● Androidでは 通信・設定ユーティリティをダウンロード提供
● Raspberry Piでは /dev/rfcommx デバイスとして認識
● 有害6物質不使用
また、コネクターには、EIA/TIA-574 仕様のD-Sub 9Pin を採用しており、RS-232C機器とBluetooth接続で通信が可能。
これまでのRS-232C機器の資産を活かしつつ、シリアルインターフェイスを持たないBluetooth搭載PC・Android端末なども接続することができ、医療現場など強い電波の使用が制限される環境においても使用できることなどが特徴です。
また、RS-232CポートをもたないAndroid端末でもRS-232C機器が使用可能。バーコードスキャナー、磁気カードリーダー、RF-IDタグリーダーなどを接続できます。
※TA・モデムには対応していません
※RS-232Cポートに接続して使用するシリアルマウスはサポートしていません
REX-BT60には付属のACアダプターより駆動電源を供給する必要があります。
その駆動電源を接続デバイス側に供給することが可能です。
また、接続デバイスから駆動電源を受け取ることも可能です。
(DIP-SWより設定可能)
本製品と接続された機器との通信状態がわかるLEDを搭載。
点灯:RS-232Cのデータ送受信時
(COM/デバイス未オープン)
電源アダプターを接続し、ONにした場合はD-sub9番ピン
から5V出力する。
各アプリケーションから通信パラメーター / PINコード / デバイス名を設定可能です。
◆ BtSerialUtility画面例 ◆
メイン画面
通信パラメーター設定画面
本製品とWindowsPC間のBluetooth電波強度を測定することで、 運用環境での電波状況を把握することができます。
本ツールでは、測定間隔と回数を指定することができ、 測定したデータと時刻をCSVファイルに保存することができます。
このアプリはBluetooth経由での以下の機能があります。
- REX-BT60デバイスの設定
- RS-232Cポートの通信パラメータの設定
- データ送信および受信の簡単な確認
>>ダウンロードはこちら⇒[BtSerialUtilityアプリダウンロード]
◆ BtSerialUtility画面例 ◆
メイン画面
通信パラメーター設定画面
また、このアプリのソースおよび解説マニュアルをe2eStoreサイトでダウンロードできます。(要会員登録)
>>ダウンロードはこちら⇒[BtSerialUtilityソースダウンロード]
また、PythonではPySerialモジュールによって簡単に制御できます。
詳しくは[ラズパイ対応情報]をご覧ください。
『当社では有害6物質(鉛、水銀、カドミウム、六価クロム、PBB(ポリ臭化ビフェニール)、PBDE(ポリ臭化ジフェニルエーテル))の使用を制限した部品と設備の選定を進め、環境に配慮した製品を提供していきます。
「使用を制限」とは、欧州RoHS指令に規定された閾値を超えて含有されない、或いは適用除外用途のみの使用に限定することを示します。(カドミウムは0.01wt%、それ以外は0.1wt%)』