AWS(Amazon Web Services) IoT Core를 사용하여 MQTT 서비스를 이용하기 위해서는 아래와 같은 절차가 필요합니다. docs.aws.amazon.com의 개발자 안내서의 내용인데 자세하게 잘 설명이 되어 있습니다.
요약하면 아래 그림과 같이 왼쪽 편의 AWS IoT Core 정책을 생성하여 디바이스 인증서를 가지고(화살표 부분) 와서 사물을 생성하면 IoT Core 서비스를 사용할 수 있게 되어 있습니다.
위의 절차대로 진행 해 보겠습니다.
먼저 콘솔 홈의 검색에 iot core를 적어 서비스를 검색해 봅니다.
가장 맨 위에 검색된 IoT Core 서비스를 선택합니다.
저는 즐겨찾기를 해 놔서 주황색 별 모양이 나오며 왼쪽 AWS 로고 밑에 IoT Core 버튼 메뉴가 나와 있습니다.
IoT Core 서비스를 선택하면 아래와 같은 AWS IoT 메인 설정 관련 화면이 나옵니다.
왼쪽의 설정 메뉴중 관리 -> 보안 -> 정책을 선택 후 가운데 주황색의 '정책 생성' 버튼을 클릭합니다.
먼저 정책 속성에서 정책 이름을 지정합니다.(예. aws_iot_policy)
아래쪽의 정책 문서는 섹션에서 AWS IoT Core 작업에 대한 리소스 액세스 권한을 부여하거나 거부하는 정책을 생성하는 것인데 아래 이미지와 같이 연결/수신/배포/구독 작업을 허용할지의 여부 등을 세부적으로 나눠 관리할 수 있습니다.
이번 테스트에서는 모든 작업에 대해 제한 없이 동작되게 하기 위해 아래쪽의 정책 문서에서 허용/*/*로 작성 후 아래 주황색 생성 버튼을 클릭하여 정책을 생성하였습니다.
정책설정을 마쳤으니 사물을 생성합니다.
왼쪽 메뉴의 관리 -> 모든 디바이스 -> 사물을 선택한 후 가운데 '사물 생성' 버튼을 클릭합니다.
'등록할 사물 수'에서 '단일 사물 생성'을 선택 후 다음을 클릭합니다.
단일 사물 생성의 순서는 사물 속성 지정 -> 디바이스 인증서 구성 -> 인증서에 정책 연결 순으로 진행됩니다. 먼저 사물 속성에 사물 이름(예. aws_iot)을 입력합니다. 아래 디바이스 섀도우는 섀도우 없음을 선택합니다.
디바이스 섀도우 설명을 읽어 보시면 디바이스의 상태를 AWS와 동기화할 수 있다고 적혀있습니다. 예를 들면 subscriber의 네트워크가 동작이 안 되는 동안 publisher에서 topic 메시지를 전송하면 두 기기간의 데이터가 불일치되는 상황이 발생될 수 있는데 이 경우 섀도우 메시지를 사용하면 이런 불일치를 방지할 수 있습니다.
디바이스 인증서에서 '새 인증서 자동 생성'을 선택 후 다음을 클릭합니다.
이전에 만들어 놓은 정책(예. aws_iot_policy)을 선택후 아래 '사물 생성' 버튼을 클릭하여 디바이스 인증서와 정책을 연결해 줍니다.
사물 생성이 완료되면 아래와 같이 '인증서 및 키 다운로드' 화면이 나오는데 모든 다운로드 버튼을 클릭하여 관련 인증서를 다운로드해 놓습니다. 다른 디바이스들에서 AWS IoT Core 서비스를 이용할 경우 이 인증서를 사용하여 접속 및 인증하는 용도로 사용됩니다.
주의하실 점은 아래 다운로드 화면은 사물 생성 후에만 나오는 1회성 화면입니다.
즉 콘솔에서 이 페이지를 나가면 인증서 파일을 더 이상 다운로드 할 수 없습니다. 재다운로드가 안되니 인증서를 받으려면 사물 개체를 삭제한 다음 처음부터 이 절차를 다시 시작해야 합니다. 따라서 꼭 이 화면에서 모든 인증서를 다운로드 해 놓으시기 바랍니다.
완료를 선택하면 아래와 같은 화면이 나오며 생성한 사물을 확인 하실 수 있습니다.
생성된 인증서를 사용하여 AWS IoT 서비스를 제대로 사용해 봐야겠습니다.
'Hardware > Raspberry PI' 카테고리의 다른 글
라즈베리파이 피코 W 구매 및 기본 동작 테스트 (2) | 2022.12.10 |
---|---|
OpenSSL을 사용한 AWS 인증서 포맷(PEM, DER) 변환하기 (0) | 2022.12.07 |
라즈베리파이 피코와 A4988 스텝모터 모듈용 PCB 제작 (0) | 2022.10.27 |
Raspberry Pi Pico 에서 A4988 스텝모터 드라이버 사용하기 (5) | 2022.10.25 |
라즈베리파이 피코 테스트 보드 제작 (0) | 2022.08.07 |
댓글