チャットモード(C)
チャットモードでは、プロンプトの表示とエコーバック(自身が入力した文字が端末にも表示される)が行われます。全ての無線端末は子機の設定とします。電波到達範囲の全ての端末にメッセージが伝達され複数の端末でチャットできます。
親子関係は無く複数の端末間で通信できますが、宛先の指定はできずデータはブロードキャストで全ての端末に伝達されます。アスキーデータのみでバイナリデータは送れません。(0x00-0x1F, 0x7F は送信不可)
中継は最大3段(3ホップ)まで対応しています。初期設定では中継はしません。中継機能を使用する場合はインタラクティブモードにて設定が必要です。
チャットモードはインタラクティブモードにてUARTモード(m)をCに設定します。(初期設定はチャットモード)
使用例
MONOSTICK-モノスティックをパソコンやスマートフォン、タブレット端末のUSBポートに接続することで複数の端末同士でテキストチャットをすることができます。
送信可能文字数
- 1パケットの最大データ数は80バイトです。
- 送信データサイズは本文のバイト数+ハンドル名のバイト数です。
- 送信可能な最大送信バイト数は640バイトです。80バイト以上の場合は複数パケットに分割され送信されます。
書式
チャットモードの書式は単純です。入力はプロンプト先頭から始まり改行文字で終端となります。
- {本文(0x0-0x1F,0x7F以外)}[CRまたはLF]
表示
プロンプト
プロンプトはモジュール(またはハンドル)名と、発言の続き番号が表示されます。
- {モジュールのアドレス8桁}:{続き番号 0-255}>
例: 86300001:0> - {ハンドル名}:{続き番号 0-255}>
例: モノワイヤレス:2>
入力中のエラーメッセージなど
- (err), (canceled) など () 書きのメッセージが出ます。
ハンドル名はインタラクティブモードで任意に設定できます。
出力メッセージ
出力メッセージはプロンプト同様、モジュールアドレス(またはハンドル名)と、発言番号の後、本文が出力されます。
- {モジュールのアドレス8桁}:{続き番号 0-255}>
例: [86300038:5] Hello! - {ハンドル名}:{続き番号 0-255}>
例: [モノワイヤレス:2] こんにちわ
プロンプト上での操作
プロンプト上ではいくつかの制御コマンドを使用できます。
- Ctrl+L ⇒ 画面のクリア(画面消去エスケープシーケンス対応のターミナル)
- Ctrl+C ⇒ 入力のキャンセル
- BS/DEL ⇒ 入力バッファを1バイト戻し、画面に Ctrl+H を出力します(対応ターミナルの場合、カーソルが1文字左に移動します)
中継機能の説明
通信距離が足りない場合や障害物があって通信できない場合に中継機を使用することで通信距離を延長したり通信範囲を拡張することが期待できます。
中継機能を持った端末は受信したパケットをそのまま送信します。
設定方法
M2ピンをGNDに接続すると1ホップの中継機能が設定されます。インタラクティブモードで1ホップ以上の中継機能の設定もできます。
中継機能を使用する場合はインタラクティブモードで”r”を入力し、set Roleの値を1~3に設定してください。初期値は0です。
r: set Role (0x0)
1~3は最大中継回数です。0を設定すると中継しません。中継機は受信したパケットをそのまま送信します。中継回数が指定数になるまで中継を繰り返します。
※ 設定は子機のみに有効です。
※ 中継機の配置や数によっては多数の複製パケットが乱造され通信が不安定になる場合がありますのでご注意ください。
設定例
図のようなネットワーク構成にする場合は赤色の端末のRoleを0に青色の端末のRoleを3に設定してください。
青色の端末は最大3ホップの中継機能を持ちます。よって、赤色の端末の間に最大3台の中継端末を入れることができます。
中継機能を持つ端末の通信範囲内に他の端末がある場合は同様に中継します。