주요 콘텐츠

이 페이지는 기계 번역을 사용하여 번역되었습니다. 영어 원문을 보려면 여기를 클릭하십시오.

subscribe

MQTT 토픽 구독

R2022a 이후

설명

SubscrTable = subscribe(mqttClient,mqttTopic)은 MQTT 클라이언트가 지정된 MQTT 토픽을 구독하도록 만들고, 해당 클라이언트의 모든 구독 목록을 나열하는 테이블을 반환합니다.

SubscrTable = subscribe(mqttClient,mqttTopic,Name=Value)는 선택적 이름-값 쌍을 사용하여 추가적인 구독 동작을 지정합니다.

예제

예제

모두 축소

Eclipse HiveMQ™ 퍼블릭 브로커에 연결된 MQTT 클라이언트를 생성하고 다양한 옵션을 사용하여 여러 토픽을 구독합니다.

"trubits/mqTop48" 토픽을 구독합니다.

mqttClient = mqttclient("tcp://broker.hivemq.com");
mySub = subscribe(mqttClient,"trubits/mqTop48")
mySub =

  1×3 table

          Topic          QualityOfService    Callback
    _________________    ________________    ________

    "trubits/mqTop48"           0               ""
mySub = subscribe(mqttClient, "trubits/mqTmp52",QualityOfService=2)
mySub =

  2×3 table

          Topic          QualityOfService    Callback
    _________________    ________________    ________

    "trubits/mqTop48"           0               ""   
    "trubits/mqTmp52"           2               ""   

showmessage.m 파일에 토픽과 수신된 메시지를 출력하는 콜백 함수를 만듭니다.

function showMessage(topic,data)
    disp(topic);
    disp(data);
end

토픽을 구독하면 메시지가 수신될 때 콜백 함수가 실행됩니다.

mySub = subscribe(mqttClient,"trubits/mqTsp61",Callback=@showmessage)
mySub =

  3×3 table

          Topic          QualityOfService      Callback   
    _________________    ________________    _____________

    "trubits/mqTop48"           0            ""           
    "trubits/mqTmp52"           2            ""           
    "trubits/mqTsp61"           0            "showmessage"

입력 인수

모두 축소

MQTT 클라이언트가 icomm.mqtt.Client 객체로 지정되었으며, mqttclient 함수를 사용하여 생성되었습니다.

예: mqttClient = mqttclient()

데이터형: object

구독할 MQTT 토픽을 string형 또는 문자형 벡터로 지정합니다. 특정 계층 구조 아래의 모든 토픽을 구독하려면 와일드카드 토픽을 지정하십시오.

예: "trubits/mqTop48"

데이터형: string | char

이름-값 인수

모두 축소

선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN으로 지정합니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.

예: Callback="showMsg"

메시지 전달에 대한 서비스 품질(QoS)은 0, 1 또는 2와 같은 정수 값으로 지정됩니다.

  • 0 — 메시지가 최대 한 번만 전달됩니다(디폴트 값).

  • 1 — 메시지가 최소 한 번 이상 전달됩니다.

  • 2 — 메시지가 정확히 한 번만 전달됩니다. 그 이상도 이하도 아닙니다.

예: QualityOfService=1

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

구독한 토픽에서 메시지가 수신될 때 실행할 함수입니다. 함수 핸들, sting형 또는 문자형 벡터로 지정할 수 있습니다. 이 함수는 두 개의 입력 인수(토픽, 데이터)를 순서대로 받아 호출됩니다.

예: Callback=@notifyUser

데이터형: char | string | function_handle

출력 인수

모두 축소

MQTT 클라이언트가 구독 중인 모든 토픽의 테이블입니다.

버전 내역

R2022a에 개발됨