WIZnet RP2040-HAT github - https://github.com/Wiznet/RP2040-HAT-CircuitPython
MQTT?
- M2M과 사물인터넷에서 사용하기 위해 만들어진 경량의 메시지 프로토콜
- TCP에서 동작하는 형태
- <서버>와 <클라이언트> 구조가 아닌 <Broker><Publisher><Subscriber> 구조로 이루어져있다.
- <Publisher>는 Topic을 발행한다
- <Subscriber>는 Topic을 구독한다
- <Broker>는 중계 역할을 하며 1:N 통신에 적합하다
Environment
1. Mosquitto? + 설치하기
- 모스키토는 MQ Telemetry Trasport 프로토콜 (MQTT) 3.1과 3.1.1을 구현한 오픈소스 메세지 브로커이다.
- 저전력 파워센서, 모바일디바이스, 임베디컴퓨터, 아두이노, 마이크로 컨트롤러같은 "디바이스 To 디바이스"의 메세징 처리에 적합하다.
https://mosquitto.org/download/
2. Raspberry Pico와 WIZnet RP2040 HAT 결합하기.
Ethernet 모듈에는 W5100S가 내장되었고 SPI 인터페이스를통해 라즈베리파이 피코와 연결된다. 주의할 점은 방향을 잘 보고 꽂아야 한다. 이더넷 쉴드를 보면 USB 모양을 표시가 있는데 이 방향과 라즈베리파이 피코의 USB 방향이 같아야 한다.
Upload and Run [Publish & Subscribe]
1. WIZnet github에서 라이브러리 내부에 있는 파일을 가져와 피코내부에 있는 lib폴더에 그대로 복사한다.
2. examples/MQTT/PubSub/W5x00_MQTT_pubsub.py 파일을 피코에 있는 code.py에 가져온다.
3. Command Prompt를 열어 [Mosquitto Broker]를 실행하고 [Teraterm Terminal]을 열어 피코를 실행한다.
C:\Program File\Mosquitto> mosquitto -c mosquitto.conf -p 1883 -v
4. Prompt 창을 3개 열어 다음과 같은 명령어로 클라이언트 3개를 브로커에 접속하여 준다.
-h : Host PC의 IP address를 의미함.
-t : Topic명으로 Broker로부터 구독.
mosquitto_sub -h 192.168.1.11 -t BREAKFAST
mosquitto_sub -h 192.168.1.11 -t LUNCH
mosquitto_sub -h 192.168.1.11 -t DINNER
5. 새로운 프롬프트를 열고 브로커를 통해 해당 토픽에 Publish 메세지를 넣어주면 각 [Topic]에 맞는 Text가 응답하여 출력된다.
C:\Program Files\Mosquitto>mosquitto_pub -h 192.168.1.11 -t breakfast -m "B"
C:\Program Files\Mosquitto>mosquitto_pub -h 192.168.1.11 -t lunch -m "L"
C:\Program Files\Mosquitto>mosquitto_pub -h 192.168.1.11 -t dinner -m "D"
MQTT_pubsub video - https://youtu.be/9PR27j9qlEc
'IT' 카테고리의 다른 글
WIZnet Ethernet HAT[RP2040] Loopback Test 진행하기 (0) | 2021.10.25 |
---|---|
WIZnet RP2040-HAT을 통해 Adafruit IO 접속하기- Uplink & DownLink [CircuitPython] (0) | 2021.10.01 |
WIZnet W5500 Chip Freezing Test (0) | 2021.08.02 |
AX2 - WIZnet TCP/UDP 속도 측정 Tool (0) | 2021.07.09 |
W5500 Ethernet Shield(Raspberry Pi Pico) 서버 + Wizfi360 WiFi Module (Raspberry Pi Pico)클라이언트 온도 측정 데이터 전달 (0) | 2021.06.17 |