투케이2K

211. (TWOK/WORK) [업무 문의] AWS IoT 디바이스 기기 장비 프로비저닝 수행 후 자동 펌웨어 업데이트 여부 체크 및 OTA 수행 가능 업무 문의 본문

투케이2K 업무정리

211. (TWOK/WORK) [업무 문의] AWS IoT 디바이스 기기 장비 프로비저닝 수행 후 자동 펌웨어 업데이트 여부 체크 및 OTA 수행 가능 업무 문의

투케이2K 2026. 5. 8. 19:28
728x90
반응형

[제 목]

주제 : 투케이2K 업무 정리

타이틀 : 투케이 / 2k / 업무 정리

제목 : [업무 문의] AWS IoT 디바이스 기기 장비 프로비저닝 수행 후 자동 펌웨어 업데이트 여부 체크 및 OTA 수행 가능 업무 문의

 

[내 용]

------------------------------------------------------------------------------
[개발 및 테스트 환경]
------------------------------------------------------------------------------

- 제 목 : [업무 문의] AWS IoT 디바이스 기기 장비 프로비저닝 수행 후 자동 펌웨어 업데이트 여부 체크 및 OTA 수행 가능 업무 문의


- 테스트 환경 : AWS / IoT / Device / OTA


- 사전) 👉 AWS IoT Core 간단 설명 : 

  >> AWS IoT 는 IoT 디바이스를 다른 디바이스 및 AWS 클라우드 서비스에 연결하는 클라우드 서비스를 제공합니다.

  >> 디바이스가에 연결할 수 있는 경우 AWS IoT는 AWS 가 제공하는 클라우드 서비스에 디바이스를 AWS IoT 연결할 수 있습니다.

  >> AWS IoT Core 메시지 브로커는 MQTT 및 MQTT over WSS 프로토콜을 사용하여 메시지를 게시하고 구독하는 디바이스 및 클라이언트를 지원합니다. 
  
    - HTTPS 프로토콜을 사용하여 메시지를 게시하는 디바이스와 클라이언트도 지원합니다.


- 사전) 👉 IoT 장비 간략 설명 : 

  >> IoT 장비 (사물인터넷, Internet of Things Device) 는 인터넷에 연결되어 데이터를 수집·전송·처리하고, 다른 시스템이나 사람과 상호작용하는 물리적 장치를 말합니다.

  >> IoT 장비의 기본 구성요소 : 

    - 센서 (Sensor) : 온도, 습도, 조도, 가속도, 압력, 위치(GPS) 등 주변 환경이나 상태를 측정
    - 액추에이터 (Actuator) : 명령에 따라 물리적 동작 수행
    - 프로세서 / MCU : 센서 데이터 처리 및 로직 수행
    - 통신 모듈 : 데이터를 외부로 전송하거나 명령을 수신
    - 전원 : 배터리, 어댑터, 태양광 등

  >> IoT 장비 주요 특징 : 

    - 실시간 데이터 수집
    - 원격 모니터링 및 제어
    - 자동화 및 지능화
    - 24/7 지속적 운영
    - 대규모 확장 가능성(수천~수백만 대)

  >> IoT 장비의 동작 흐름 예시 : 

    - 센서 → IoT 장비 → 네트워크 → 서버/클라우드 → 분석/저장 → 사용자 앱

------------------------------------------------------------------------------





------------------------------------------------------------------------------
[이슈 사항]
------------------------------------------------------------------------------

1. ✔️ AWS IoT Core 연동 디바이스 기기 장치 등록 프로비저닝 수행 완료 후 자동으로 업데이트 할 펌웨어 버전이 있는지 확인할 수 있는 기능 문의


2. ✔️ 자동으로 업데이트할 펌웨어 버전이 있는 경우 해당 버전으로 기기 등록 시 자동으로 OTA 기능이 동작 되도록 구현 해달라는 문의


3. 👉 현재 로직 상 기기 프로비저닝 수행 이후 자체적으로 펌웨어 버전을 체크하고 OTA 수행하는 기능이 없으며, 기기 등록 완료 이후 앱에서 버전 확인 후 업데이트를 수행해야함

------------------------------------------------------------------------------





------------------------------------------------------------------------------
[원인 파악 및 증상 재현]
------------------------------------------------------------------------------

1. 디바이스 기기 AWS IoT Core 연동 플릿 프로비저닝 동작 수행


2. 프로비저닝 수행 동작 완료 후 데이터 송수신을 하기 위한 필수 named shadow 생성 및 주기 보고 수행


3. 현재 디바이스 기기 펌웨어 보다 높은 버전의 펌웨어 파일이 S3 에 등록 되어 있지만, 기기가 자동으로 OTA 동작을 하지 않는 것 확인

------------------------------------------------------------------------------






------------------------------------------------------------------------------
[조치 내용]
------------------------------------------------------------------------------

1. 디바이스 기기 초기 프로비저닝 수행 완료 후 펌웨어 버전 체크 및 자동 OTA 동작을 수행하는 로직 추가 개발


2. ✅ 간단 구현 된 로직 설명 : 

  >> 디바이스 기기 AWS IoT Core 연동 프로비저닝 수행

  >> 디바이스 기기 데이터 송수신을 하기 위한 필수 named shadow 생성 및 주기 보고 수행

  >> 디바이스 기기는 MQTT 통신을 통해 현재 자신의 펌웨어 버전 정보 전달 및 OTA 를 수행할 버전이 있는지 비교 요청 수행

    - 👉 Shadow 전송 페이로드 예시 
      {
        "state": {
          "reported": { 
            "procedure": "FIRMWARE.UPDATE",
            "version": "1.0.2"
          }
        }
      }

  >> 해당 Shadow 페이로드가 MQTT 메시지로 수신 된 경우 AWS 룰엔진 및 람다 함수를 사용해서 업데이트 수행할 펌웨어 버전 확인 수행

  >> 업데이트 할 펌웨어 버전이 있는 경우 OTA Job 생성 수행

------------------------------------------------------------------------------





------------------------------------------------------------------------------
[참고 사이트]
------------------------------------------------------------------------------

▶️ [AWS 원격 펌웨어 업데이트 OTA 수동 job 생성 및 특정 사물 notify 펌웨어 업데이트 요청 방법 정리]

https://kkh0977.tistory.com/8159

https://blog.naver.com/kkh0977/223944636139?trackingCode=blog_bloghome_searchlist


▶️ [자바스크립트 AWS STS 임시 자격 증명 사용해 S3 Get PreSignedUrl 프리 사인 URL 주소 생성]

https://kkh0977.tistory.com/8151

https://blog.naver.com/kkh0977/223938740405?trackingCode=blog_bloghome_searchlist


▶️ [Aws Iot Core] Fleet provisioning 플릿 프로비저닝 설명 및 동작 프로세스 정리

https://kkh0977.tistory.com/7439

https://blog.naver.com/kkh0977/223691943757?trackingCode=blog_bloghome_searchlist


▶️ [Aws Iot Core] Fleet provisioning 플릿 프로비저닝 수행 방법 정리 - 클레임 인증서 , 신뢰할 수 있는 사용자

https://blog.naver.com/kkh0977/223779257161?trackingCode=blog_bloghome_searchlist


▶️ [업무 이슈] IoT 장비 등록 및 운영 시 하나의 WIFI 와이파이 에 너무 많은 기기를 연결해 통신 속도 저하 문제 이슈

https://kkh0977.tistory.com/8798

https://blog.naver.com/kkh0977/224274829743

------------------------------------------------------------------------------
 
728x90
반응형
Comments