산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

아두이노 IoT 클라우드와 아마존 알렉사 연동: 단계별 가이드

부품 및 소모품

부품 수량
아두이노 MKR WiFi 1010 1
아두이노 MKR ENV 쉴드 1
브레드보드 1
고휘도 백색 LED 1
점퍼 와이어 1
RGB LED 공통 캐소드 1
220Ω 저항 1

앱 및 온라인 서비스

프로젝트 소개

소개: 시작하기

이 튜토리얼에서는 아두이노 IoT 클라우드를 사용합니다. IoT 클라우드가 처음이라면 먼저 이 입문 프로젝트를 참고해 지원 보드 설정, IoT 클라우드 사물(Thing)과 속성(Property) 생성, 온보딩 과정을 익히시기 바랍니다.

1부: 아두이노 IoT 클라우드

메인 IoT 클라우드 페이지에서 새 사물(Thing)을 만들고 의미 있는 이름을 붙이세요. 사용할 보드를 선택합니다. 보드가 안 보인다면 장치 섹션의 장치 추가 버튼 클릭 후 시작되는 절차를 놓쳤을 수 있습니다.

완료되면 사물에 세 가지 속성을 추가합니다. 처음 두 개는 램프를, 마지막은 온도를 나타냅니다.

이 시점에서 대시보드 뷰는 다음과 같아야 합니다:

아두이노 IoT 클라우드와 아마존 알렉사 연동: 단계별 가이드

속성 추가 시 스마트 홈 섹션에 나열된 타입만 사용하세요. 그렇지 않으면 알렉사와 호환되지 않습니다.

아두이노 IoT 클라우드와 아마존 알렉사 연동: 단계별 가이드

사물 편집 뷰에서 스케치 편집 버튼을 클릭해 웹 에디터로 이동하세요.

2부: 아두이노 웹 에디터

웹 에디터에서 자동 생성된 스케치에 코드를 추가합니다.

환경 데이터(온도, 원하면 조도, 습도, 기압도 추가 가능)를 읽기 위해 Arduino_MKRENV 라이브러리를 스케치 상단에 임포트합니다:

#include 

보드 핀 상수를 정의해 코드 가독성을 높입니다:

#define PIN_MEETING_ROOM 5
#define PIN_LOUNGE_AREA_R 2
#define PIN_LOUNGE_AREA_B 3
#define PIN_LOUNGE_AREA_G 4

setup 함수에서 아두이노 MKR ENV 쉴드를 초기화합니다:

if (!ENV.begin()) {
  Serial.println("Failed to initialize MKR ENV shield!");
  while (1);
}

쉴드가 없으면 스케치 실행을 차단합니다.

pinMode를 OUTPUT으로 지정할 필요 없습니다. analogWrite()로 백색 LED 강도나 RGB LED 개별 색상 강도를 설정할 것이기 때문입니다.

loop 함수에서 매초 온도를 읽습니다:

temperature = ENV.readTemperature();
delay(1000);

이제 콜백 함수를 구현합니다. 속성 값이 IoT 클라우드에서 변경될 때마다 실행됩니다.

onMeetingRoomChange와 onLoungeAreaChange를 구현해야 합니다:

void onMeetingRoomChange() {
  uint8_t brightness = map(meetingRoom.getBrightness(), 0, 100, 0, 255);
  if (meetingRoom.getSwitch()) {
    Serial.println(brightness);
    analogWrite(PIN_MEETING_ROOM, brightness);
  } else {
    analogWrite(PIN_MEETING_ROOM, LOW);
  }
}

위 코드에서는 클라우드에서 밝기 값을 읽어 매핑한 후, 조명 스위치가 켜져 있는지 확인합니다. 켜져 있으면 읽은 brightness로 조명을 켜고, 아니면 끕니다.

다른 콜백도 원리는 같습니다:

void onLoungeAreaChange() {
  uint8_t r, g, b;
  loungeArea.getValue().getRGB(r, g, b);
  if (loungeArea.getSwitch()) {
    Serial.println("R:" + String(r) + " G:" + String(g) + " B:" + String(b));
    analogWrite(PIN_LOUNGE_AREA_R, r);
    analogWrite(PIN_LOUNGE_AREA_B, b);
    analogWrite(PIN_LOUNGE_AREA_G, g);
  } else {
    Serial.println("Lamp Off");
    analogWrite(PIN_LOUNGE_AREA_R, 0);
    analogWrite(PIN_LOUNGE_AREA_B, 0);
    analogWrite(PIN_LOUNGE_AREA_G, 0);
  }
}

차이점은 밝기 하나 대신 RGB 색상의 세 구성요소가 있다는 점입니다. 알렉사 앱에서 사용자 지정 색상을 이름으로 정의하면 빨강, 초록, 파랑 양을 일일이 말할 필요 없습니다.

3부: 아마존 알렉사 스킬 설정

애플 앱스토어나 구글 플레이스토어에서 아마존 알렉사 앱을 다운로드하세요. 설치 후 기존 계정으로 로그인하거나 새로 만드세요.

이제 아두이노 알렉사 스킬 설치 단계를 이미지 순서대로 따라해보세요.

아두이노 IoT 클라우드와 아마존 알렉사 연동: 단계별 가이드
아두이노 IoT 클라우드와 아마존 알렉사 연동: 단계별 가이드
아두이노 IoT 클라우드와 아마존 알렉사 연동: 단계별 가이드
아두이노 IoT 클라우드와 아마존 알렉사 연동: 단계별 가이드
아두이노 IoT 클라우드와 아마존 알렉사 연동: 단계별 가이드
아두이노 IoT 클라우드와 아마존 알렉사 연동: 단계별 가이드
아두이노 IoT 클라우드와 아마존 알렉사 연동: 단계별 가이드
아두이노 IoT 클라우드와 아마존 알렉사 연동: 단계별 가이드
아두이노 IoT 클라우드와 아마존 알렉사 연동: 단계별 가이드

4부: 아마존 알렉사 기기 설정

잠시 기다리면 기기가 발견됩니다.

아두이노 IoT 클라우드와 아마존 알렉사 연동: 단계별 가이드

기기 선택을 누르면 사용 가능한 모든 기기 목록이 나옵니다(아두이노 IoT 클라우드에서 속성 이름대로 명명됨).

아두이노 IoT 클라우드와 아마존 알렉사 연동: 단계별 가이드

기기 하나를 선택해 기기 설정을 누르세요. 원하면 그룹에 추가해 기기를 더 쉽게 제어하고 정리할 수 있습니다. 아니면 건너뛰세요.

아두이노 IoT 클라우드와 아마존 알렉사 연동: 단계별 가이드

제어하고 싶은 모든 기기에 대해 설정 과정을 반복하세요.

최종 기기 뷰는 이렇게 보여야 합니다:

아두이노 IoT 클라우드와 아마존 알렉사 연동: 단계별 가이드

이제 "알렉사, 사무실 온도 어때?"나 "알렉사, 회의실 불 켜줘" 같은 말을 할 수 있습니다.

아두이노 IoT 클라우드와 아마존 알렉사 연동: 단계별 가이드

알렉사와 IoT 클라우드로 즐거운 시간 보내세요! 질문이나 직접 만든 프로젝트가 있으면 아래 댓글로 알려주세요.

아두이노 팀

코드

아두이노

(웹 에디터에서 자동 생성된 스케치에 위 콜백 함수들을 추가하세요.)

회로도

아두이노 IoT 클라우드와 아마존 알렉사 연동: 단계별 가이드

제조공정

  1. 포그 vs 클라우드: 속도와 확장을 위한 IoT 배포 최적화
  2. Infineon, Amazon Web Services로부터 Advanced Technology Partner로 선정
  3. 라즈베리파이와 파이썬으로 아마존 알렉사로 크롬캐스트 제어하기
  4. 알렉사(Alexa)로 천장 선풍기 제어하기 - 단계별 가이드
  5. 아두이노와 MAX30100으로 만드는 실시간 IoT 심박수 모니터
  6. 원격 IoT 제어 커스텀 로봇 팔: 아두이노 MKR1000과 심링크(Simulink) 활용
  7. 라즈베리 파이와 알렉사로 LED 제어하기 – 초보자를 위한 단계별 가이드
  8. 아두이노 클라우드 센서 타워 만들기: 온도, 모션, 가스 모니터링
  9. 애저 IoT 기반 스마트 수영장 제어 시스템: 온도 모니터링 및 원격 제어
  10. 클라우드 파워로 IoT 잠금 해제: 끊김 없는 연결과 데이터 인사이트