Mqtt가 전송한 주차장 데이터 수신

1089 단어
Context
회사 서버 emqttd: mqtt 프록시 서버(수신 및 전송 담당) 장치: mqtt 패키지 발송(topic+message)
수신 프로그램
기술은 nodejs 스크립트로 mqtt와bitwise 라이브러리를 빌려 실현됩니다.전송 방식은 웹소켓이기 때문에host주소는 ws://:8083/mqtt,8083은emqttd가 웹소켓에 개방한 포트입니다.
var client = mqtt.connect(MQTT_ADDR, { clientId: 'BeCarefulexclusiveID', connectTimeout: 1000, debug: true }, (err) => {
    if (err) {
        console.log('Client established error');
    } else {
        console.log('Client established');
    }
});

프로토콜의 데이터가 비트별 필드인 경우bitwise의 사용을 알아야 합니다.
var array_l = bitwise.readByte(data[3]);  //array_l is a Number(0/1) array, thus could be operated in bitwise layer

그러나 각 Byte가 읽는 8비트 배열은 다음과 같이 분할해야 합니다.
var msgType = MV.slice(0, 4); // get 0 ~3 four bits

Array2String:
msgType = msgType.join("");

위의 코드 더블 인덱스는 그룹의 모든 요소 간에 문자 간격이 없는 문자열을 나타낸다
이어서 문자열을 2진수로 인트로 변환합니다. 예를 들어 문자열 011은 3입니다.
msgType = parseInt(msgType, 2);

실제 상황 회사cai'y

좋은 웹페이지 즐겨찾기