設定変更(インタラクティブ)モード

ここではシリアル通信アプリ(App_Uart)固有の機能の説明をします。インタラクティブモードの共通機能については、解説 を参照してください。

インタラクティブモードに入るには、 パソコン上のターミナルソフトウエアから+ + + と + を3回入力します。+ と + の間には 0.2 秒から 1.0 秒間を空けてください。

テンキーから「+」キーを入力するとうまくいかない場合があるようです。

以下はインタラクティブモードの画面表示例です。(設定内容により表示が変わります。)

--- CONFIG/TWE UART APP V1-02-3/SID=0x81001f1c/LID=0x78 -- ---
a: set Application ID (0x67720103)
i: set Device ID (--)
c: set Channels (18)
x: set RF Conf (3)
r: set Role (0x0)
l: set Layer (0x1)
b: set UART baud (38400)
B: set UART option (8N1)
m: set UART mode (C)
k: set Tx Trigger (sep=0x0d, min_bytes=1 dly=100[ms])
h: set handle name []
C: set crypt mode (0)
K: set crypt key []
o: set option bits (0x00000100)
---
S: save Configuration
R: reset to Defaults

設定コマンド一覧

コマンド 設定項目 初期値 説明
a アプリケーションID 0x67720103 同一の周波数チャネルを複数のグループで使用することが可能です。値は32ビットで設定します。
i 論理デバイスID 120 子機の論理デバイスIDを設定します。1~100および以下に挙げる特別な値を設定できます。
0: 親機 (=121)
1-100: 子機
120: 子機(ID設定無し)
121: 親機
これ以外の値も設定した場合の動作は未定義です。
c 周波数チャンネル 18 チャネル (11~26) を選択します。複数チャネルを指定した場合は チャネルアジリティにより電波干渉の回避に役立ちます。最大3チャネルまで指定可能です。例えばチャネル 13 とチャネル 22 を使用する場合は 13,22 と入力します。
x 送信出力 3 1桁、または2桁の数字を指定します。2桁目は省略可能です。

1桁目は、送信出力を設定します。3が最強で2,1,0と1段階小さくなるたびに -11.5db 出力が低下します。出力を制限し電波の有効伝達範囲を小さくしたい場合に使用します。ただし、伝達可能距離は環境(ノイズ・遮蔽物など)に影響を受けます。
※ 理論上の伝達距離は 6db 出力が小さくなるたびに 1/2 になりますので、1段階小さくすることで伝達距離は約1/4になります。

2桁目は透過モード・プロンプト無しチャットモード時の再送回数を設定します。2桁目は 0~9を指定し、0はデフォルトで再送なし、1~9は再送回数に対応します。

例:
3 -> 再送なし・最強出力(デフォルト、省略時)
42 -> 再送4回・出力は2(1段階弱める)
r 役割 0 子機のみ有効で、以下のいずれかを指定します。通常はネットワーク層を利用しない配送方式を選択してください。

■ ネットワーク層を利用しない配送方式:
0 -> 通常の指定(親機または子機)
1-3 -> 中継子機(id 指定で 1~100 または 120の子機指定と同時に指定します。)1~3 は最大中継段数です。この中継方式は受信したパケットを中継段数が指定回数になるまで再送を繰り返す方式ですので、中継機の配置や数によっては重複したパケットが中継されることになります。

■ ネットワーク層を利用する配送方式:
(書式モードのみ)
11 -> 親機
12 -> 中継機
13 -> 子機

■ サイレント モード:
サイレントモードでは起動時に受信回路を開きませんので、解除コマンドを実行するまでは無線パケットに応答する事はありません。
設定は上記指定に 80 を足します。
例えば 93 を指定すると「ネットワーク層利用かつサイレントモード」となります。
b UARTボーレート 38400 BPSピンを Lo (GND) レベルにして電源投入した場合に有効になります。Hi レベルでは常に 115200 8N1 条件で UART を初期化します。
9600、19200、38400、57600、115200、230400が設定可能です。 他の値も設定可能ですが、オシロスコープ等を用いて誤差を検証した上で使用してください。
※ v1.2 以降ではオプションビットの設定により、BPS ピンの状態を無視したり、UART1 に出力する事も可能です。
B UARTパリティ N N: 無し、O: Odd(奇数)、E: Even(偶数)を設定します。ストップビットは1で固定。ハードウェアフローは設定不可です。
v1.2以降では、8N1, 7E2 といったビット数、パリティ、ストップビットの設定が可能ですが、動作検証は 8N1 のみとなります。動作検証以外の設定で利用される場合は、オシロスコープなどで波形を観察し要求を満足するか確認の上利用してください。
m UARTモード C TWELITEの通信方式を決定します。
C: チャットモード
D: 透過モード
A: 書式モード、アスキー形式
B: 書式モード、バイナリ形式
T: 透過モード(ペアリング)
k トリガー文字   トリガー文字列(オプションビットで有効化)を設定します。
後述の最小パケットサイズ、無入力タイムアウトの設定を行っても反映されません。原則としてトリガー文字列を入力まで送信を保留し、トリガー文字列が来た時点でトリガー文字列も含めた形でパケット送信を試みます。
■ プロンプトなしチャットモード(D)時
トリガー文字列(オプションビットで有効化)、最小パケットサイズ、無入力タイムアウトの3つのパラメータを設定します。
■ 設定書式
カンマ区切りで3つのパラメータを一度に設定し 20,8,100 の場合、トリガー文字列が 0x20、最小パケットサイズが 8 バイト、無入力タイムアウトが 100ms と設定します。
■ 値
・トリガー文字列 :16進数で指定します。00-FF
・最小パケットサイズ: 1-80 を指定します。
・無入力タイムアウト:0なら無効、10-200 を指定します。あまり小さい値を指定すると、1バイトごとにタイムアウトするようになりますので、十分な時間を設定してください。
h ハンドル名   チャットモードでのハンドル名を指定します。ハンドル名は 23 文字まで利用可能です。各通信ごとにハンドル名が送信されるため、長いハンドル名は通信データ増大させます。
C 暗号化 0 0 は平文通信、1 は暗号化通信(AES128)です。同じ暗号化鍵で通信しないと受信時に暗号解読が出来ないため受信が失敗します。
※ 暗号化設定しない無線ノードからの平文メッセージは受信します。
※ ただし Ack 応答はするため、送信側では受信失敗を確認できません。(受信成功失敗の確認には受信側から返しのメッセージをもらうといった処理が必要です)
K 暗号化鍵   暗号化鍵を入力します。テキストで16文字を設定します。(バイナリ列を設定する事は出来ません)
※ 暗号化の鍵は平文で保存されます。
! リセット   TWELITEをリセットします。
R 初期値に戻す   各設定をデフォルト値に戻します。この時点では設定値は保存されません。続けて設定する事も可能です。
※ 他の入力を行わず続けて S コマンドで保存すると、セーブ(不揮発)領域を初期化状態に戻します
S 設定を保存する   設定値を保存し、TWELITEをリセットします。

オプションビットの設定

オプションビット設定値を各ビットごとに解説します。

設定ビット
(16進)
説明
00000001 スリープ設定用のIOピン(M3ピン)のプルアップを停止します。
プルアップ停止時には対象ピンをオープンにしないようにしてください。
※ M3 をオープン状態で起動すると、スリープ状態になる場合があり、設定変更等の操作を受け付けなくなります。M3ピンをHiにすることでスリープを解除します。
00000002 透過モード選択ピン(I1-I4)のプルアップを停止します。
プルアップ停止時には対象ピンをオープンにしないようにしてください。
00000100 送信トリガー文字の設定をします。
透過モード(D)、透過モード・ペアリング(T)で、設定された文字が入力されるとそれをトリガーとしてデーターを送信します。例えば0x0Aを設定しておくと、LF改行文字毎にパケット分割され無線送信されます。
例) 改行文字などで終端されるコマンド列を連続的に送信したい場合に、遅延の少ない効率的な無線送信が行えます。
00000200 新しい入力系列を優先します。
書式モード(A,B)、透過モード(D)で、送信完了前までに確定したUART入力データーを破棄し、より新しい入力データーを優先して送信します。
例) 制御値やセンサー値などを連続的に送信して、最新データを反映させたい場合
00001000 応答メッセージの出力を停止します。
書式モード(A,B)時の送信処理完了メッセージを出力しません。
00010000 BPSピンの設定と関係なくBAUD設定を反映します。
※ 外部から入出力できないボーレートに設定した場合、インタラクティブモード等の操作が出来なくなり、簡易な手段での回復は出来なくなります。セーブデータ領域を初期化する必要があります。
00020000 UART1(副ポート)にも出力します。
※ 副ポートには原則として入力しないことを前提としていますが、インタラクティブモード・書式モード・チャットモード・透過モードの入力は受けつけるように実装されています。
※ UART入出力用に確保しているバッファ(入力4KB,出力4KB)は、主ポート・副ポートで半々(入力2KB,出力2KB)として利用します。
00040000 UART0とUART1 を入れ替えます。
UART1 を主ポートとします。
00100000 (ネットワーク層)中継器は1階層上位に限定して接続します。
ネットワーク層利用時のみ有効です。中継器が上位階層を探索する場合、通常はより上位の中で最大の電波強度を持つ中継器・親機に接続しますが、この設定では1段階上位に限定して接続します。
※ 中継テストを行う場合などに利用します。

中継機能の説明(コマンド r: set Role)

通信距離が足りない場合や障害物があって通信できない場合に中継機を使用することで通信距離を延長したり通信範囲を拡張することが期待できます。

中継機能を持った端末は受信したパケットをそのまま送信します。

設定方法

中継機能を使用する場合はインタラクティブモードで”r”を入力し、set Roleの値を1~3に設定してください。初期値は0です。

r: set Role (0x0)

1~3は最大中継回数です。0を設定すると中継しません。中継機は受信したパケットをそのまま送信します。中継回数が指定数になるまで中継を繰り返します。

※ 設定は子機のみに有効です。
※ 中継機の配置や数によっては多数の複製パケットが乱造され通信が不安定になる場合がありますのでご注意ください。

設定例

図のようなネットワーク構成にする場合は赤色の端末のRoleを0に青色の端末のRoleを3に設定してください。

青色の端末は最大3ホップの中継機能を持ちます。よって、赤色の端末の間に最大3台の中継端末を入れることができます。

中継機能を持つ端末の通信範囲内に他の端末がある場合は同様に中継します。