RN4020 MLDP でシリアル無線化 2018/08/15
マイクロテクニカ RN-4020 Bluetooth Low Energy (BLE) スティックボードを使って、RS-232C シリアル通信の無線化を試してみました。
RN-4020 は、マイクロチップ社製 BLE モジュール です。
2台のモジュール間のシリアル通信を、SSP (Serial Port Profile) を使って無線化する
MLDP (Microchip Low-energy Data Profile) が搭載されています。
試作用に購入していたものが余ったので、PLC (シーケンサ) のデバッグ、データ収集に使えるのでは?と試してみました。
電源 ON で自動で接続、ジャンパーピンの抜き差しで MLDP モードになります。
結論から言うと、
通信速度の変更は SB コマンドで可能ですが、その他は固定になっています。
このため、KEYENCE KV の KV-STUDIO モードではパリティが異なり繋がりませんでした。
無手順通信は OK でした。
マイクロテクニカの 説明書(ble-stick_man.pdf) はとても分かりやすく書かれており、その通りにすると動きます。
一部手間取ったところを、下記にまとめてみました。
「RN-4020を使ってみる ~応用編1~」
■モジュール(2)(ぺリファイル)の設定
6,7: UUID の設定
UUID生成サイトで発行した3つのUUIDの設定は、まとめると下記の3つになります。
PS,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
PC,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,1A,10
PC,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,06,02
9: Dコマンドで状態を確認
|Role=Peripheral
は、表示されませんでしたので、"Role"がセントラルでないことを確認すれば良と思います。
■サービスの確認
3: ぺリフェラル側のサービスの確認
こちらの環境では、ヘッダーコードは、
000B -> 000E
000C -> 000F
でした。以降の説明のうち、これらを読み替えると動きました。
以上です。
■自動接続
電源ONで自動で接続するために、セントラル側にスクリプトを作成しました。
・関連コマンド
LW : スクリプトを表示
WC : スクリプトを消去
WW : スクリプト入力モードへ
終了は、ESCキー。ダメな場合は、[ESC]のキーコード16進 1B を送信
WR : スクリプト実行(@PW_ON)
・自動接続のためのスクリプトをWC WW コマンドで作成 (下記2行のみ)
@PW_ON
E,0,XXXXXXXXXXXX (ペリフェラル側のMACアドレス)
・セントラル側の機能変更(自動スクリプトを追加)
SR,93000000
R,1
R,1(リブート)で @PW_ON のスクリプトが実行されてしまうため、
ペリフェラル側、セントラル側の設定、スクリプトの確認が終わった状態で、変更します。
SR,93000000 は、機能設定=MLDP有効+セントラル設定+自動スクリプトです。
接続後、"CMD" ジャンパーピンを一度抜き差しすると MLDP が実行されます。
MLDP の実行は、I コマンドでも可能ですが、スクリプトに入れてしまうと、編集するタイミング(コマンドモード)が無くなってしまうため、
ジャンパーピンの抜き差しにしています。実用する場合は、B接の押釦スイッチに変更します。
RS232C シリアル通信の無線化に対応した Bluetooth Classic を使った製品があります。
・ラトックシステム BT-60CR ¥48,000 ( 2 台セット)
専用機でペアリング済みなので、簡単に使えそうです。
Bluetooth 2.1 + EDR Class 2 通信距離:10m (RN-42 搭載)
通信速度:1200 ~ 230400 bps
・Parari-SD1000 ¥16,000 x 2 台 = ¥32,000
設定が要りそうですが、Bluetooth Class 1 のため通信距離が長い (100m) のが魅力です。
・パナソニック KR10無線ユニット ¥18,000 x 2 台 = ¥36,000
FA 用 特定小電力無線 10mW 通信距離 : 約100m
通信速度:1200 ~3 8400 bps
※ 1 回のデータ量が2048バイトを超えないこと、タイムアウト時間を延ばすことが可能なこと
いずれも 2 台分なので結構高いです。
安価な Bluetooth Classic (Bluetooeh Low Energy ではないヤツ) モジュールで、また試してみたいと思います。
秋月電子通商のこれが使えそうです。