0️⃣ AWS
▶️ AWS란?
Amazon Web Service
클라우드 컴퓨팅 플랫폼으로 작동하여 인터넷을 통해 IT 리소스에 대한 원격 액세스 제공
즉, 서버, 네트워크 등 인프라 전체를 빌려주는 서비스
▶️ 클라우드란?
데이터를 보관, 정리, 분석하고 새로운 서비스를 빠르게 추진할 수 있도록 IT 기술을 빌려주는 서비스
▶️ 클라우드 컴퓨팅이란?
클라우드를 통해 가상화된 컴퓨팅 리소스를 제공
▶️ AWS와 IOT?
AWS는 Iot 애플리케이션을 구축 및 배포하기 위한 다양한 서비스와 도구를 제공
기업에서 디바이스를 쉽게 연결, 관리하고 데이터를 처리, 분석 가능
1️⃣ AWS와 ESP32 연결 방법
1. AWS 회원가입 -> Iot Core 접속
2. 사물 생성
1) 단일 사물 생성
2) 사물 이름 지정
3) 인증키 다운로드
3. 생성된 사물에서 arn 복사
4. 정책 생성
복사한 arn 붙여넣고 정책 생성
iot:Connect -> client/사물이름
iot:Publish -> topic/토픽이름/pub
iot:Receive -> topic/토픽이름/sub
iot:Subscribe -> topicfilter/토픽이름/sub
5. 정책에 연결
1) 사물 ESP32 선택 후 하단에 인증서 클릭
2) 인증서 작업에서 정책 연결 클릭
3) 위에서 생성한 ESP32_policy 연결
기타) 비활성화면 활성화
2️⃣ ESP32 코드 업로드
1. ArduinoJson / lwmqtt 라이브러리 설치
2. ESP32 코드
AWS_IOT_PUBLISH_TOPIC / AWS_IOT_SUBSCRIBE_TOPIC은 정책 생성 시 지정했던 esp32/pub과 동일해야함
3. secret.h 코드 생성
1) Device Private Key 확인 시 > 연결프로그램 > 메모장으로 하면 조회가능
2) endPoint 확인
3. 시리얼 모니터에서 연결 확인
3️⃣ MQTT 연결 확인
1. Test에서 MQTT 테스트 클라이언트 접속
주제 구독에서 esp32/pub으로 게시
결과 출력 확인
4️⃣ ESP32에서 온습도 값을 AWS에 보내기
1. ESP32 코드 업로드
2. 시리얼 모니터에서 결과 값 확인
3. AWS MQTT 테스트 창에서 결과 값 확인
느낀점
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