라즈파이와 AWS IoT를 연결하여 S3에 데이터 보내기

3683 단어 awsIoTAWS

개요



AWS IoT가 발표되었습니다! 라고 하는 일로 Raspberry Pi 2
모델 B에서 AWS IoT를 통해 S3로 데이터를 푸시하는 샘플 데이터로 일련의 흐름을 시도했습니다.

관리 콘솔에서 AWS IoT 설정하기




먼저 manangement console에서 AWS IoT에 액세스하고 "Create Resoure"버튼을 클릭하면 위의 화면이 됩니다. 그럼, 순서대로 등록합시다.

Create a thing




우선은 디바이스 자체의 등록해 봅시다. Name을 최소한 입력하면 OK입니다.
입력하고 Create를 클릭하면 등록 완료입니다.

Create a rule




규칙을 등록합니다. AWS IoT는 Rules Engine을 통해 필요한 데이터만 필터링하여 데이터를 교환합니다. 이것도 SQL의 형식이 되어 있으므로 직관적으로 알기 쉽네요.

이번에 사용한 AWS SDK 샘플 코드는 topic_2라는 주제를 보냅니다. 그래서 캡처와 같은 규칙을 설정하기로 결정합니다.



맞추어 여기에서 데이터의 송신처도 설정합니다.

이번에는 S3에 데이터를 보내고 싶으므로 "Store the message in a file and store in the cloud (S3)"를 선택하여 Bucket 등의 설정을 실시합니다. 데이터가 제대로 전송되면 "panpan"이라는 파일이 생겼을 것입니다.

Create a Certificate




다음은 증명서나 키의 생성을 실시합니다. 인증서와 개인 키와 공개 키가 생성되지만 라즈파이로 설정하는 것은 인증서와 개인 키가됩니다. 이것을 다운로드하고 scp 명령으로 라즈파이 쪽으로 보냅니다.

이것으로 관리 콘솔 설정이 끝납니다.

Raspberry Pi 측 설정



이번에는 라스파이에 node.js aws-iot-device-sdk-js을 설치하고 AWS IoT에 연결하기로 결정합니다.

라즈파이에 ssh 액세스하여 asw sdk와 필요한 모듈을 npm으로 설치합니다.
$ git clone https://github.com/aws/aws-iot-device-sdk-js.git
$ cd aws-iot-device-sdk-js
$ npm install mqtt
$ npm install blessed
$ npm install blessed-contrib
$ npm install minimist

그리고 관리 콘솔에서 다운로드한 인증서와 비밀 키도 설치합니다.

cert.pem이 인증서. peivkey.pem이 개인 키입니다. 또한 aws-iot-rootCA.crt는 시만텍에서 루트 인증서를 얻고 설치합니다.

이것으로 준비 완료.

실행



aws sdk에서 준비된 샘플 프로그램을 실행해 봅시다.
프로그램의 내용으로서는 루프를 돌려 카운트 업 해 가는 수치를 오로지 송신 계속한다고 하는 것입니다.

그리고 아래에서 프로그램을 실행합니다.
$ nodejs examples/device-example.js -f ~/certs

실행 결과



아래와 같이 S3의 Buket을 보면 바르게 panpan이라는 파일이 되어 있습니다.


파일 내용을 확인하면 어떻습니까? 오른쪽의 숫자가 계속 카운트 업하여 갱신되고 있습니다.


요약



라는 느낌으로 AWS IoT를 연결하여 S3에 데이터를 보내는 일련의 흐름을 시연해 보았습니다.
그래, 재미! 그래서 좋은 IoT 라이프를!

좋은 웹페이지 즐겨찾기