Bluemix에서 IoT 온습도, 기압을 수집·축적·가시화+LED 제어 그 6
9041 단어 RaspberryPiBluemixnosqlIoT센서
0. 소개
지난번 의 계속입니다. 이번에는 Bluemix와 RaspberryPi를 설정하고 MQTT 연결 확인을 수행합니다.
1. 필요한 것(이번 준비한 것)
품목
수량
메모
2. 참고로 한 곳
Nodejs & raspberry pi로 LED 치카치카
IBM Internet of Things Foundation (Node.js 클라이언트 라이브러리)
1. (Bluemix 측) Node-RED로 MQTT 설정
① 대시보드 화면에서 아래 그림의 빨간색 프레임 부분에 있는 링크를 클릭합니다.
②아래 그림의
Go to your Node-RED flow editor
를 클릭한다.클릭하면 Node-RED가 시작됩니다. (초기 시점에서는 아래 그림과 같은 노드가 배치되어 있습니다.)
③아래 그림과 같이 범위 지정하고 "Del 키"를 누르면 이번에는 사용하지 않는 노드를 삭제한다.
④ IBM IoT App In 노드를 두 번 클릭하여 속성을 표시합니다.
⑤아래 그림의 빨간색 프레임 부분을 변경한다.
"Authentication"항목에서는 "Bluemix Service"를 지정한다.
Device ID 항목에서는, 전회의 Internet of Things Platform에서 설정한 "sensor001"을 입력한다.
Name 항목에서는, 이번은 "센서 정보 취득"으로 했습니다.
기타는 기본값으로 OK 버튼을 클릭합니다.
⑥ Node-RED의 변경을 배포(설정 반영)한다.
화면 오른쪽 상단의 "Deploy"버튼을 클릭합니다.
에러가 없고 정상적으로 반영할 수 있으면, 다음의 메세지가 출력됩니다.
2. (Raspberry Pi 측) Node.js 설치
①Node.js 도입 파일을 다운로드한다.
명령
pi@raspberrypi ~ $ wget https://s3-eu-west-1.amazonaws.com/conoroneill.net/wp-content/uploads/2015/02/node-v0.12.0-linux-arm-pi.tar.gz
②다운로드한 파일을 해동한다.
명령
pi@raspberrypi ~ $ tar zxvf node-v0.12.0-linux-arm-pi.tar.gz
③ 해동한 파일을/usr/local에 복사한다.
명령
pi@raspberrypi ~ $ sudo cp -pR node-v0.12.0-linux-arm-pi/* /usr/local/
④ 노드 명령이 동작하는지 확인한다.
v0.12.0이 표시되면 작동합니다.
명령
pi@raspberrypi ~ $ node -v
v0.12.0
⑤ node.js용 패키지를 추가한다.
이번에 작성하는 프로그램에서 필요한 node.js용 패키지를 추가한다.
명령
pi@raspberrypi ~ $ npm install moment ibmiotf onoff i2c async
3. MQTT 접속용 프로그램 작성 및 접속 확인
① MQTT 접속 샘플 프로그램을 작성한다.
mqtt.js
var moment = require('moment');
var Client = require("ibmiotf").IotfDevice;
var config = {
"org" : "XXXX", //前回のIBM Internet of Things Foundation画面で表示された組織IDを設定
"id" : "sensor001", //前回のIBM Internet of Things Foundation画面で指定したsensor001を設定
"type": "raspi01", //前回のIBM Internet of Things Foundation画面で指定したraspi01を設定
"auth-method" : "token",
"auth-token" : "XXXXX"//前回のIBM Internet of Things Foundation画面で表示された認証トークンを設定
};
var client = new Client (config);
client.connect();
client.on("connect", function () {
var nowtime = moment().format("YYYY-MM-DD HH:mm:ss.SSS");
var temp_v = 25.0
var humid_v = 40.0
var press_v = 1000.0
payload = JSON.stringify({d : { timestamp : nowtime, temp : temp_v, humid : humid_v, press : press_v }});
client.publish ("eid", "json", payload);
});
② MQTT 접속 샘플 프로그램을 실행한다.
명령
pi@raspberrypi ~ $ node mqtt.js
④ Node-RED측에서 수신하고 있는지 확인한다.
아래의 빨간색 프레임과 같이 JSON 형식의 데이터를 수신할 수 있으면 성공입니다.
⑤ MQTT 접속 샘플 프로그램을 정지한다.
'node mqtt.js가 실행 중이므로 Ctrl 키와 "C"를 동시에 눌러 강제 종료합니다.
이것으로 MQTT 연결 확인이 완료되었습니다.
다음 번 ( 그 7 )은 MongoDB에 데이터를 축적하는 부분을 구현합니다.
Reference
이 문제에 관하여(Bluemix에서 IoT 온습도, 기압을 수집·축적·가시화+LED 제어 그 6), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hino9966/items/a1f3bc7249935ceaccf2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)