EnOcean의 화장실 센서를 LINE Bot으로 확인
Dialogflow에서 LINE Bot 연계를 하고 LIFF로 감시 화면을 표시하도록 했습니다.
EnOcean에서 화장실 센서를 만들어 본 기사는 여기를 확인하십시오.
htps : // 코 m / h - 타카 우마 / ms / 에 81f46c9170 훗 d1 바아 18
완성 동영상
「화장실 센서 x LINEBot x EnOcean x React」스위치 스트라이크 에어를 사용해 LINEBot로 상황을 응답합니다. LIFF로 시각화도 가능합니다. 피 c. 라고 r. 이 m / z3GQf jH1 — 가마루 @ 스마트 스피커 앱 개발 입문 발매 중! (@ gaomar) 2018년 11월 14일
시스템 개요
EnOcean에서 수신한 신호를 라즈파이로 잡아 Firebase에 개폐 상태의 값을 저장하고 있습니다.
React를 사용하여 Amazon S3에 설치한 정적 사이트에 센서 상태를 시각화하고 있습니다.
React로 시각화하는 부분은 이쪽의 기사를 확인해 주세요.
h tps:// 퀵했다. 작은 m/h-높은 말/있어 MS/208df83887 에세 15f0C45
시스템 구성도
1. LINE Developer에서 채널 만들기
Messaging API의 채널을 새로 만듭니다.
1-1. LIFF URL 얻기
LIFF URL은 최근 LINE Developer 내에서 게시할 수 있습니다.
추가 버튼을 클릭하여 Amazon CloudFront에서 설정한 URL(https)의 사이트 URL을 지정합니다.
LIFF의 크기는 원하는 크기를 지정하십시오.
2. Dialogflow에서 채팅봇 만들기
Dialogflow에서 새 에이전트를 만듭니다.
2-1. Intent 만들기
왼쪽 메뉴에서 Intents
의 오른쪽에 있는 [+] 버튼을 클릭하고 Intent 이름에 ToiletIntent 를 입력합니다.
여기서 대문자 소문자를 조심하십시오.
Traning phrases에 '화장실은'이나 '화장실 비어 있음' 등 사용자가 입력할 것 같은 단어를 등록합니다.
Fulfillment 항목의 상단 플래그를 활성화하십시오.
이 단어에 반응하여 ToiletIntent가 날 수 있습니다.
2-2. Fulfillment 설정
왼쪽 메뉴에서 Fulfillment
를 클릭하여 인라인 에디터의 오른쪽에 있는 체크를 활성화합니다.
2-3. 프로그램 수정
Inline Editor에서 프로그램을 수정합니다.
Firebase 액세스 URL 및 LIFF URL은 적절하게 수정하십시오. 프로그램을 수정했으면 맨 아래에 있는 [DEPLOY] 버튼을 클릭합니다.
'use strict';
const {dialogflow} = require('actions-on-google');
const functions = require('firebase-functions');
const app = dialogflow({debug: true});
const admin = require("firebase-admin");
process.env.DEBUG = 'dialogflow:debug'; // enables lib debugging statements
// 接続するFirebaseのRealtimeDatabaseのURLを指定する
admin.initializeApp({
credential: admin.credential.applicationDefault(),
databaseURL: "https://toiletmanager-xxxxxx.firebaseio.com/"
});
// toiletのwordの値を取得しにいく
const getToiletStat = () => {
return admin.database()
.ref('toilet/word')
.once('value');
};
// 2-1で決めたIntent名を指定します
app.intent('ToiletIntent', (conv) => {
return getToiletStat().then((snapshot) => {
// LIFFのURLは適宜修正してください
conv.json(
JSON.stringify({
"fulfillmentText": `${snapshot.val()} \nline://app/xxxxxxxxxx-xxxxxxxx`
})
);
}).catch((e) => {
conv.json(
JSON.stringify({
"fulfillmentText": "エラー"
})
);
});
});
exports.dialogflowFirebaseFulfillment = functions.https.onRequest(app);
3. LINE Bot 및 Dialogflow 활성화
Dialogflow의 왼쪽 메뉴에서 Integrations
를 클릭합니다.
그 안에 있는 LINE을 활성화합니다.
3-1. LINE Bot의 연결
LINE Developer에 표시된 ChannelID
, Channel Secret
, アクセストークン
를 복사합니다.
Dialogflow 측의 Webhook URL은 LINE Developer의 Webhook URL에 복사합니다.
3-2. LINE Bot 시작
Dialogflow 측의 START
버튼을 클릭하여 LINE Bot을 시작합니다.
요약
Google Home 기술을 만들 때 매우 사용하는 Dialogflow에서 LINE Bot을 쉽게 사용할 수 있었습니다.
앞으로는 이러한 Bot이 늘어나는 것 실수라고 생각합니다.
아이디어 나름으로 여러가지 Bot 제휴가 나오는 것이 기대되네요!
시스템화의 검토나 상담은 당사에 문의해 주세요.
htps : //아니- r. 이. jp/이런 ct/
Reference
이 문제에 관하여(EnOcean의 화장실 센서를 LINE Bot으로 확인), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/h-takauma/items/86abae6f58a0461781e5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)