Skip to content

ESP32에 W5500 연결하여 Ethernet 사용하기 - MQTT TCP

ESP32에 W5500 연결하여 Ethernet 사용하기 - MQTT TCP

Project description

ESP32 Module은 ESP-IDF SDK를 이용하여 다양한 예제들을 응용할 수 있습니다.

?

이 글에서는 그중에서도 Hardwired Ethernet Module인 W5500을 연결하여 protocols-mqtt- tcp 실행 과정에 대해 설명합니다.

?

이 글을 읽기전에 먼저 아래 글을 읽고 오시기 바랍니다.

https://blog.naver.com/jcm931213/222300813578

ESP32에 W5500 연결하여 Ethernet 사용하기 - MQTT TCP
ESP32에 W5500 연결하여 Ethernet 사용하기 - Basic

ESP32 Module은 ESP-IDF SDK를 이용하여 다양한 예제들을 응용할 수 있습니다.?이 글에서는 ...

blog.naver.com

?

Step 1 : Example Configuration

- 실행할 Example 폴더로 경로를 이동합니다.

cd esp-idf/example/protocols/mqtt/tcp

?

- Example configuration 을 위한 menuconfig를 실행합니다.

idf.py menuconfig
ESP32에 W5500 연결하여 Ethernet 사용하기 - MQTT TCP

?

?

- Example Configuration 을 통해? Ethernet Interface로 W5500 Module을 설정하고 SPI Interface 등의 Hardware 연결을 설정합니다.

ESP32에 W5500 연결하여 Ethernet 사용하기 - MQTT TCP

?

- 이 예제에서는 mqtt 브로커로 "mqtt.eclipseprojects.io" 에 접속합니다. mqtt 브로커를 변경하고 싶을 경우, Example Configuration에서 변경합니다.

ESP32에 W5500 연결하여 Ethernet 사용하기 - MQTT TCP

- 장치관리자를 통해 ESP 가 연결된 port를 확인합니다.

ESP32에 W5500 연결하여 Ethernet 사용하기 - MQTT TCP

?

Step 4 : MQTT/TCP Example 실행

- 이 예제에서는 MQTT Broker로 "mqtt.eclipseprojects.io" 에 접속합니다. Broker에 접속된후에는 mqtt_event_handler()에 의해 다음과 같은 동작을합니다.

1. Topic "/topic/qos1" 에 Data "data_3"를 publish

2. Topic "/topic/qos0" 을 subscribe

3. Topic "/topic/qos1" 을 subscribe

4. Topic "/topic/qos1" 을 unsubscribe

따라서 mqtt 테스트를 위해 해당 topic을 subscribe(구독)하고 데이터를 publish 하기 위한 작업을 합니다.

ESP32에 W5500 연결하여 Ethernet 사용하기 - MQTT TCP

- mqtt테스트를 위해 mosquitto program을 설치해줍니다. mosquitto가 아닌 다른 프로그램을 사용하셔도 무관합니다.

https://mosquitto.org/download/

?
Download

Some Eclipse Foundation pages use cookies to better serve you when you return to the site. You can set your browser to notify you before you receive a cookie or turn off cookies. If you do so, however, some areas of some sites may not function properly. To read Eclipse Foundation Privacy Policy clic...

mosquitto.org

- 프로그램 설치후 Topic "/topic/qos1" 에 대한 subscriber를 생성해줍니다.

ESP32에 W5500 연결하여 Ethernet 사용하기 - MQTT TCP

?

- mqtt/tcp program을 build하고 flash에 업로드하여 출력을 확인합니다. 이때 COM7에는 장치관리자에서 확인한 ESP32 Module의 COM Port를 입력합니다.

idf.py -p COM7 build flash monitor

- 프로그램 출력을 확인합니다.

DHCP 서버로부터 IP주소 192.168.0.44 를 할당받았음을 확인 할 수 있습니다.

위에서 확인했던 code와같이 아래의 동작을 진행합니다

1. Topic "/topic/qos1" 에 Data "data_3"를 publish

2. Topic "/topic/qos0" 을 subscribe

3. Topic "/topic/qos1" 을 subscribe

4. Topic "/topic/qos1" 을 unsubscribe

이후에 Topic "topic/qos0" 으로 Data "data"를 수신하였습니다.

ESP32에 W5500 연결하여 Ethernet 사용하기 - MQTT TCP

?

- mosquitto subscriber에서 ES32에서 전송한 Message를 확인할 수 있습니다.

ESP32에 W5500 연결하여 Ethernet 사용하기 - MQTT TCP

?

- 반대로 mosquitto publisher로 데이터로 전송합니다.

ESP32에 W5500 연결하여 Ethernet 사용하기 - MQTT TCP

?

- ES32에서 mosquitto publisher에서 전송한 Message를 확인할 수 있습니다.

ESP32에 W5500 연결하여 Ethernet 사용하기 - MQTT TCPESP32에 W5500 연결하여 Ethernet 사용하기 - MQTT TCP

Comments

Similar projects you might like

Comments