다음을 통해 공유


Raspberry Pi 3을 원격 모니터링 솔루션에 연결하고 C를 사용하여 실제 센서에서 원격 분석 데이터를 보냅니다.

이 자습서에서는 Raspberry Pi 3용 Microsoft Azure IoT Starter Kit를 사용하여 클라우드와 통신할 수 있는 온도 및 습도 판독기를 개발하는 방법을 보여 줍니다. 이 자습서에서는 다음을 사용합니다.

  • 샘플 디바이스를 구현하기 위한 Raspbian OS, C 프로그래밍 언어 및 C용 Microsoft Azure IoT SDK.
  • IoT Suite 원격 모니터링은 클라우드 기반 백 엔드로 미리 구성된 솔루션입니다.

개요

이 자습서에서 수행하는 단계는 다음과 같습니다.

  • 미리 구성된 원격 모니터링 솔루션의 인스턴스를 Azure 구독에 배포합니다. 이 단계에서는 여러 Azure 서비스를 자동으로 배포하고 구성합니다.
  • 컴퓨터 및 원격 모니터링 솔루션과 통신하도록 디바이스 및 센서를 설정합니다.
  • 원격 모니터링 솔루션에 연결하도록 샘플 장치 코드를 업데이트하고 솔루션 대시보드에서 볼 수 있는 텔레메트리를 보냅니다.

필수 조건

이 자습서를 완료하려면 활성 Azure 구독이 필요합니다.

비고

계정이 없는 경우 몇 분 만에 평가판 계정을 만들 수 있습니다. 자세한 내용은 Azure 평가판을 참조하세요.

필수 소프트웨어

Raspberry Pi의 명령줄에 원격으로 액세스할 수 있도록 하려면 데스크톱 머신에서 SSH 클라이언트가 필요합니다.

  • Windows에는 SSH 클라이언트가 포함되어 있지 않습니다. PuTTY사용하는 것이 좋습니다.
  • 대부분의 Linux 배포판 및 Mac OS에는 명령줄 SSH 유틸리티가 포함됩니다. 자세한 내용은 Linux 또는 Mac OS 사용하여SSH를 참조하세요.

필수 하드웨어

Raspberry Pi의 명령줄에 원격으로 연결할 수 있는 데스크톱 컴퓨터입니다.

Microsoft IoT 시작 키트 또는 해당 구성 요소용 Raspberry Pi 3. 이 자습서에서는 키트에서 다음 항목을 사용합니다.

  • Raspberry Pi 3
  • MicroSD 카드(NOOBS 소프트웨어 포함)
  • USB 미니 케이블
  • 이더넷 케이블
  • BME280 센서
  • 브레드보드
  • 점퍼 케이블
  • 저항기
  • LED

솔루션을 제공하다

계정에서 미리 구성된 원격 모니터링 솔루션을 아직 프로비전하지 않은 경우:

  1. Azure 계정 자격 증명을 사용하여 azureiotsuite.com 로그인하고 + 클릭하여 솔루션을 만듭니다.
  2. 클릭 후 원격 모니터링 타일에서 선택합니다.
  3. 미리 구성된 원격 모니터링 솔루션의 솔루션 이름 입력합니다.
  4. 솔루션을 프로비전하는 데 사용할 지역구독 선택합니다.
  5. 솔루션 만들기 클릭하여 프로비저닝 프로세스를 시작합니다. 이 프로세스는 일반적으로 실행하는 데 몇 분 정도 걸립니다.

프로비전 프로세스가 완료되기를 기다립니다.

  1. 프로비저닝 상태가 있는 솔루션의 타일을 클릭합니다.
  2. Azure 서비스가 Azure 구독에 배포될 때 프로비저닝 상태을 확인하십시오.
  3. 프로비전이 완료되면 상태가 Ready변경됩니다.
  4. 오른쪽 창에서 솔루션의 세부 정보를 보려면 타일을 클릭합니다.

비고

미리 구성된 솔루션을 배포하는 데 문제가 발생하는 경우 azureiotsuite.com 사이트 권한 및 FAQ검토합니다. 문제가 지속되면 포털에 서비스 티켓을 만드십시오.

솔루션에 포함되지 않은 세부 정보가 기대되는 점이 있나요? User Voice대한 기능 제안을 제공합니다.

경고

원격 모니터링 솔루션은 Azure 구독에서 Azure 서비스 집합을 프로비전합니다. 배포는 실제 엔터프라이즈 아키텍처를 반영합니다. 불필요한 Azure 사용 요금을 방지하려면 완료한 후 azureiotsuite.com 미리 구성된 솔루션의 인스턴스를 삭제합니다. 미리 구성된 솔루션이 다시 필요한 경우 쉽게 다시 만들 수 있습니다. 원격 모니터링 솔루션이 실행되는 동안 사용량을 줄이는 방법에 대한 자세한 내용은 데모용으로 미리 구성된 Azure IoT Suite 솔루션 구성 참조하세요.

솔루션 대시보드 보기

솔루션 대시보드를 사용하면 배포된 솔루션을 관리할 수 있습니다. 예를 들어 원격 분석을 보고, 디바이스를 추가하고, 메서드를 호출할 수 있습니다.

  1. 프로비전이 완료되고 미리 구성된 솔루션의 타일에 준비표시되면 시작 선택하여 새 탭에서 원격 모니터링 솔루션 포털을 엽니다.

    미리 구성된 솔루션 시작

  2. 기본적으로 솔루션 포털에는 대시보드표시됩니다. 페이지의 왼쪽에 있는 메뉴를 사용하여 솔루션 포털의 다른 영역으로 이동할 수 있습니다.

    미리 구성된 원격 모니터링 솔루션 대시보드

디바이스 추가

디바이스가 미리 구성된 솔루션에 연결하려면 유효한 자격 증명을 사용하여 IoT Hub에 자신을 식별해야 합니다. 솔루션 대시보드에서 디바이스 자격 증명을 검색할 수 있습니다. 이 자습서의 뒷부분에서 클라이언트 애플리케이션에 디바이스 자격 증명을 포함합니다.

아직 수행하지 않은 경우 원격 모니터링 솔루션에 사용자 지정 디바이스를 추가합니다. 솔루션 대시보드에서 다음 단계를 완료합니다.

  1. 대시보드의 왼쪽 아래 모서리에서 디바이스추가를 클릭합니다.

    디바이스 추가

  2. 사용자 지정 디바이스 패널에서 추가를 클릭합니다.

    사용자 지정 디바이스 추가

  3. 내 디바이스 ID를 직접 정의하겠습니다. rasppi같은 디바이스 ID를 입력하고 확인 ID 클릭하여 솔루션에서 이름을 아직 사용하지 않았는지 확인한 다음 만들기 클릭하여 디바이스를 프로비전합니다.

    디바이스 ID 추가

  4. 디바이스 자격 증명(디바이스 ID, IoT Hub 호스트 이름디바이스 키)을 기록해 둡니다. Raspberry Pi의 클라이언트 애플리케이션은 원격 모니터링 솔루션에 연결하려면 이러한 값이 필요합니다. 완료를 클릭합니다.

    디바이스 자격 증명 보기

  5. 솔루션 대시보드의 디바이스 목록에서 디바이스를 선택합니다. 그런 다음 디바이스 세부 정보 패널에서 디바이스 사용 가능를 클릭하십시오. 이제 장치의 상태가 실행 중입니다. 이제 원격 모니터링 솔루션은 디바이스에서 원격 분석을 수신하고 디바이스에서 메서드를 호출할 수 있습니다.

Raspberry Pi 준비

Raspbian 설치

Raspberry Pi를 처음 사용하는 경우 키트에 포함된 SD 카드에 NOOBS를 사용하여 Raspbian 운영 체제를 설치해야 합니다. Raspberry Pi 소프트웨어 가이드 Raspberry Pi에 운영 체제를 설치하는 방법을 설명합니다. 이 자습서에서는 Raspberry Pi에 Raspbian 운영 체제를 설치했다고 가정합니다.

비고

Raspberry Pi 3 Microsoft Azure IoT Starter Kit에 포함된 SD 카드에는 NOOBS가 이미 설치되어 있습니다. 이 카드에서 Raspberry Pi를 부팅하고 Raspbian OS를 설치하도록 선택할 수 있습니다.

하드웨어 설정

이 자습서에서는 Microsoft Azure IoT Starter Kit for Raspberry Pi 3 포함된 BME280 센서를 사용하여 원격 분석 데이터를 생성합니다. LED를 사용하여 Raspberry Pi가 솔루션 대시보드에서 메서드 호출을 처리하는 시기를 나타냅니다.

빵 보드의 구성 요소는 다음과 같습니다.

  • 빨간색 LED
  • 220-옴 저항기(빨강, 빨강, 갈색)
  • BME280 센서

다음 다이어그램에서는 하드웨어를 연결하는 방법을 보여 줍니다.

Raspberry Pi하드웨어 설정

다음 표에서는 Raspberry Pi에서 브레드보드의 구성 요소에 대한 연결을 요약합니다.

Raspberry Pi 브레드보드 색깔
GND (핀 14) LED -ve 핀(18A) 자주색
GPCLK0(핀 7) 저항기(25A) 오렌지
SPI_CE0(핀 24) CS(39A) 파랑
SPI_SCLK(핀 23) SCK(36A) 황색
SPI_MISO(핀 21) SDO(37A) 하얀
SPI_MOSI(핀 19) SDI(38A) 녹색
GND(핀 6) GND(35A) 검정
3.3 V(핀 1) 3Vo(34A) 빨강

하드웨어 설정을 완료하려면 다음을 수행해야 합니다.

  • Raspberry Pi를 키트에 포함된 전원 공급 장치에 연결합니다.
  • 키트에 포함된 이더넷 케이블을 사용하여 Raspberry Pi를 네트워크에 연결합니다. 또는 Raspberry Pi에 무선 연결 설정할 수 있습니다.

이제 Raspberry Pi의 하드웨어 설정을 완료했습니다.

로그인하고 터미널에 액세스

Raspberry Pi의 터미널 환경에 액세스하는 두 가지 옵션이 있습니다.

  • Raspberry Pi에 연결된 키보드 및 모니터가 있는 경우 Raspbian GUI를 사용하여 터미널 창에 액세스할 수 있습니다.

  • 데스크톱 컴퓨터에서 SSH를 사용하여 Raspberry Pi의 명령줄에 액세스합니다.

GUI에서 터미널 창 사용

Raspbian의 기본 자격 증명은 사용자 이름 pi 및 암호 raspberry. GUI의 작업 표시줄에서 모니터처럼 보이는 아이콘을 사용하여 터미널 유틸리티를 시작할 수 있습니다.

SSH를 사용하여 로그인

Raspberry Pi에 대한 명령줄 액세스에 SSH를 사용할 수 있습니다. SSH(Secure Shell) 문서에서는 Raspberry Pi에서 SSH를 구성하는 방법과 Windows 또는 Linux & Mac OS연결하는 방법을 설명합니다.

사용자 이름 pi 및 암호 raspberry을(를) 사용하여 로그인하십시오.

선택 사항: Raspberry Pi에서 폴더 공유

필요에 따라 Raspberry Pi의 폴더를 데스크톱 환경과 공유할 수 있습니다. 폴더를 공유하면 기본 데스크톱 텍스트 편집기(예: Visual Studio Code 또는 숭고한 텍스트)를 사용하여 nano 또는 vi사용하는 대신 Raspberry Pi에서 파일을 편집할 수 있습니다.

Windows와 폴더를 공유하려면 Raspberry Pi에서 Samba 서버를 구성합니다. 또는 데스크톱에서 SFTP 클라이언트와 함께 기본 제공 SFTP 서버를 사용합니다.

SPI 사용

샘플 애플리케이션을 실행하려면 먼저 Raspberry Pi에서 SPI(직렬 주변 장치 인터페이스) 버스를 사용하도록 설정해야 합니다. Raspberry Pi는 SPI 버스를 통해 BME280 센서 디바이스와 통신합니다. 다음 명령을 사용하여 구성 파일을 편집합니다.

sudo nano /boot/config.txt

줄을 찾아보세요.

#dtparam=spi=on

  • 줄의 주석 처리를 제거하려면 맨 앞의 #을 삭제하십시오.

  • 변경 내용(Ctrl-O, 입력)을 저장하고 편집기(Ctrl-X)를 종료합니다.

  • SPI를 사용하도록 설정하려면 Raspberry Pi를 다시 부팅합니다. 다시 부팅하면 터미널의 연결이 끊어집니다. Raspberry Pi가 다시 시작될 때 다시 로그인해야 합니다.

    sudo reboot
    

샘플 다운로드 및 구성

이제 Raspberry Pi에서 원격 모니터링 클라이언트 애플리케이션을 다운로드하고 구성할 수 있습니다.

리포지토리 복제

아직 수행하지 않은 경우 Pi의 터미널에서 다음 명령을 실행하여 필요한 리포지토리를 복제합니다.

cd ~
git clone --recursive https://github.com/Azure-Samples/iot-remote-monitoring-c-raspberrypi-getstartedkit.git
git clone --recursive https://github.com/WiringPi/WiringPi.git

디바이스 연결 문자열 업데이트

다음 명령을 사용하여 nano 편집기에서 샘플 소스 파일을 엽니다.

nano ~/iot-remote-monitoring-c-raspberrypi-getstartedkit/basic/remote_monitoring/remote_monitoring.c

다음 줄을 찾습니다.

static const char* deviceId = "[Device Id]";
static const char* connectionString = "HostName=[IoTHub Name].azure-devices.net;DeviceId=[Device Id];SharedAccessKey=[Device Key]";

자리 표시자 값을 이 자습서의 시작 부분에 만들고 저장한 디바이스 및 IoT Hub 정보로 바꿉니다. 변경 내용(Ctrl-O, 입력)을 저장하고 편집기(Ctrl-X)를 종료합니다.

샘플 빌드

Raspberry Pi의 터미널에서 다음 명령을 실행하여 C용 Microsoft Azure IoT 디바이스 SDK에 대한 필수 구성 요소 패키지를 설치합니다.

sudo apt-get update
sudo apt-get install g++ make cmake git libcurl4-openssl-dev libssl-dev uuid-dev

이제 Raspberry Pi에서 업데이트된 샘플 솔루션을 빌드할 수 있습니다.

chmod +x ~/iot-remote-monitoring-c-raspberrypi-getstartedkit/basic/build.sh
~/iot-remote-monitoring-c-raspberrypi-getstartedkit/basic/build.sh

이제 Raspberry Pi에서 샘플 프로그램을 실행할 수 있습니다. 명령을 입력합니다.

sudo ~/cmake/remote_monitoring/remote_monitoring

다음 샘플 출력은 Raspberry Pi의 명령 프롬프트에 표시되는 출력의 예입니다.

Raspberry Pi 앱에서 출력된

언제든지 Ctrl-C 눌러 프로그램을 종료합니다.

원격 분석 보기

Raspberry Pi는 이제 원격 모니터링 솔루션에 데이터를 전송하고 있습니다. 솔루션 대시보드에서 원격 분석을 볼 수 있습니다. 솔루션 대시보드에서 Raspberry Pi로 메시지를 보낼 수도 있습니다.

  • 솔루션 대시보드로 이동합니다.
  • 디바이스에서 디바이스를 선택하여 드롭다운을 봅니다.
  • Raspberry Pi의 원격 분석이 대시보드에 표시됩니다.

Raspberry Pi

디바이스에서 작업

솔루션 대시보드에서 Raspberry Pi에서 메서드를 호출할 수 있습니다. Raspberry Pi가 원격 모니터링 솔루션에 연결되면 지원하는 방법에 대한 정보를 보냅니다.

  • 솔루션 대시보드에서 디바이스 클릭하여 디바이스 페이지를 방문합니다. 디바이스 목록Raspberry Pi를 선택합니다. 그런 다음 메서드선택합니다.

    대시보드에서 디바이스 나열

  • Invoke Method 페이지에서 Method 드롭다운 메뉴에서 LightBlink을 선택합니다.

  • 의 InvokeMethod을 선택합니다. Raspberry Pi에 연결된 LED가 여러 번 깜박입니다. Raspberry Pi의 앱은 솔루션 대시보드에 승인을 다시 보냅니다.

    메서드 기록 표시

  • ChangeLightStatus 메서드를 사용하여 LED를 켜고 끌 수 있습니다. LightStatusValue1로 설정하면 켜지고 0으로 설정하면 꺼집니다.

경고

Azure 계정에서 원격 모니터링 솔루션을 실행 중인 상태로 두면 실행되는 시간에 대한 요금이 청구됩니다. 원격 모니터링 솔루션이 실행되는 동안 사용량을 줄이는 방법에 대한 자세한 내용은 데모용으로 미리 구성된 Azure IoT Suite 솔루션 구성 참조하세요. 사용이 완료되면 Azure 계정에서 미리 구성된 솔루션을 삭제합니다.

다음 단계

Azure IoT에 대한 자세한 샘플 및 설명서는 Azure IoT 개발자 센터 방문하세요.