스마트 디바이스 11주차 아두이노 클라우드 - yubiine/25-1_smartdevice GitHub Wiki
⭐️ 목표
ESP32와 아두이노 클라우드를 활용하여 IoT 데이터를 수집·활용하고, 원격 제어 기능을 실습한다.
📌아두이노 클라우드란?
Arduino Cloud는 사용자가 직접 프로그래밍하지 않아도 웹 기반 인터페이스에서 손쉽게
센서 데이터 확인, 디바이스 제어, 자동화 규칙 설정, 대시보드 구축 등을 할 수 있게 해주는 Arduino의 공식 IoT 플랫폼입니다.
🔹주요 기능
-
디바이스 연결 관리 (ESP32, MKR WiFi 1010, Uno R4 WiFi 등)
-
센서 데이터 수집 및 시각화
-
원격 제어 (웹, 스마트폰 앱으로 LED 제어 등)
-
IFTTT 같은 자동화 로직 설정
-
OTA(Over-The-Air) 펌웨어 업데이트
-
Webhook / REST API 지원 → 다른 시스템과 연동 가능
🔹 장점
-
초보자도 쉽게 사용할 수 있는 UI 기반 개발 환경
-
웹브라우저 기반으로 소프트웨어 설치 최소화
-
공식 앱(Arduino IoT Remote)을 통해 모바일로도 제어 가능
-
클라우드에서 자동으로 코드 생성해 줘서 프로그래밍 부담 ↓
-
무료로 시작 가능 (제한 있음)
🔹 한계
-
상업용 대규모 서비스 구축에는 부적합
-
사용자 정의 확장성 및 백엔드 연동 기능 부족
🔹 비교
항목 | 대기업형 | 오픈소스형 | 아두이노 클라우드 |
---|---|---|---|
대표 예시 | AWS IoT, Azure IoT | ThingsBoard, Node-RED | Arduino Cloud |
확장성 | 매우 높음 | 중간~높음 | 낮음 |
사용 편의성 | 중간 | 중간~어려움 | 매우 쉬움 |
교육용 적합도 | 낮음 | 중간 | 매우 높음 |
상용 서비스 적합도 | 매우 높음 | 중간 | 낮음 |
📌아두이노 클라우드 설정
-
Thing tab에서 “CREATE THING” 버튼을 클릭합니다.
-
프로젝트의 이름을 입력합니다. 그리고 “ADD VARIABLE” 버튼을 클릭합니다.
-
LED 상태를 제어하기 위한 led_state 변수 추가합니다
-
온습도 센서를 모니터링하기 위한 temperature변수 추가합니다.
-
“Associated Device” 섹션에서 “Select Device” 버튼을 클릭합니다.
-
“SET UP NEW DEVICE”를 선택한 뒤, “Set up a 3rd Party device”를 클릭합니다.
-
ESP32를 선택하고 드롭다운 메뉴에서 “DOIT ESP32 DEVKIT V1”을 선택합니다.
-
Device의 이름을 정하고 다음으로 진행합니다.
-
“Device ID”와 “Security Key”를 받게 됩니다. Security Key 복사
-
USB 포트를 통해 스케치를 업로드하려면 Create Agent가 필요합니다.
-
스케치 탭에 진입했을 때 아래 메시지 창이 뜬다면 Create Agent가 설치되어 있지 않은 것입니다.
-
“Learn More”를 누르면 download 링크를 확인할 수 있습니다
-
대시보드 설정 create -> add
-
led_state 변수를 제어할 switch 위젯을 선택합니다. 위젯의 이름을 정해 준 뒤 “Link Variable”
버튼을 클릭해 줍니다. 디바이스(ESP32)와 변수(led_state)를 선택하여 위젯에 연결해 줍니다. -
temperature를 모니터링할 Chart 위젯을 추가하여 줍니다.
-
디바이스(ESP32)와 변수(temperature)를 선택하여 연결해 줍니다.
-
실행 결과
https://github.com/user-attachments/assets/e7bbd7b1-a447-4f31-ac52-9d813ddabc8c