본문 바로가기

ERDDAP MQTT 통합

ERDDAP 이제 MQTT 프로토콜을 지원하여 실시간 데이터 섭취 및 알림을 촉진합니다. 이 기능은 오픈 소스에 의해 구동됩니다. HiveMQ MQTT 클라이언트 이름 * HiveMQ 커뮤니티 에디션 브로커 라이브러리.

ERDDAP 두 가지 주요 방법으로 MQTT를 활용할 수 있습니다:

  1. MQTT 클라이언트로: ERDDAP 기존의 MQTT 브로커에 참여할 수 있으며 실시간 데이터셋을 만들 수 있습니다.

  2. MQTT 브로커: ERDDAP 자체 임베디드 MQTT 브로커를 호스팅 할 수 있으며 외부 고객이 데이터를 직접 게시 할 수 있습니다.

·

ERDDAP MQTT 클라이언트로

ERDDAP MQTT 클라이언트가 외부 또는 자체 임베디드 MQTT 브로커에 주제를 구독 할 수 있습니다. 이것은 새로운 것을 사용하여 달성됩니다. EDDTableMqtt에서 dataset 유형, 기존과 비슷한 기능 다운로드 데이터셋.

현재 클라이언트 구현만 지원 관련 기사 관련 기사

윤곽: EDDTableMqtt에서

MQTT 브로커에 가입하는 데이터셋을 구성하려면, 유형의 데이터셋을 정의 EDDTableMqtt에서 내 계정 datasets.xml 파일. 뒤에 오는 윤곽 꼬리표는 안에 유효합니다 <dataset> 구획:

<!-- Example configuration for an EDDTableFromMqtt dataset in datasets.xml -->
<dataset type="EDDTableFromMqtt" datasetID="mqtt_realtime_data" active="true">

<!-- The hostname or IP address of the MQTT broker. -->
<serverHost>broker.example.com</serverHost>

<!-- The port number of the MQTT broker. -->
<serverPort>1883</serverPort>

<!-- A unique identifier for this MQTT client. -->
<clientId>erddap-subscriber-1</clientId>

<!-- The username for broker authentication (optional). -->
<username>user</username>

<!-- The password for broker authentication (optional). -->
<password>secret</password>

<!-- A comma-separated list of MQTT topics to subscribe to. -->
<topics>sensor/+/data, another/topic</topics>

<!-- Set to 'true' to use a secure SSL/TLS connection. Default is 'false'. -->
<useSsl>false</useSsl>

<!-- The session expiry interval in seconds. -->
<sessionExpiryInterval>3600</sessionExpiryInterval>

<!-- The connection timeout in seconds. -->
<connectionTimeout>10</connectionTimeout>

<!-- Set to 'true' to enable automatic reconnection. Default is 'true'. -->
<automaticReconnect>true</automaticReconnect>

</dataset>

·

ERDDAP MQTT 브로커

ERDDAP 임베디드 MQTT 브로커를 실행할 수 있습니다, 이는 두 가지 주요 목적을 제공:

  1. 자료 Ingestion: 외부 MQTT 클라이언트가 실시간 데이터셋을 만들기 위해 게시된 데이터를 수신합니다.

  2. 경고 : Dataset 변경에 대한 알림을 게시하려면.

임베디드 브로커

임베디드 MQTT 브로커는 기본적으로 비활성화됩니다. 활성화하려면 다음 플래그를 추가하십시오. 설정.xml ::

<!-- Enables the embedded HiveMQ broker. Default is 'false'. --> <enableMqttBroker> 한국어 </enableMqttBroker>

브로커 구성 및 데이터 디렉토리

브로커의 구성 및 데이터 파일에 대한 사용자 지정 디렉토리를 지정할 수 있습니다. 설정.xml · 이 태그가 비어있는 경우, ERDDAP HiveMQ 라이브러리에 의해 지정된 기본 디렉토리를 사용합니다. 로깅 및 확장을 포함한 더 고급 구성 세부 사항은 공식을 참조하시기 바랍니다. HiveMQ 커뮤니티 에디션 위키 ·

<!-- The parent directory for all MQTT-related files. -->
<bigParentDirectory>/opt/erddap/mqtt/</bigParentDirectory>

<!-- The path to the embedded MQTT broker's configuration folder. -->
<mqttConfigFolder>/opt/erddap/mqtt/conf/</mqttConfigFolder>

<!-- The path to the embedded MQTT broker's data folder. -->
<mqttDataFolder>/opt/erddap/mqtt/data/</mqttDataFolder>

사용 사례 1: MQTT 클라이언트에서 데이터를 섭취

임베디드 브로커를 사용하여 실시간 데이터셋을 구축하려면 구성할 수 있습니다. EDDTableMqtt에서 데이터셋 (위에서 설명한) same 안에 ERDDAP 인스턴스는 자신의 로컬 브로커에 연결 . 외부 MQTT 클라이언트는 그 때 자료를 이행할 수 있습니다 ERDDAP 브로커, EDDTableMqtt에서 dataset는 구독하고 ingest.

사용 사례 2 : Dataset 변경 알림 게시

ERDDAP dataset 변경에 대한 알림을 게시 할 수 있습니다. (e.g., 업데이트 또는 재로드) MQTT 브로커의 주제에. 첫째, 브로커가 활성화되거나 외부 하나를 사용할 수 있도록합니다. 그런 다음 알림 기능을 활성화하십시오. 설정.xml ::

<!-- Set to 'true' to publish dataset change notifications via MQTT. Default is 'false'. --> <publishMqttNotif> 한국어 </publishMqttNotif>

이 기능을 사용할 때 ERDDAP 내부 MQTT 클라이언트를 사용하여 메시지를 게시합니다. 이 클라이언트를 위한 연결 조정은 안으로 주문을 받아서 만들어질 수 있습니다 설정.xml · 아래 표는 사용 가능한 설정과 기본 값을 나열합니다.

주요 특징제품정보기본 값이름 *
<mqttServerHost>이름 *지역호스트브로커 호스트는 알림을 게시합니다.
<mqttServerPort>뚱 베어1883년알림 브로커의 포트.
<mqttClientId>이름 *erddap 클라이언트알림 게시자의 클라이언트 ID.
<mqttUserName>이름 *erddap 사용자 이름알림 게시자의 사용자 이름.
<mqttPassword>이름 *erddap 패스워드알림 게시자의 비밀번호.
<mqttSsl>한국어이름 *알림 연결에 SSL/TLS를 사용하십시오.
<mqttKeepAlive>뚱 베어60명초에 있는 지속 가능한 간격.
<mqttCleanStart>한국어이름 *깨끗한 세션 시작 (각 세션 상태 없음) ·
<mqttSessionExpiry>뚱 베어10대몇 초 만에 세션 만료 간격.
<mqttConnectionTimeout>뚱 베어10대몇 초에 연결 타임아웃.
<mqttAutomaticReconnect>한국어한국어연결이 손실되면 자동으로 다시 연결됩니다.

·

환경 변수 파싱 datasets.xml

새로운 기능은 환경 변수를 사용할 수 있도록 도입되었습니다. datasets.xml · 이름 * 기본 설정 ·

이 기능을 비활성화하려면 다음 플래그를 추가하십시오. 설정.xml ::

xml의

<enableEnvParsing> 이름 * </enableEnvParsing>