/

シリアル通信アプリの透過モード

純粋にUARTを無線化するモード
透過モードは、ヘッダの付加やエコーバック、プロンプト表示を行わず、有線接続された UART と同じような振る舞いを実現します。
外部マイコン同士を接続するイメージ

外部マイコン同士を簡単に接続できますが、書式を用いて通信を最適化するには書式モード(アスキーバイナリ)が適しています。

概要

純粋にUARTを無線化します。

送信側の入力受信側の出力
任意のデータ任意のデータ

書式を必要としないため、既存の UART 通信を簡単に無線化できます。

一方で、データの区切りがあいまいになってしまうほか、受信側の出力から送信元を判別できないといった欠点があります。

初期状態では、送信トリガ文字にCRLFを指定しています。したがって、送信側へ入力されたデータをCRLFで区切り、CRLF よりも前のデータを送信します。

例えば、送信側の端末へ Hello<Enter> と入力すると、受信側の端末はそのまま Hello を出力します。

【送信側】

Hello  <- 入力

【受信側】

Hello  <- 出力

連続して入力された文字列を80バイトごとに分割して送信します。トリガ文字までのデータは通常80バイト以下としてください。

全ての端末は子機としたうえで、送信内容はブロードキャストします。すべての端末と通信できますが宛て先は指定できません。アスキー文字だけでなく、バイナリデータも送信できます。

中継は3段(3ホップ)まで対応しています。初期設定では中継しません。

親機と子機の区別

透過モードは、親機と子機を区別しません。

アプリケーションIDと周波数チャネルが同一であれば、どの端末へ入力したデータもほかの端末へと送信されます。

ネットワークの構成イメージ

ネットワークの構成イメージ

送信元の判別

透過モードでは、送信元を判別できません。

送信元を判別するには、送信側へ入力するデータそのものに送信元の情報を含める必要があります。

送信トリガ

送信側の入力に書式はありませんが、データはある時点で分割されたのち、パケットごとに無線で送信されます。

したがって、次に挙げる送信トリガを意識しなくてはなりません。

  • データ入力後のタイムアウトを迎えたとき
  • 入力データが最小データサイズを満たしたとき
  • 送信トリガ文字を受け取ったとき

送信トリガの設定は、インタラクティブモードのk:送信トリガ項目から指定します。

設定例

送信トリガ文字をLF、最小データサイズを8バイト、タイムアウトを30msとする場合は次のように設定します。

 m: set UART mode (D)
 k: set Tx Trigger (sep=0x0a, min_bytes=8 dly=30[ms])
 o: set option bits (0x00000100)