본문 바로가기

AWS

(2)
[AWS IoT 프로젝트] AWS LED Button 개요 / 목차 / 동영상 개요 결론적으로는 안드로이드 앱으로 ESP32와 연결된 LED를 켜고 끄는 아주 간단한 프로젝트입니다. 이번 프로젝트의 목표는 하드웨어를 제어하는 것이 아니라, 안드로이드 앱과 임베디드 시스템이 암호화된 웹 클라우드를 매개로 비동기적 통신 시스템을 구현하는 것이기 때문에 제어할 하드웨어 영역을 의도적으로 줄였습니다. 또한 단순한 장거리 통신은 WIFI를 사용하고 ESP32에서 HTTP 서버를 구축하여 구현할 수도 있지만, 아마존 웹 서비스(AWS)를 사용한 이유는 SDK에 보안과 통신을 담당하는 API가 이미 구현되어 있고, 또한 주요 언어, 플랫폼에 대해 제공되기 때문입니다. AWS C언어 SDK는 리눅스용이지만 ESP32 SDK에서 이미 포팅해서 제공하고 있었습니다. Android SDK 링크 제 블..
[AWS LED Button] ESP32 (1) : 시스템 흐름 시스템 흐름 ESP32는 AWS IoT에서 생성된 인증서와 개인키를 생성/다운로드한 후 바이너리 파일을 내부 플래시(non-volatile memory)에 저장합니다. AWS IoT에서 인증서를 생성하는 방법은 여기에나와 있습니다. 인증서를 생성하고 나면 -certificate.pem.crt(인증서), -private.pem.key(개인키), -public.pem.key(공용키)를 받을 수 있습니다. 하지만 공용키는 필요 없으니 무시하고, 인증서와 개인키만 다운받아서 파일 이름의 "-" 지운 다음 certs 폴더에 넣으면 컴파일할 때 자동으로 이미지에 삽입됩니다. 사실 개인키와 공용키의 확장자 .crt와 .key는 단순 문자열입니다. 따라서 텍스트 에디터로도 오류없이 내용을 확인할 수 있습니다. 그리고 ..