Beebotte의 메시지를 Raspberry Pi에서 수신
5103 단어 RaspberryPimqttbeebotte
Beebotte 준비 및 Node-RED에서 Subscribe
여기 에 알기 쉽게 구분되어 있으므로, 여기서는 할애합니다.
Beebotte에 게시
여기 의 Nodejs 코드를 거의 그대로 이용하고 있습니다. 다른 점으로는 'Hello World'를 전달하는 것이 아니라 가전 조작을 내다보고 여러 요소를 반환하고 있다는 것입니다. AWS Lambda는 Nodejs의 샘플이 많았기 때문에 Nodejs로 하고 있습니다.
test_publish.jsvar bbt = require('beebotte');
var API_KEY = 「API Key」;
var SECRET_KEY = 「Secret Key」;
var CHANNEL = 「チャネル名」;
var RESOURCE = 「リソース名」;
var bclient = new bbt.Connector({apiKey: API_KEY, secretKey: SECRET_KEY});
bclient.publish(
{channel: CHANNEL, resource: RESOURCE, data: {
'resource': 'light', 'command': 'on', 'option': '30'
}},
function(err, res) {
});
※ 「API Key」 「Secret Key」 「채널명」 「자원명」을 적절히 치환해 주세요. 「API Key」와 「Secret Key」는 2019년 2월 현재 Beebotte의 웹 페이지에서 「Account Settings」→「Access Management」탭에서 참조 가능합니다. 「채널명」과 「리소스명」은 스스로 설정한 것입니다.
※ 이번은 이것을 수신하는 것만으로 가전 조작은 실시하지 않습니다.
이렇게하면 Node-RED의 mqtt in 노드에서 수신 할 수 있어야합니다. mqtt in 노드 설정의 주의점으로서는, 토픽에는 「채널명/리소스명」을 설정하는 정도라고 생각합니다. 또한 mqtt in 노드 바로 다음에 json 노드를 배치하여 Subscribe한 data를 분해할 수 있습니다.
이전 샘플 프로그램에서 보낸 요소는
- msg.payload.data.resource("light"포함)
- msg.payload.data.command("on"포함)
- msg.payload.data.option("30"포함)
와 같은 형태로 후속의 처리로 이용 가능하게 됩니다.
향후 스마트 홈 스킬 작성에서도 해당 주제를 Subscribe하는 mqtt in 노드를 하나 준비해 두고, msg.payload.data의 resource로 조작 대상을 전환해, command와 option으로 조작 내용을 전환할 예정입니다.
참고로 한 사이트
Beebotte의 메시지를 Node-RED에서받습니다.
beebotte Quick Start Guide
Reference
이 문제에 관하여(Beebotte의 메시지를 Raspberry Pi에서 수신), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/nyas/items/3e6de178b7f9da7b8c0b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
여기 의 Nodejs 코드를 거의 그대로 이용하고 있습니다. 다른 점으로는 'Hello World'를 전달하는 것이 아니라 가전 조작을 내다보고 여러 요소를 반환하고 있다는 것입니다. AWS Lambda는 Nodejs의 샘플이 많았기 때문에 Nodejs로 하고 있습니다.
test_publish.js
var bbt = require('beebotte');
var API_KEY = 「API Key」;
var SECRET_KEY = 「Secret Key」;
var CHANNEL = 「チャネル名」;
var RESOURCE = 「リソース名」;
var bclient = new bbt.Connector({apiKey: API_KEY, secretKey: SECRET_KEY});
bclient.publish(
{channel: CHANNEL, resource: RESOURCE, data: {
'resource': 'light', 'command': 'on', 'option': '30'
}},
function(err, res) {
});
※ 「API Key」 「Secret Key」 「채널명」 「자원명」을 적절히 치환해 주세요. 「API Key」와 「Secret Key」는 2019년 2월 현재 Beebotte의 웹 페이지에서 「Account Settings」→「Access Management」탭에서 참조 가능합니다. 「채널명」과 「리소스명」은 스스로 설정한 것입니다.
※ 이번은 이것을 수신하는 것만으로 가전 조작은 실시하지 않습니다.
이렇게하면 Node-RED의 mqtt in 노드에서 수신 할 수 있어야합니다. mqtt in 노드 설정의 주의점으로서는, 토픽에는 「채널명/리소스명」을 설정하는 정도라고 생각합니다. 또한 mqtt in 노드 바로 다음에 json 노드를 배치하여 Subscribe한 data를 분해할 수 있습니다.
이전 샘플 프로그램에서 보낸 요소는
- msg.payload.data.resource("light"포함)
- msg.payload.data.command("on"포함)
- msg.payload.data.option("30"포함)
와 같은 형태로 후속의 처리로 이용 가능하게 됩니다.
향후 스마트 홈 스킬 작성에서도 해당 주제를 Subscribe하는 mqtt in 노드를 하나 준비해 두고, msg.payload.data의 resource로 조작 대상을 전환해, command와 option으로 조작 내용을 전환할 예정입니다.
참고로 한 사이트
Beebotte의 메시지를 Node-RED에서받습니다.
beebotte Quick Start Guide
Reference
이 문제에 관하여(Beebotte의 메시지를 Raspberry Pi에서 수신), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/nyas/items/3e6de178b7f9da7b8c0b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Beebotte의 메시지를 Raspberry Pi에서 수신), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/nyas/items/3e6de178b7f9da7b8c0b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)