物事JetLinksベースプラットフォーム - TCPパススルー・モード・アクセス・デバイスを使用して

TCPサービスゲートウェイアクセス機器を使用して

この文書では、使用してパケット送信者のツールをシミュレートし、TCPクライアントアクセスプラットフォーム。

プロトコルの作成

参照してください契約を作成します

デバイスモデルの作成

  1. 選択  设备管理- > 设备型号- >クリック新建ボタンを。

挿入デバイス-product.pnguploading.4e448015.gifダンプは失敗した再アップロードをキャンセル新しいデバイスモデル

  1. [アクション]列で、クリック查看をクリックし、関数定義を選択するために、添加プロパティとイベントを追加するボタンを。
    私は。プロパティ定義
    属性定義
    II。イベントの定義
    イベント定義
    イベント定義
    イベント定義
    イベント定義
  2. [アクション]列でをクリックして发布新しいモデルをリリース、ボタンを押します。

デバイスモデルがリリース

デバイスインスタンスを作成します。

  1. 選択  设备管理- > 设备实例- >クリック新建ボタンを。

新しい機器

  1. [アクション]列でをクリックして激活新しい機器のインスタンスをアクティブにするボタン。

機器公開

TCPネットワークコンポーネントの作成

  1. 選択  网络组件- > 组件管理- >クリック新增组件ボタンを。
    挿入-MQTTクライアント

注:このドキュメントでは、スクリプトがメッセージを解析し、カスタマイズするためのJavaScriptの方法を使用しています。

カスタムスクリプト:

var BytesUtils = org.jetlinks.core.utils.BytesUtils;
     parser.fixed(5) //1. 固定5字节为报文头,0字节为类型,1-4字节为消息长度(低字节位在前).
       .handler(function(buffer){
            var len = BytesUtils.leToInt(buffer.getBytes(),1,4);//2. 获取消息长度.
            parser
               .fixed(len)//3. 设置下一个包要读取固定长度的数据.
               .result(buffer); //4. 设置当前解析的结果
        })
       .handler(function(buffer){
            parser.result(buffer) //5. 收到了新的包,则为消息体,设置到结果中,完成后将与步骤4的数据合并为完整的数据包.
                   .complete(); //6. 完成解析(消息将进入协议中进行解析(DemoTcpMessageCodec)),重置解析器,下一个数据包将从步骤1开始解析.
        });
  1. 作成したモジュールをクリックして启动ボタンを押します。
    MQTTクライアントスタート

TCPゲートウェイサービス機器を作成します

  1. 選択  网络组件- > 设备网关- >クリック新建ボタンを。 インサートMQTTゲートウェイ

注:ゲートウェイとMQTTサービスデバイスが異なるデバイスは、対応するメッセージによって同定することができないので、クライアントは、プロトコル・メッセージを指定しなければならない(。メッセージを復号化の文脈で特定することができないMessageDecodeContext)オペレータインタフェースデバイスを得るためには、( DeviceOperatorここで使用されます。演示协议v1

  1. [アクション]列で、をクリックして启动ゲートウェイを起動するボタン。
    MQTTゲートウェイスタート

TCPツールへのアクセスを使用して

  1. ダウンロードしてインストールし、パケット送信者を

注:バイナリデータのTCPプロトコルパケット送信、ツールの使用本明細書にパケット送信元最初のメッセージは16進数に変換し、その後、自動的にインターネットに送信されたツールでバイナリに変換し送信します。

  1. 必要な16進文字列を作成します。
    私は検出プロトコルコードを
    DemoTcpMessageTestデバイス認証所望進ストリング内II org.jetlinks.demo.protocol.tcpテスト実行テストパケット生成方法。
    コードは以下の通りであります:
    @Test
    void test() {
        DemoTcpMessage message = DemoTcpMessage.of(MessageType.AUTH_REQ, AuthRequest.of(1000, "admin"));

        byte[] data = message.toBytes();
        System.out.println(Hex.encodeHexString(data));

        DemoTcpMessage decode = DemoTcpMessage.of(data);

        System.out.println(decode);

        Assertions.assertEquals(message.getType(), decode.getType());
        Assertions.assertArrayEquals(message.getData().toBytes(), decode.getData().toBytes());
    }
   

結果:000d000000e80300000000000061646d696e

注:デバイス用AuthRequest.of(デバイスID、鍵)デバイス・モデルの第1のパラメータID、TCP第二認証構成パラメータ。

。テストクラスで必要に応じてIIIは、16進文字列コード生成イベント報告を行います。

    @Test
    void encodeEvent() {
        DemoTcpMessage demoTcpMessage = DemoTcpMessage.of(MessageType.FIRE_ALARM,
                FireAlarm.builder()
                        .point(ThreadLocalRandom.current().nextInt())
                        .lat(36.5F)
                        .lnt(122.3F)
                        .deviceId(1000)
                        .build());
        byte[] data = demoTcpMessage.toBytes();
        System.out.println(demoTcpMessage);
        System.out.println(Hex.encodeHexString(data));
    }

結果:0614000000e8030000000000009a99f4420000124222b7c94c

  1. パラメータの設定

    私。の情報提供 TCPは基本的な情報を設定します

    パラメータ 説明
    名前 カスタム名を入力してください。
    ASCII ASCIIコードが自動的に進文字列の下に入った後に生成されます。
    HEX 六角。
    住所 TCPサービスのアドレス。
    TCPサービスポート。
    永続的なTCP 接続を確認後より長く維持することができます。

    注:パラメータを設定すると、前後のパラメータ値またはパラメータ値は全くスペースでないことを確認してください。

    モードは、TCPを選択します。
    モードの選択

    オンライン・パラメータとイベント報告パラメータを保存しました。
    オンラインの機器:
    パラメータ1
    イベント・レポート:
    パラメータ2

  2. シミュレーションデバイスオフライン

packetsenderツールをクリックしてSend要求を開始ボタンを押します。
オンライン-送信

それが成功に接続されているライン上のプラットフォームへの装置状態

オンラインデバイス

デバイスでは、ロギングモジュールは、ライン上のデバイスを記録します見ることができます

デバイスのオンライン・ログ

 

チェックPersistent TCPpacketsenderは、接続要求が成功した後に新しいページを開きます。

永続-TCP

あなたが接続されたデバイスのプラットフォームを切断することができ、新たなページを閉じます

切断永続-TCP

プラットフォームは、成功へのオフラインデバイス切断状態であります

デバイスがオフラインであります

デバイスでは、デバイスログオフモジュールのログを見ることができます

デバイスがオフラインのログです

  1. アナログ・デバイセズは、イベントをレポート

    私。ステップ4で保存された手順3.を選択して、デバイスが成功した新ライン接続のページイベントの報告パラメータの後に開かれます。

    イベント報告要求

    II。報告成功したら、ページを表示することができます。

    イベントのレポート内容

    目次1つのイベント報告

    III。イベントは、デバイスのログをレポート

    イベントは、デバイスのログをレポート

    イベントは、デバイスのログをレポート1

公開された13元の記事 ウォン称賛88 ビュー7024

おすすめ

転載: blog.csdn.net/qq_36598097/article/details/105245656