セクションの複数ページをまとめています。 印刷またはPDF形式で保存...

もとのページに戻る

2024-05-14 現在

シリアル通信アプリ 書式モード(バイナリ)の 0xDB コマンド

書式モード(バイナリ)におけるインタラクティブモードを使用しない設定機能
    書式モードでは、インタラクティブモードの代わりに0xDBコマンドを使うことで、UART接続されたデバイスから動的に設定を行えます。

    入力の書式

    #データ内容備考
    uint8ヘッダ0xA5のみ
    uint8ヘッダ0x5Aのみ
    uint16データ長\(N\)+2
    0uint8送信先の論理デバイスID自身を示す0xDBのみ
    1uint8コマンド番号後述の値から選択
    2[uint8]パラメータ設定値を示す長さ\(N\)のバイト列(オプション)
    uint8チェックサムXOR
    uint8フッタEOT (0x04)

    コマンド番号の一覧

    機能
    0xF0ACKの有効化
    0xF1端末情報の取得
    0xF2端末設定の適用
    0xF3端末設定の取得
    0xF8端末の制御
    0xFD端末設定の消去
    0xFE端末設定の保存
    0xFF端末のリセット

    0xF0:ACKの有効化

    ACK 応答の要求を行います。

    パラメータはありません。

    応答の書式

    #データ内容備考
    uint8ヘッダ0xA5のみ
    uint8ヘッダ0x5Aのみ
    uint16データ長3
    0uint8送信先の論理デバイスID0xDBのみ
    1uint8コマンド番号0xF0のみ
    2uint8データ0x01のみ
    uint8チェックサムXOR
    uint8フッタEOT (0x04)

    0xF1:端末情報の取得

    アドレス等の情報を表示します。起動時にも出力されます。

    パラメータはありません。

    応答の書式

    #データ内容備考
    uint8ヘッダ0xA5のみ
    uint8ヘッダ0x5Aのみ
    uint16データ長17
    0uint8送信先の論理デバイスID0xDBのみ
    1uint8コマンド番号0xF1のみ
    2uint32アプリケーションID
    6uint32バージョン番号1.4.7なら00010407
    10uint8論理デバイスID
    11uint32シリアルID
    15uint8サイレントモードの状態有効1, 無効0
    16uint8ネットワークの状態UP1, DOWN0
    uint8チェックサムXOR
    uint8フッタEOT (0x04)

    0xF2:端末設定の適用

    設定を適用します。

    応答の書式

    成功した場合
    #データ内容備考
    uint8ヘッダ0xA5のみ
    uint8ヘッダ0x5Aのみ
    uint16データ長\(N\)+2
    0uint8送信先の論理デバイスID0xDBのみ
    1uint8コマンド番号0xF3のみ
    2[uint8]設定内容長さ\(N\)の識別子とデータの繰り返し
    uint8チェックサムXOR
    uint8フッタEOT (0x04)
    失敗した場合
    #データ内容備考
    uint8ヘッダ0xA5のみ
    uint8ヘッダ0x5Aのみ
    uint16データ長3
    0uint8送信先の論理デバイスID0xDBのみ
    1uint8コマンド番号0xF3のみ
    2uint8エラー0xFFのみ
    uint8チェックサムXOR
    uint8フッタEOT (0x04)

    0xF3:端末設定の取得

    設定を取得します。

    応答の書式

    #データ内容備考
    uint8ヘッダ0xA5のみ
    uint8ヘッダ0x5Aのみ
    uint16データ長\(N\)+2
    0uint8送信先の論理デバイスID0xDBのみ
    1uint8コマンド番号0xF3のみ
    2[uint8]設定内容長さ\(N\)の識別子とデータの繰り返し
    uint8チェックサムXOR
    uint8フッタEOT (0x04)

    0xF8:端末の制御

    起動時にサイレントモードを有効としていた場合に、これを解除します。

    応答の書式

    #データ内容備考
    uint8ヘッダ0xA5のみ
    uint8ヘッダ0x5Aのみ
    uint16データ長4
    0uint8送信先の論理デバイスID0xDBのみ
    1uint8コマンド番号0xF8のみ
    2uint8データ0x11のみ
    3uint8状態解除済み1, 未解除0
    uint8チェックサムXOR
    uint8フッタEOT (0x04)

    0xFD:端末設定の消去

    設定を初期化し、本体をリセットします。

    パラメータおよび応答はありません。

    0xFE:端末設定の保存

    適用した設定を保存し、本体をリセットします。

    パラメータおよび応答はありません。

    0xFF:端末のリセット

    適用した設定を破棄し、本体をリセットします。

    パラメータおよび応答はありません。

    パラメータの一覧(0xF2/0xF3

    0xF2:端末設定の適用 および 0xF3:端末設定の取得 のパラメータは、識別子とデータ(ビッグエンディアン)の繰り返しで表現します。

    識別子データ内容
    0x00uint32アプリケーションID
    0x01uint32周波数チャネルマスク
    0x02uint16再送回数と出力
    0x03uint8論理デバイスID
    0x04uint8役割
    0x05uint8中継レイヤ
    0x06uint8通信モード
    0x07uint32ボーレート
    0x08uint8パリティ
    0x09uint8暗号化機能
    0x0A[uint8]暗号化キー
    0x0Cuint16区切り文字
    0xFFuint8エラー

    0x00:アプリケーションID

    アプリケーションIDを指定します。

    0x01:周波数チャネルマスク

    周波数チャネルのビットマスクを指定します。

    使用するチャネルのビットを立てます。例えば、11チャネルを使う場合は1<<11です。

    0x02:再送回数と出力

    電波の送信出力と、透過モードおよびヘッダ付き透過モードにおいてパケットを追加で送信する回数を指定します。

    下位の1バイトのみを使用します。そのうち上位の4ビットが再送回数(0-9)、下位の4ビットが送信出力(0-3)です。例えば、8回再送/出力3 であれば 0x0083です。

    0x03:論理デバイスID

    論理デバイスIDを指定します。

    0x04:役割

    子機のみ有効です。以下の値を指定します。通常はネットワーク層を利用しない配送方式を選択してください。

    ネットワーク層を利用しない配送方式

    • 0:通常の指定(親機または子機)
    • 1-3:中継子機(論理デバイスIDを1-100 または 120とします)1-3の数値は最大中継段数を指します。最大中継段数まで再送を繰り返す方式のため、中継機の配置や数によっては重複したパケットを中継します。

    ネットワーク層を利用する配送方式

    • 11:親機
    • 12:中継機
    • 13:子機

    0x05:中継レイヤ

    中継レイヤの番号です。中継機は中継レイヤ数の上位(より小さい値)の中継機・親機への接続を試みます。役割12としているときにだけ有効です。

    0x06:通信モード

    • 0:透過モード
    • 1:書式モード(バイナリ)
    • 2:書式モード(バイナリ)
    • 3:チャットモード
    • 4:ヘッダ付き透過モード

    0x07:ボーレート

    UART ボーレートを指定します。

    0x08:パリティ

    以下の設定の組み合わせにおいて、設定値の総和を指定します。

    • Bit
      • 0:8Bit
      • 8:7Bit
    • Parity
      • 0:None
      • 1:Odd
      • 2:Even
    • Stop
      • 0:STOP 1
      • 4:STOP 2

    例えば、7-E-1 なら 8+2+0=10(0xA) を指定します。

    0x09:暗号化機能

    暗号化機能の有無を指定します。

    • 0:無効
    • 1:AES128bit の暗号化を有効

    0x0A:暗号化キー

    16バイトの暗号化キーを指定します。

    インタラクティブモードでは設定できないバイナリ列を格納できます。この場合、インタラクティブモードの表示が崩れる場合があります。

    0x0C:区切り文字

    区切り文字列の指定を行います(0x00-0xFF)。

    サイレントモード

    設定方法

    インタラクティブモードで以下の設定を行います。

    • r: Role80 を足しておく。例えば、通常の親機や子機なら80とする。
    • m: UART mode を書式モード(A/B)としておく。

    動作確認

    起動直後に出力される DB F1 応答の内容を確認します。

    解除方法

    DB F8 要求を行います(バイナリ形式:A5 5A 80 03 DB F8 10 33 04)。

    注意点

    • サイレントモードの再設定はできません。
    • サイレントモードが有効のときに送信コマンドを入力した場合の動作は未定義です。