상황이 JetLinks 기본 플랫폼 - TCP 통과 모드 액세스 장치를 사용하여

TCP 서비스 게이트웨이 액세스 장비를 사용하여

이 문서는 사용하여 패킷 보낸 사람 도구 시뮬레이트 TCP 클라이언트 액세스 플랫폼.

프로토콜 만들기

을 참조하시기 바랍니다 계약을 작성

장치 모델 만들기

  1. 선택  设备管理-> 设备型号-> 클릭 新建버튼을.

인서트 장치 product.pnguploading.4e448015.gif실패 덤프 다시 업로드를 취소새로운 장치 모델

  1. 작업 열에서 클릭 查看클릭, 함수 정의를 선택 添加속성 및 이벤트를 추가하는 버튼을 누릅니다.
    전. 속성을 정의
    속성 정의
    II. 이벤트 정의
    이벤트 정의
    이벤트 정의
    이벤트 정의
    이벤트 정의
  2. 작업 열에서 클릭 发布새로운 모델을 출시, 단추입니다.

장치 모델 출시

장치 인스턴스를 생성

  1. 선택  设备管理-> 设备实例-> 클릭 新建버튼을.

새로운 장비

  1. 작업 열에서 클릭 激活새로운 장비의 인스턴스를 활성화하기 위해 버튼을 누릅니다.

장비 게시

는 TCP 네트워크 구성 요소 만들기

  1. 선택  网络组件-> 组件管理-> 클릭 新增组件버튼을.
    삽입 - MQTT 클라이언트

참고 :이 문서는 스크립트가 메시지를 구문 분석하고 사용자 정의하는 자바 스크립트 방법을 사용합니다.

사용자 정의 스크립트 :

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 진수 문자열을 작성합니다.
    . 제가 검출 프로토콜 코드
    II org.jetlinks.demo.protocol.tcp 테스트 실행 테스트 패킷 생성 방법 DemoTcpMessageTest 원하는 장치 인증 진수 문자열.
    코드는 다음과 같은된다 :
    @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 (의 DeviceID, 키)를 제 1 파라미터 ID, 디바이스 모델 TCP 2 인증 구성 파라미터.

. 테스트 클래스에 필요한 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 코드는 자동으로 16 진수 문자열의 바닥을 입력 한 후 생성됩니다.
    마녀 진수.
    주소 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