728x90
반응형
참고
ESP32 사이트의 ESP-MQTT 문서를 한글화한다.
ESP-MQTT
Overview
ESP-MQTT는 MQTT 프로토콜 클라이언트의 구현이다(MQTT는 경량의 publish/subscribe 메세지 프로토콜임).
Features
- TCP를 통한 MQTT, mbedtls에 대한 SSL, Websocket을 통한 MQTT, Websocket Secure를 통한 MQTT를 지원한다.
- URI로 설정하기 쉬움
- 다중 인스턴스 (하나의 애플리케이션에서 다중 클라이언트)
- subscribing(구독), publishing(게시), 인증, 마지막 메세지, 연결 유지 ping와 3 단계의 QoS를 모두 지원(완전히 작동하는 클라이언트여야 함)
Application Example
- protocols/mqtt/tcp: tcp를 통한 MQTT, 기본 포트 1883
- protocols/mqtt/ssl: tcp를 통한 MQTT, 기본 포트 8883
- protocols/mqtt/ssl_psk: 인증을 위해 사전에 공유된 키를 사용하는 tcp를 통한 MQTT, 기본 포트 8883
- protocols/mqtt/ws: Websocket을 통한 MQTT, 기본 포트 80
- protocols/mqtt/wss: Websocket Secure을 통한 MQTT, 기본 포트 443
Configuration
URI
- 현재 mqtt, mqtts, ws, wss 체계를 지원
- TCP를 통한 MQTT 샘플 :
- mqtt://mqtt.eclipseprojects.io : TCP를 통한 MQTT, 기본 포트 1883
- mqtt://mqtt.eclipseprojects.io:1884 : TCP를 통한 MQTT, 포트 1884
- mqtt://username:password@mqtt.eclipseprojects.io:1884 : TCP를 통한 MQTT, 포트 1884, 사용자 이름과 패스워드 포함
- SSL을 통한 MQTT 샘플 :
- mqtts://mqtt.eclipseprojects.io : SSL을 통한 MQTT, 포트 8883
- mqtts://mqtt.eclipseprojects.io:8884 : SSL을 통한 MQTT, 포트 8884
- Websocket을 통한 MQTT 샘플 :
- ws://mqtt.eclipseprojects.io:80/mqtt
- Websocket Secure를 통한 MQTT 샘플 :
- wss://mqtt.eclipseprojects.io:443/mqtt
- 최소 구성 :
const esp_mqtt_client_config_t mqtt_cfg = { .uri = "mqtt://mqtt.eclipseprojects.io", // .user_context = (void *)your_context }; esp_mqtt_client_handle_t client = esp_mqtt_client_init(&mqtt_cfg); esp_mqtt_client_register_event(client, ESP_EVENT_ANY_ID, mqtt_event_handler, client); esp_mqtt_client_start(client);
- 참고 : 기본적으로 mqtt 클라이언트는 이벤트 루프 라이브러리를 사용하여 관련된 mqtt 이벤트(연결됨, 구독됨, 게시됨 등)를 게시한다.
SSL
Last Will and Testament
Other Configuration Parameters
Change setting in Porject Configuration Menu
Events
PREVIOUS : ESP-Modbus
NEXT : ESP-TLS
728x90
반응형
'일반 개발 리소스 > ESP32' 카테고리의 다른 글
ESP32 - Get Started (0) | 2022.07.27 |
---|---|
ESP-WROVER-KIT V4.1 Getting Started Guide (0) | 2022.07.25 |
ESP32 - API Reference - Application Protocols - ESP-Modbus (0) | 2022.07.22 |
ESP32 - API Reference - Application Protocols - ASIO port (0) | 2022.07.20 |
ESP32 - API Reference - Application Protocols (0) | 2022.07.20 |