0️⃣ AWS





▶️ AWS란?

Amazon Web Service

클라우드 컴퓨팅 플랫폼으로 작동하여 인터넷을 통해 IT 리소스에 대한 원격 액세스 제공

즉, 서버, 네트워크 등 인프라 전체를 빌려주는 서비스









▶️ 클라우드란?

데이터를 보관, 정리, 분석하고 새로운 서비스를 빠르게 추진할 수 있도록 IT 기술을 빌려주는 서비스





▶️ 클라우드 컴퓨팅이란?

클라우드를 통해 가상화된 컴퓨팅 리소스를 제공





▶️ AWS와 IOT?

AWS는 Iot 애플리케이션을 구축 및 배포하기 위한 다양한 서비스와 도구를 제공

기업에서 디바이스를 쉽게 연결, 관리하고 데이터를 처리, 분석 가능







1️⃣ AWS와 ESP32 연결 방법







1. AWS 회원가입 -> Iot Core 접속

image

image







2. 사물 생성

image

image



1) 단일 사물 생성

image



2) 사물 이름 지정

image

image



3) 인증키 다운로드

image





3. 생성된 사물에서 arn 복사

image

image





4. 정책 생성

image

복사한 arn 붙여넣고 정책 생성

image

image

iot:Connect -> client/사물이름

iot:Publish -> topic/토픽이름/pub

iot:Receive -> topic/토픽이름/sub

iot:Subscribe -> topicfilter/토픽이름/sub





5. 정책에 연결

1) 사물 ESP32 선택 후 하단에 인증서 클릭

image

2) 인증서 작업에서 정책 연결 클릭

image

image

3) 위에서 생성한 ESP32_policy 연결

image

기타) 비활성화면 활성화

image









2️⃣ ESP32 코드 업로드







1. ArduinoJson / lwmqtt 라이브러리 설치

image

image





2. ESP32 코드


AWS_IOT_PUBLISH_TOPIC / AWS_IOT_SUBSCRIBE_TOPIC은 정책 생성 시 지정했던 esp32/pub과 동일해야함







3. secret.h 코드 생성


1) Device Private Key 확인 시 > 연결프로그램 > 메모장으로 하면 조회가능

2) endPoint 확인

image





3. 시리얼 모니터에서 연결 확인

image







3️⃣ MQTT 연결 확인







1. Test에서 MQTT 테스트 클라이언트 접속

주제 구독에서 esp32/pub으로 게시

image

결과 출력 확인

image









4️⃣ ESP32에서 온습도 값을 AWS에 보내기







1. ESP32 코드 업로드







2. 시리얼 모니터에서 결과 값 확인

image





3. AWS MQTT 테스트 창에서 결과 값 확인

image







느낀점

topic과 thing name에 혼동이 있어 esp32와 연결되지 않은 오류 발견 후에 분류하여 입력하니 연결이 잘 됨

AWS로 연결하여 클라우드에 대한 사용법을 알게 되었음











참고

https://seaforest76.tistory.com/13

https://velog.io/@cheesam31/ESP32-with-AWS-IoT-2-

https://aws.amazon.com/ko/blogs/compute/building-an-aws-iot-core-device-using-aws-serverless-and-an-esp32/?fbclid=IwAR0HfZ4H1Hsfbj4FIDw4x0mLt7mQU9YE3ok7gfGyfEK6QnKFtfTmlYWrC4I