Podczas spaceru z psem dwaj mężczyźni zatrzymali się obok licealistki i agresywnie zaproponowali, żeby ją zabrać na przejażdżkę
Nigdy wcześniej Kinga nie widziała swojego psa w takim stanie: w jego oczach płonął gniew, a kły błysnęły groźnie. Zanim zrozumiała, co się dzieje, pies już rzucił się na mężczyznę, który złapał ją za rękę i powalił na ziem# 01. AWS IoT Core(1)
## AWS IoT Core란
AWS IoT Core는 AWS에서 제공하는 서비스로 클라우드에서 연결된 디바이스를 쉽게 연결하고 관리할 수 있도록 해주는 플랫폼이다.
AWS IoT Core는 연결된 디바이스가 클라우드 애플리케이션 및 다른 디바이스와 안전하게 상호 작용할 수 있도록 지원한다.
## MQTT(Message Queuing Telemetry Transport)
MQTT는 경량의 메시지 프로토콜로, 저대역폭, 고지연 또는 불안정한 네트워크 환경에서도 효율적으로 작동하도록 설계되었다.
AWS IoT Core는 MQTT 프로토콜을 사용하여 디바이스와 클라우드 간의 통신을 지원한다.
### MQTT의 주요 개념
1. **Publisher(발행자)**: 메시지를 보내는 주체
2. **Subscriber(구독자)**: 메시지를 받는 주체
3. **Topic(토픽)**: 메시지를 분류하는 주제
4. **Broker(브로커)**: 메시지를 중계하는 서버
## AWS IoT Core의 주요 기능
1. **디바이스 게이트웨이**: 디바이스와 AWS 클라우드 간의 안전한 양방향 통신을 지원
2. **메시지 브로커**: MQTT 프로토콜을 사용하여 디바이스 간 메시지 교환을 지원
3. **규칙 엔진**: 디바이스에서 생성된 데이터를 다른 AWS 서비스로 전달하고 처리
4. **디바이스 섀도우**: 디바이스의 현재 상태를 클라우드에 저장하여, 디바이스가 오프라인 상태일 때도 상태 정보를 확인할 수 있음
5. **보안 및 인증**: X.509 인증서, IAM 정책 등을 사용하여 디바이스와 애플리케이션의 보안을 강화
## AWS IoT Core 설정
AWS IoT Core를 사용하기 위해서는 AWS 계정이 필요하며, IoT Core 서비스를 활성화해야 한다.
1. **AWS 콘솔**에 로그인
2. **IoT Core** 서비스로 이동
3. **사물(Things)** 생성
4. **인증서 및 정책(Policies)** 설정
5. **규칙(Rules)** 생성
## 실습: AWS IoT Core에 메시지 발행 및 구독
### 1. AWS IoT Core 콘솔에서 테스트 클라이언트 열기
AWS IoT Core 콘솔에서 **테스트** 메뉴로 이동하여 MQTT 테스트 클라이언트를 연다.
### 2. 토픽 구독
– **주제 구독**에서 구독할 토픽을 입력 (예: `my/topic`)
– **구독** 버튼 클릭
### 3. 메시지 발행
– **주제 발행**에서 발행할 토픽을 입력 (예: `my/topic`)
– **메시지 페이로드**에 전송할 메시지 입력 (예: `{„message”: „Hello, AWS IoT!”}`)
– **발행** 버튼 클릭
### 4. 결과 확인
구독한 토픽에서 발행된 메시지가 수신되는지 확인한다.
## 디바이스 섀도우(Device Shadow) 사용하기
디바이스 섀도우는 디바이스의 현재 상태를 JSON 형식으로 저장한다. 디바이스가 오프라인 상태일 때도 섀도우를 통해 상태를 확인하고 제어할 수 있다.
### 1. 디바이스 섀도우 생성
– **AWS IoT Core 콘솔**에서 **관리 > 사물**로 이동
– 사물을 선택하고 **섀도우** 탭 클릭
– **클래식 섀도우** 선택 후 **섀도우 문서 업데이트**
### 2. 섀도우 업데이트
„`json
{
„state”: {
„desired”: {
„light”: „on”
},
„reported”: {
„light”: „off”
}
}
}
„`
### 3. 섀도우 상태 확인
– **MQTT 테스트 클라이언트**에서 토픽 `$aws/things/{thingName}/shadow/update` 구독
– 섀도우 상태가 업데이트되면 메시지 수신 확인
## AWS IoT 규칙 엔진 사용하기
규칙 엔진을 사용하여 디바이스에서 생성된 데이터를 다른 AWS 서비스로 전달할 수 있다.
### 1. 규칙 생성
– **AWS IoT Core 콘솔**에서 **작업 > 규칙**으로 이동
– **규칙 생성** 버튼 클릭
### 2. 규칙 설정
– **이름** 입력 (예: `MyRule`)
– **SQL 문** 작성 (예: `SELECT * FROM 'my/topic’`)
– **작업** 추가 (예: **DynamoDB에 메시지 저장** 선택)
### 3. 규칙 활성화
– **규칙 생성** 버튼 클릭하여 규칙 활성화
## 정리
AWS IoT Core는 연결된 디바이스를 쉽게 관리하고 데이터를 처리할 수 있는 강력한 플랫폼이다.
MQTT 프로토콜을 사용하여 안전하게 통신하며, 규칙 엔진을 통해 다른 AWS 서비스와 연동할 수 있다.
디바이스 섀도우를 사용하면 오프라인 상태에서도 디바이스 상태를 관리할 수 있다.
—
앞으로 AWS IoT Core를 활용하여 다양한 IoT 애플리케이션을 구축할 수 있다.
다음 강의에서는 AWS IoT Core를 실제 디바이스와 연결하는 방법을 배울 예정이다.



