MQTT 카드¶
여러 키트 (스테이션) 간 메시지 통신을 위한 MQTT 카드들입니다. 한 키트의 작업 완료 신호를 다른 키트로 전달해 협업 자동화를 만들 수 있습니다.
무엇을 하는 단계인가요?¶
MQTT 는 여러 장치가 메시지를 주고받는 통신 방식 입니다. 프리모스튜디오에서는 다음 시나리오에 사용:
- 스테이션 A 가 작업 완료 → 스테이션 B 가 받아서 다음 작업 시작
- 학생들의 여러 키트가 순차 협업 하는 통합 자동화 시연
- 마스터 스테이션 이 여러 키트에 명령 전달
MQTT 브로커 사전 설정
MQTT 사용 전에 [장비] 탭에서 MQTT 브로커 가 설정·연결되어야 합니다. 프리모스튜디오 앱이 내장 브로커를 제공하므로 별도 외부 서버 불필요. 자세한 설정은 강사가 진행하시거나 [장비 패널 사용법] (별도 문서) 참조.
카드 종류¶
-
MQTT 대기 (수신)
MQTT 대기(블록) ·MQTT 대기 끝다른 스테이션에서 메시지가 올 때까지 대기
-
MQTT 발행 (송신)
MQTT 발행다른 스테이션에 메시지 보내기
MQTT 대기 (블록형)¶
지정한 스테이션에서 메시지가 올 때까지 대기하고, 들어오면 안의 블록을 실행합니다.
- 파라미터:
- 보낸 스테이션 (기본
signal) — 어느 스테이션의 메시지를 기다릴지 - 대기 시간 (초, 기본 30) — 타임아웃 시 다음 카드로 진행
- 보낸 스테이션 (기본
- 블록 구조:
MQTT 대기~MQTT 대기 끝사이의 카드들이 메시지 수신 시 실행
MQTT 발행¶
다른 스테이션에 메시지를 보냅니다.
- 파라미터:
- 받을 스테이션 (기본
signal) — 어느 스테이션에 보낼지 - 메시지 내용 (텍스트, 기본
완료) — 변수 삽입 가능 ({변수})
- 받을 스테이션 (기본
사용 예시¶
예시 1 — 두 키트 순차 협업
스테이션 A (생산):
스테이션 B (포장):
예시 2 — 변수와 함께 데이터 전송
스테이션 A:
스테이션 B:
수신된 메시지는 {mqtt_message} 변수에 자동 저장됩니다.
예시 3 — 마스터 - 슬레이브 패턴
마스터 스테이션:
슬레이브 B / C:
자주 발생하는 문제¶
MQTT 대기가 30초 후 그냥 통과 (메시지 안 옴)
- MQTT 브로커 연결 확인 — [장비] 탭에서 MQTT 상태 "● 연결됨"
- 스테이션 이름 일치 — 보내는 쪽
toStation과 받는 쪽fromStation이 정확히 같아야 함 (대소문자 구분) - 두 PC 가 같은 네트워크 — Wi-Fi / LAN 동일 네트워크 필요
- 타임아웃 늘리기 — 학생 작업 환경에서는 30초 → 60~120초 권장
MQTT 발행은 했는데 다른 스테이션이 못 받음
- 받는 쪽 스테이션 이름이 정확한지 확인
- 받는 쪽이 [MQTT 대기] 카드로 대기 중인지 확인 (대기 안 하면 메시지 못 받음)
- 두 스테이션이 같은 MQTT 브로커에 연결됐는지 확인
MQTT 메시지에 한글이 깨져 보임
드물게 발생. 영문 메시지로 시도해 보고 동일 문제 있으면 페이지 하단 📮 피드백 보내기 로 알려주세요.
강사 팁¶
협업 시연으로 학습 효과 극대화
한 학생의 작업 결과가 다른 학생의 시작 신호가 되는 시연은 자동화의 본질 (협업·통합) 을 보여주는 가장 강력한 학습 자료입니다.
단순한 신호 전달부터 시작
학생의 첫 MQTT 학습은 단순히 "완료 신호 보내기 → 받기" 부터. 데이터 전송 (변수 삽입) 은 익숙해진 후 도입.
스테이션 이름 통일 규칙
학생 키트마다 고유 이름을 정해두세요 (예: station_A, station_B, station_1, station_2). 학기 초에 정해서 모든 흐름에서 일관 사용.
동시 발행 주의
여러 스테이션이 동시에 같은 스테이션에 발행하면 메시지 순서가 섞일 수 있습니다. 협업 시나리오는 순차적으로 설계하세요.
다음 단계¶
MQTT 까지 익혔다면 첫 프로그램 만들기 → 의 통합 예제로 모든 카드를 활용해 봅시다.
이 페이지에 빠진 내용이나 잘못된 부분을 발견하시면 페이지 하단 📮 피드백 보내기 를 활용해 주세요.