본문으로 이동
SK-INTELLIX / ARCHITECTURE ATLASMR7 개발 가이드 ↗

전체 Atlas / 모듈 상세 · 1398d109

IotAgent · MQTT·DeviceAgent 왕복 — 상세 구조도

기준 커밋: 1398d109c391c4044cae26d0e9aea4d3f08d9670. 도식은 기존 구현을 설명한다. 제품 이미지 설치·실기기 성공을 증명하지 않는다.

소스는 분석 가능하지만 AOSP Android.mk는 IotAgent.apk prebuilt를 선택

SVG 원본 크게 열기 · Mermaid 원본 · 모듈 분석 본문

IotAgent · MQTT·DeviceAgent 왕복
SVG 원본을 열어 확대하고, 아래 연결 표에서 E 번호를 확인하세요.

읽는 순서와 연결 의미

행은 책임·실행 경로별 묶음이며 별도 프로세스라는 뜻은 아니다. 같은 행의 인접 연결은 화살표로, 행을 넘거나 떨어진 상자 사이 연결은 동일한 E 번호의 출력·입력 포트로 표시한다. 아래 표는 방향과 의미를 모두 풀어 쓴 것이다. 그림의 코드 파일명을 눌러 저장소로 이동하는 기능은 없으며, 아래 경로로 지정 커밋을 조회할 수 있다.

연결 출발 → 도착 동작 종류
E01 AWS MQTT manager → subscribeToTopic Connected 후 구독 호출·명령
E02 subscribeToTopic → CmdTopic JSON 분류 호출·명령
E03 CmdTopic → DeviceControlProxy 사용 기기 명령 경로 호출·명령
E04 DeviceControlProxy 사용 → DeviceAgent IDeviceControl 호출·명령
E05 DeviceAgent → handleModuleCallback callback 결과·이벤트
E06 handleModuleCallback → topic publish 경로 method별 보고 호출·명령
E07 DeviceAgent → IIotControl Stub IIotControl 호출·명령
E08 IIotControl Stub → topic publish 경로 상태·응답 분기 호출·명령
E09 AWS MQTT manager → AWSIotMqttHandler 연결 손실 결과·이벤트

구성요소별 책임과 코드 근거

상자 구성요소 책임·상태 지정 커밋의 소스 경로
N01 AWS MQTT manager connect / Connected / 외부 SDK 연결 callback apps/IotAgent/app/src/main/java/com/sk/airbot/iotagent/IotAgent.java
N02 subscribeToTopic payload bytes → JSON / control / response / jobs apps/IotAgent/app/src/main/java/com/sk/airbot/iotagent/IotAgent.java
N03 CmdTopic setCmdTopic / Respones / topic별 DTO와 요청 처리 apps/IotAgent/app/src/main/java/com/sk/airbot/iotagent/mqtt/topic/CmdTopic.java
N04 DeviceControlProxy 사용 DeviceAgent에 제품 명령 / 포함 API jar에 의존 apps/IotAgent/app/src/main/java/com/sk/airbot/iotagent/IotAgent.java
N05 DeviceAgent MainApi → 제품 도메인 / 실행 결과·상태 callback apps/DeviceAgent/app/src/main/java/com/sk/airbot/deviceagent/main/api/MainApi.java
N06 handleModuleCallback DeviceControl 결과 분기 / method별 topic 변환 apps/IotAgent/app/src/main/java/com/sk/airbot/iotagent/IotAgent.java
N07 topic publish 경로 callTopic_Request / publish / 클라우드 상태·응답 송신 apps/IotAgent/app/src/main/java/com/sk/airbot/iotagent/mqtt/topic/CmdTopic.java
N08 IIotControl Stub DA → IoT의 별도 입구 / command switch apps/IotAgent/app/src/main/java/com/sk/airbot/iotagent/IotAgent.java
N09 WifiMonitor Wi-Fi 상태 관찰 / 연결과 AWS ready 구분 apps/IotAgent/app/src/main/java/com/sk/airbot/iotagent/WifiMonitor.java
N10 AWSIotMqttHandler 연결 손실 후 지연 재연결 / subscription 복원 경로 apps/IotAgent/app/src/main/java/com/sk/airbot/iotagent/IotAgent.java
N11 IotAgent.onCreate foreground / Handler / DeviceControl 연결 준비 apps/IotAgent/app/src/main/java/com/sk/airbot/iotagent/IotAgent.java
N12 job 메시지 처리 handleJobMessage / 일반 control topic과 구별 apps/IotAgent/app/src/main/java/com/sk/airbot/iotagent/IotAgent.java

해석 경계와 변경 시 검토

Connections

전체 시각 자료 · 전체 분석 · 모듈 분석 · 전체 소스 근거