QNAP Systems, Inc. - 네트워크 부착형 스토리지(NAS)

Language

Support

QIoT Suite Lite를 통해 QNAP NAS에 Arduino Yun 연결

Arduino Yun(Python) 시작하기

이 자습서에서는 Arduino Yun으로 작업하는 기본 사항에 대해 배웁니다(Linux 실행). 그런 다음 QIoT Suite Lite를 사용하여 장치를 QNAP NAS에 매끄럽게 연결하는 방법을 배웁니다. 이 예에서는 DHT11 습도온도 센서를 사용합니다.

레슨 1: 장치 구성

이 레슨에서는 운영 체제에서 Arduino Yun 장치를 구성하고, 개발 환경을 설정하고, Arduino Yun에 애플리케이션을 배포합니다.

1.1 Arduino IDE 다운로드

1.2 장치 구성 및 테스트

이번에 Arduino Yun을 처음 사용한다면 이를 조립하기 위한 몇 가지 단계를 수행해야 합니다.

  • USB를 통해 Arduino Yun을 PC에 연결합니다.
  • Arduino IDE를 열고 Blink 예를 찾습니다.
  • 보드 구성:
  • 포트 구성:
  • Blink 예를 확인하고 Arduino Yun에 업로드합니다
     
  • 코드를 Arduino Yun에 업로드한 다음 Arduino Yun을 확인하면 L13이 깜박이는 것을 볼 수 있습니다:
  • DHT11 센서를 Arduino Yun의 “Ground”, “5V”, “Pin 2(Digital)”에 각각 연결합니다.

1.3 Arduino Yun의 IP 주소 가져오기

  • Wi-Fi 리셋 버튼을 5초 동안 길게 누릅니다.
  • Wi-Fi 설정으로 이동하여 “Arduino-Yun-XXXXXXX”(여기서 “XXXXXXX”는 Arduino Yun의 MAC 주소)를 선택합니다.
  • 브라우저를 열고 “http://192.168.240.1” 또는 “http://arduino.local”로 이동합니다. 기본 비밀번호는 “arduino”입니다.
  • 보드 설정을 완료하고 사용 중인 라우터에 Arduino Yun을 연결합니다. “API 설정”을 건너뛰고 저장을 클릭합니다.
  • PC에서, Wi-Fi 네트워크를 라우터로 변경하면 NAS와 Arduino가 동일한 네트워크에 있게 됩니다.

1.4 Arduino Yun을 위한 개발 도구 설치

  • http://arduino.local에서 터미널을 엽니다
  • 로그인 계정 “root” 및 비밀번호를 입력합니다. 기본 비밀번호는 “arduino”입니다.

다음 명령을 입력하여 PIP와 MQTT 라이브러리를 설치합니다.

root@arduino:~# opkg update
root@arduino:~# opkg install distribute
root@arduino:~# opkg install python-openssl
root@arduino:~# easy_install pip
root@arduino:~# easy_install paho-mqtt

레슨 2: QIoT Suite Lite에서 장치 생성

이 레슨에서는 QNAP QIoT Suite Lite 소프트웨어를 구축하고 QIoT Suite Lite에 첫 번째 장치를 생성합니다.

2.1 QIoT Suite Lite 설치

QIoT Suite Lite는 App Center에서 설치할 수 있습니다.


QIoT Suite Lite를 실행하고 로그인합니다. 기본 사용자 이름과 비밀번호는 “admin”입니다.

2.2 새 IoT 애플리케이션 생성

IoT 애플리케이션은 사물, 규칙 및 대시보드의 조합입니다. 먼저 IoT 애플리케이션에서 “사물”을 생성할 것을 권장합니다. 이 IoT 애플리케이션을 통해 NAS에 연결된 모든 장치의 기록을 유지할 수 있습니다.

규칙을 이용하면 연결된 장치에 의해 생성된 데이터를 수집, 처리, 분석하고 작업하는 IoT 애플리케이션을 구축할 수 있습니다. 규칙은 하나 또는 여러 장치로부터 나온 데이터에 적용될 수 있고, 하나 또는 여러 작업을 동시에 할 수 있습니다.

대시보드는 데이터를 분석하여 실시간에 이해할 수 있는 보고서로 변환합니다.

이러한 모든 요소는 사용자에게 완벽한 IoT 애플리케이션 환경을 제공합니다.

  • IoT 애플리케이션 추가를 클릭하고 IoT 애플리케이션의 이름을 입력합니다. 규칙 및 대시보드 이름이 IoT 애플리케이션 이름을 기반으로 자동으로 생성됩니다.

  • IoT 애플리케이션에 대한 관련 정보를 입력합니다.
  • 사물 추가를 클릭합니다. 장치의 이름을 입력하고 추가 속성에 장치 정보(예: 일련 번호 및 제조업체)를 제공합니다. QIoT에서 이미 장치를 지원하는 경우 사전 정의된 사물 유형을 선택합니다. 추가를 클릭하여 장치를 추가합니다.

  • “사물 리소스 아이콘”을 클릭하고 리소스 추가를 클릭합니다. 리소스 이름 및 리소스 ID에서 센서의 이름과 ID를 입력합니다. 리소스 ID는 QIoT 브로커에 항목을 생성하는 데 사용됩니다. 이 ID는 장치에 대해 고유해야 하며 동일한 장치에 대해 중복이 허용되지 않습니다.

  • 리소스 관련 정보를 입력합니다.

레슨 3: MQTTS를 사용하여 QIoT Suite Lite에 장치 연결

이 레슨에서는 QIoT Suite Lite에서 인증서를 생성하고, SDK를 다운로드하고, Arduino Yun을 QIoT Suite Lite에 연결합니다.

3.1 QIoT Suite 내에서 인증서 및 리소스 정보 생성.

  • QIoT Suite Lite에서 사물 정보 아이콘을 클릭하고, 장치 연결로 이동하여 장치 인증서 생성을 클릭합니다.

  • 팝업 창이 아래와 같이 나타납니다. 세 개의 링크를 클릭하여 “장치 인증서” “CA 인증서” 및 “개인 키”를 다운로드하고 확인을 클릭합니다.
  • 그러면 많은 코드가 있는 페이지가 나타납니다. JSON 파일 다운로드를 클릭합니다. 파일 이름은 “resourceinfo.json”입니다

3.2 SDK 샘플 코드 다운로드

다음 위치에서 SDK 샘플 코드를 다운로드합니다:
https://drive.google.com/open?id=0B5f8WeH2QCp2WWFaRzZrNG44RFU

“QNAPIoT_Python_Test.py” 및 “DHT-sensor-library-master. zip”를 다운로드합니다

3.3 NAS에 Arduino Yun 연결

  • http://arduino.local/을 열고 “파일 관리자”
    를 찾습니다
  • 새 폴더(예: “123”)를 Arduino 스토리지 아래에 생성합니다.
  • “123” 아래에 폴더 “res” 및 “ssl”을 생성합니다.
  • QNAPIoT_Python_Test_MQTTS.py” 파일을 복사하여 “123’에 붙여넣습니다.
  • “resourceinfo.json” 파일을 “res”로 업로드하고 3개의 인증서를 “ssl”로 업로드합니다.
  • Arduino IDE를 엽니다. “DHT-sensor-library-master.zip” 파일을 찾아 포함시킵니다.
  • Arduino IDE로 “QNAPIoT_Arduino_Test.ino”를 열고 Arduino 샘플 코드를 업로드합니다.

3.4 연결 유형 변경

QIoT는 MQTT, MQTTS 및 HTTP 같은 프로토콜을 지원합니다.

3.4.1 MQTT 및 MQTTS

  • QNAPIoT_Python_Test_MQTT.py”를 다운로드하고 엽니다. MQTT 및 MQTTS는 OpenSSL 간에 서로 다릅니다.
  • MQTT를 사용하려면 QIoT Suite Lite를 열고 “장치 연결”을 찾습니다. MQTT를 선택하고 “다음”을 클릭합니다.
  • JSON 파일을 다운로드하여 Arduino Yun “res” 폴더에 업로드합니다.
  • python 코드를 실행하려면 터미널을 열고 다음 명령을 입력합니다:
    root@arduino:~# python QNAPIoT_Python_Test_MQTT.py 또는
    root@arduino:~# python QNAPIoT_Python_Test_MQTTS.py

3.4.2 HTTP

  • QNAPIoT_Python_Test_HTTP.py” 샘플 코드를 찾습니다.
  • 다음을 사용하여 실행합니다:
    root@arduino:~# python QNAPIoT_Python_Test_HTTP.py

레슨 4: Power BI 통합

4.1 첫 번째 Power BI 계정 얻기

https://powerbi.microsoft.com/en-us/에서 무료 PowerBI 계정을 신청합니다


등록한 후 다음 페이지가 표시됩니다:

4.2 스트리밍 데이터세트 API 설정

  • 왼쪽 메뉴에서 “데이터 집합 -> 스트리밍 데이터 집합”로 이동하고 오른쪽 위 구석에 있는 “+ 스트리밍 데이터 집합 추가”를 클릭합니다.
  • 데이터 소스로 “API”를 선택하고 “다음”을 클릭합니다.
  • 스트림에서 값을 정의하면 텍스트 상자에 JSON 결과가 나타납니다. 이 JSON 코드를 사용하여 데이터를 IoT 애플리케이션에 푸시할 것입니다. “만들기”를 클릭하여 작업을 마칩니다.
  • 데이터 스트림을 생성한 후, IoT 애플리케이션이 사용자가 생성한 스트리밍 데이터 데이터세트에 라이브 데이터를 푸시하는 POST 요청을 사용하여 호출할 수 있는 REST API URL을 얻게 됩니다.

4.3 IoT 애플리케이션에서 Node-RED의 노드 구성

  • QIoT Suite에서 IoT 애플리케이션을 생성합니다. 다음은 첫 번째 Node-RED 플로우입니다. 그런 다음 자신만의 IoT 플로우 생성을 시작할 수 있습니다. https://nodered.org/ 에서 Node-RED에 대해 자세히 알 수 있습니다
  • 라이브 데이터를 Power BI에 푸시하기 전에. IoT 데이터를 스트리밍 데이터 데이터세트로 변환하는 “기능” 노드가 필요합니다. 여기에서 msg.payload를 JSON 데이터세트로 교체할 수 있습니다.
  • 라이브 데이터를 Power BI로 푸시하는 데 유용한 “http 요청” 노드가 필요합니다. “http 요청” 노드를 끌어다 놓고 “기능“ 노드의 끝에 연결합니다.
  • Power BI 콘솔에서 가져온 REST API URL을 복사하여 붙여넣고 http 메소드를 POST에 설정합니다. “배치”를 클릭하여 변경 내용을 저장합니다.
  • Node-RED 플로우가 아래와 같이 표시됩니다.

4.4 실시간 데이터를 표시하는 타일 추가

  • 대시보드 +”로 이동하여 첫 번째 대시보드를 생성한 다음 “+ 타일 추가”를 클릭하여 위젯을 구성합니다.
  • 사용자 지정 스트리밍 데이터”를 선택하고 “다음”을 클릭합니다.
  • 데이터세트를 선택하고 “다음”을 클릭합니다.
  • 작업할 스트리밍 데이터세트를 가지게 되고, 다음과 같은 실시간 게이지를 가져올 수 있습니다.
릴리스 날짜: 2017-05-12
도움이 되었습니까?
피드백을 주셔서 감사드립니다.
피드백을 주셔서 감사드립니다. 다른 질문 사항이 있으면 support@qnap.com으로 문의해 주시기 바랍니다.