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

아두이노 MKR WiFi 1010 + ENV 실드로 환경 데이터 수집·시각화 - IoT 클라우드 연동

부품 및 소모품

아두이노 MKR WiFi 1010 1개
아두이노 MKR ENV 실드 1개

앱 및 온라인 서비스

프로젝트 소개

프로젝트 배경

이 프로젝트를 통해 MKR ENV 실드의 다양한 센서에서 데이터를 읽고, 아두이노 클라우드의 위젯으로 시각화하는 방법을 배울 수 있습니다.

준비물

하드웨어 구성은 매우 간단합니다. MKR WiFi 1010, MKR ENV 실드, 배터리 팩만 있으면 됩니다.

아두이노 MKR WiFi 1010 + ENV 실드로 환경 데이터 수집·시각화 - IoT 클라우드 연동
핀 커넥터 라벨이 맞도록 MKR WiFi 1010과 ENV 실드를 정렬합니다.
아두이노 MKR WiFi 1010 + ENV 실드로 환경 데이터 수집·시각화 - IoT 클라우드 연동
배터리 팩은 MKR WiFi 1010의 전용 커넥터에 꽂습니다.
아두이노 MKR WiFi 1010 + ENV 실드로 환경 데이터 수집·시각화 - IoT 클라우드 연동

코드 구조

코드는 크게 두 부분으로 구성됩니다.

아두이노 IoT 클라우드 Thing은 MKR WiFi 1010이 수집한 6가지 측정값을 보관하는 6개의 속성으로 구성됩니다. 아두이노 스케치는 IoT 클라우드에서 자동 생성되며, 인터넷 연결과 Thing-보드 간 데이터 전송을 처리합니다. 여기에 MKRENV 라이브러리를 추가해 ENV 실드 센서를 관리합니다.

스케치 상세

라이브러리 포함

#include "thingProperties.h"
#include 

Setup 함수

void setup() {
  Serial.begin(9600);
  delay(1500);
  initProperties(); // thingProperties.h에 정의
  ArduinoCloud.begin(ArduinoIoTPreferredConnection);
  setDebugMessageLevel(2);
  ArduinoCloud.printDebugInfo();
  if (!ENV.begin()) {
    Serial.println("Failed to initialize MKR ENV shield!");
    while(1);
  }
}

Loop 함수

void loop() {
  ArduinoCloud.update();
  humidity = int(ENV.readHumidity());
  lux = int(ENV.readIlluminance());
  pressure = int(ENV.readPressure());
  temperature = int(ENV.readTemperature());
  uva = int(ENV.readUVA());
  uvb = int(ENV.readUVB());
  uvi = int(ENV.readUVIndex());
  delay(1000);
}

설정 및 사용 방법

  1. 모든 부품을 조립하고 MKR WiFi 1010을 컴퓨터에 연결한 뒤 아두이노 클라우드 계정에 로그인합니다.
  2. 아두이노 클라우드 시작하기 절차를 따라 다음 표와 같이 속성을 생성합니다(대소문자 구분 필수).
아두이노 MKR WiFi 1010 + ENV 실드로 환경 데이터 수집·시각화 - IoT 클라우드 연동

각 속성 추가 시 아래와 같은 폼을 작성합니다.

아두이노 MKR WiFi 1010 + ENV 실드로 환경 데이터 수집·시각화 - IoT 클라우드 연동

모든 속성을 올바르게 생성하면 다음과 같이 표시됩니다.

아두이노 MKR WiFi 1010 + ENV 실드로 환경 데이터 수집·시각화 - IoT 클라우드 연동

속성 생성이 완료되면 edit code 버튼을 클릭해 아두이노 크리에이트 웹 에디터로 이동합니다. 첫 번째 탭의 메인 스케치를 아래 코드로 교체하세요.

/* Sketch generated by the Arduino IoT Cloud Thing "env_shield"
https://create.arduino.cc/cloud/things/829941ed-efdd-4572-91c0-e93a732192ec
Arduino IoT Cloud Properties description
The following variables are automatically generated and updated when changes are made to the Thing properties
int humidity;
int lux;
int pressure;
int temperature;
int uva;
int uvb;
int uvi;
Properties which are marked as READ/WRITE in the Cloud Thing will also have functions which are called when their values are changed from the Dashboard.
These functions are generated with the Thing and added at the end of this sketch.
*/
#include "thingProperties.h"
#include 

void setup() {
  Serial.begin(9600);
  delay(1500);
  initProperties();
  ArduinoCloud.begin(ArduinoIoTPreferredConnection);
  setDebugMessageLevel(4);
  ArduinoCloud.printDebugInfo();
  if (!ENV.begin()) {
    Serial.println("Failed to initialize MKR ENV shield!");
    while(1);
  }
}

void loop() {
  ArduinoCloud.update();
  humidity = int(ENV.readHumidity());
  lux = int(ENV.readIlluminance());
  pressure = int(ENV.readPressure());
  temperature = int(ENV.readTemperature());
  uva = int(ENV.readUVA());
  uvb = int(ENV.readUVB());
  uvi = int(ENV.readUVIndex());
  delay(1000);
}

void onHumidityChange() { }
void onLuxChange() { }
void onPressureChange() { }
void onTemperatureChange() { }
void onUvaChange() { }
void onUvbChange() { }
void onUviChange() { }

스케치를 보드에 업로드하면, 연결이 성립된 후 MKR WiFi 1010이 ENV 실드 센서 값을 주기적으로 클라우드에 동기화하며, 생성된 Thing의 대시보드에서 확인할 수 있습니다.

아두이노 MKR WiFi 1010 + ENV 실드로 환경 데이터 수집·시각화 - IoT 클라우드 연동

아두이노 크리에이트의 스케치는 아래 코드 섹션에서도 확인 가능합니다.

아두이노 IoT 클라우드, MKR WiFi 1010, 세련된 MKR ENV 실드로 나만의 홈/가든 센서를 만들어보세요!

아두이노 팀 드림

제조공정

  1. RTI Connext DDS 통합으로 MATLAB에서 실시간 IoT 데이터 활용하기
  2. 피크 성능과 효율을 위한 클라우드 인프라 최적화
  3. 클라우드 오해 #3: 클라우드는 무책임한 비즈니스 선택이 아니다
  4. IoT와 클라우드 컴퓨팅이 엔터프라이즈 데이터의 미래를 형성하는 방식
  5. 제조 시설의 IoT 준비도: 실용적 가이드
  6. IoT 데이터를 비즈니스 가치로 전환: 실용 가이드
  7. IoT 데이터 활용으로 제조 우수성 달성하기
  8. 클라우드 컴퓨팅이 IoT 배포를 강화하는 3가지 강력한 방법
  9. 클라우드 파워로 IoT 잠금 해제: 끊김 없는 연결과 데이터 인사이트
  10. IoT 투자, 클라우드 지출 추월 전망 - 신규 연구 결과