GoogleHome, IFTTT, Firebase 및 라즈파이에서 지정한 수에 해당하는 소리를 흘립니다(영어 읽기 도구 작성)
소개
영어 단어를 배울 때마다 PC를 시작하고 소리를 내거나 스마트 폰을 시작하여 소리를 듣는 것이 귀찮습니다.
특정 페이지를 지정한 후에는 해당 소리가 흐르는 것이 좋다고 생각했습니다.
환경
ラズパイ
$lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description: Raspbian GNU/Linux 9.4 (n/a)
Release: 9.4
Codename: n/a
$npm -v
5.6.0
$node -v
v9.4.0
상황
「응 Google 구글 워드북 5」라고 발화
GoogleHome에서는 단어장 5페이지에 대응한 음원이 된다
메커니즘
GoogleHome에서 발화한 내용을 IFTTT에서 Google Assistant
로 받고 webhooks
에서 지정한 Firebase RealtimeDatabese에 내용을 기록
라즈파이의 node.js에서 Firebase RealtimeDatabese가 업데이트되면 업데이트 된 내용을 받고 google-home-notifier
googleHome에 흐르게하고 싶은 음성의 url을 전달하도록합니다.
흐르는 음성에 관해서는 라즈파이에 웹 서버 (Appach)를 세우고 거기에 대응하는 음성 데이터를 둡니다.
Firebase 설정
Firebase에서 새 프로젝트 만들기
맨 왼쪽 메뉴에서 맨 위 Project OverView의 톱니바퀴 마크를 눌러 프로젝트 설정을 선택합니다.
열린 페이지의 오른쪽 하단에있는 ウェブアプリに Firebase を追加
를 클릭하여 필요한 설정을 볼 수 있습니다.
그런 다음 가장 왼쪽 메뉴에서 Database
를 선택하고 RealtimeDatabese를 선택하고 아래와 같은 화면으로 전환합니다.
프로젝트 ID 옆의 더하기 버튼을 선택하고 url
및 ""
항목을 만듭니다.
IFTTT 설정
Google Assistant 설정
GoogleHome과 연결된 Google 계정으로 IFTTT에 로그인Google Assistant
를 선택하고 그 중에서 Say a phrse with a number
를 선택하십시오.
이 항목은 발화한 숫자를 가져오고 숫자를 트리거로 사용할 수 있습니다.
이 항목의 구체적인 설정은 아래와 같이What do you want to say
필드에 単語帳 #
를 입력하십시오.
에 말한 숫자가 들어온다.
GoogleHome의 답변도 적어두고 #을 넣으면 사용자 측이 발화한 숫자가 여기에 들어가게 된다
Language를 Korean으로 선택하는 것을 잊지 마십시오.
webhooks 설정
URL
https://{Firebaseで設定したプロジェクトID 例:XXXXXXXXXXX-12345}.firebaseio.com/url.json
할 수 있다
Body
"http://{ラズパイのIPアドレス例:192.xxx.xxx.xxx}/English/{{NumberField}}.mp3"
Firebase의 RealTimeDatabese에 보낼 내용을 넣습니다.
이전 항목에서 #
에 들어가는 숫자의 내용을 NumberField
로 검색할 수 있습니다.NumberField
라는 항목이 없으면 아래의 Add ingrediet 버튼을 누르면 나온다
라즈파이에 웹 서버를 세우십시오 (apache)
여기를 참조했습니다.
Google Home에서 Raspberry Pi에서 음악 파일을 재생하도록 합니다.
위에 쓰여진 것을 인용하지만 아래 3 줄을 라즈파이에서 실행합니다.
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install apache2
라즈파이에서 /var/www/html
의 계층 구조로 이동하여 English
폴더를 만들고 오디오 파일 1.mp3
을 넣고 mac에서 아래 URL에 액세스하여 재생을 확인합니다.
http://{ラズパイのIPアドレス例:192.xxx.xxx.xxx}/English/1.mp3
라즈파이에 node.js 준비
google-home-notifier
여기를 참조하여 준비했습니다.
Google Home 스피커에 외부에서 밀어서 자발적으로 말하도록 합니다.
Google Home에서 좋아하는 팟캐스트를 스마트하게 재생
먼저 google-home-notifier clone
$git clone https://github.com/noelportugal/google-home-notifier
$cd google-home-notifier/
$ls
LICENSE README.md example.js google-home-notifier.js package.json
필요한 패키지 넣기
feedparser
, firebase
, google-home-notifier
, request
package.json
업데이트
$vi package.json
package.json
의 내용
{
"name": "google-home-notifier",
"version": "1.2.0",
"description": "",
"main": "google-home-notifier.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "Noel Portugal",
"keywords": [
"google home",
"notifications",
"notifier"
],
"license": "MIT",
"dependencies": {
"body-parser": "^1.15.2",
"castv2-client": "^1.1.2",
"express": "^4.14.0",
"google-tts-api": "0.0.2",
"mdns": "^2.3.3",
"ngrok": "^2.2.4",
"feedparser": "^2.2.9",
"firebase": "^5.5.1",
"google-home-notifier": "^1.2.0",
"request": "^2.88.0"
}
}
라이브러리 도입
$npm install
새 파일 만들기
$vi play-English.js
play-English.js
의 내용
var FeedParser = require('feedparser');
var firebase = require('firebase');
var googleHome = require('google-home-notifier');
var request = require('request');
const lang = 'ja';
const ip = '192.xxx.xxx.xxx'; //再生したいGoogle HomeのIPアドレス
googleHome.ip(ip, lang);
//Firebaseでプロジェクトを造ったときに確認した内容
const config = {
apiKey: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
authDomain: 'xxxxxxxxxxx-xxxxx.firebaseapp.com',
databaseURL: 'https://xxxxxxxxxxx-xxxxx.firebaseio.com',
projectId: 'xxxxxxxxxxx-xxxxx',
storageBucket: 'xxxxxxxxxxx-xxxxx.appspot.com',
messagingSenderId: 'xxxxxxxxxxx'
};
firebase.initializeApp(config);
var db = firebase.database();
var ref = db.ref('/');
//RealTimeDatabeseが更新されるとこの関数の中に入ってくる
ref.on('child_changed', function(snapshot) {
var url = snapshot.val()
if (url) {
googleHome.play(url, (notifyRes) => {
console.log(notifyRes);
})
}
ref.update({'url': ''}); // 変更をリセット
});
실행해보기
$node play-English.js
영속화
forever
사용
forever 명령으로 NodeJS 앱을 계속 실행
완성! !
발화하면 단어를 읽고 편리합니다.
참고 자료
Google Home에서 Raspberry Pi에서 음악 파일을 재생하도록 합니다.
Google Home 스피커에 외부에서 밀어서 자발적으로 말하도록 합니다.
Google Home에서 좋아하는 팟캐스트를 스마트하게 재생
선인 여러분에게 감사를 담아
Reference
이 문제에 관하여(GoogleHome, IFTTT, Firebase 및 라즈파이에서 지정한 수에 해당하는 소리를 흘립니다(영어 읽기 도구 작성)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/nakagawa1017/items/78f18b88b2ce49077da7
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
ラズパイ
$lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description: Raspbian GNU/Linux 9.4 (n/a)
Release: 9.4
Codename: n/a
$npm -v
5.6.0
$node -v
v9.4.0
상황
「응 Google 구글 워드북 5」라고 발화
GoogleHome에서는 단어장 5페이지에 대응한 음원이 된다
메커니즘
GoogleHome에서 발화한 내용을 IFTTT에서
Google Assistant
로 받고 webhooks
에서 지정한 Firebase RealtimeDatabese에 내용을 기록라즈파이의 node.js에서 Firebase RealtimeDatabese가 업데이트되면 업데이트 된 내용을 받고
google-home-notifier
googleHome에 흐르게하고 싶은 음성의 url을 전달하도록합니다.흐르는 음성에 관해서는 라즈파이에 웹 서버 (Appach)를 세우고 거기에 대응하는 음성 데이터를 둡니다.
Firebase 설정
Firebase에서 새 프로젝트 만들기
맨 왼쪽 메뉴에서 맨 위 Project OverView의 톱니바퀴 마크를 눌러 프로젝트 설정을 선택합니다.
열린 페이지의 오른쪽 하단에있는 ウェブアプリに Firebase を追加
를 클릭하여 필요한 설정을 볼 수 있습니다.
그런 다음 가장 왼쪽 메뉴에서 Database
를 선택하고 RealtimeDatabese를 선택하고 아래와 같은 화면으로 전환합니다.
프로젝트 ID 옆의 더하기 버튼을 선택하고 url
및 ""
항목을 만듭니다.
IFTTT 설정
Google Assistant 설정
GoogleHome과 연결된 Google 계정으로 IFTTT에 로그인Google Assistant
를 선택하고 그 중에서 Say a phrse with a number
를 선택하십시오.
이 항목은 발화한 숫자를 가져오고 숫자를 트리거로 사용할 수 있습니다.
이 항목의 구체적인 설정은 아래와 같이What do you want to say
필드에 単語帳 #
를 입력하십시오.
에 말한 숫자가 들어온다.
GoogleHome의 답변도 적어두고 #을 넣으면 사용자 측이 발화한 숫자가 여기에 들어가게 된다
Language를 Korean으로 선택하는 것을 잊지 마십시오.
webhooks 설정
URL
https://{Firebaseで設定したプロジェクトID 例:XXXXXXXXXXX-12345}.firebaseio.com/url.json
할 수 있다
Body
"http://{ラズパイのIPアドレス例:192.xxx.xxx.xxx}/English/{{NumberField}}.mp3"
Firebase의 RealTimeDatabese에 보낼 내용을 넣습니다.
이전 항목에서 #
에 들어가는 숫자의 내용을 NumberField
로 검색할 수 있습니다.NumberField
라는 항목이 없으면 아래의 Add ingrediet 버튼을 누르면 나온다
라즈파이에 웹 서버를 세우십시오 (apache)
여기를 참조했습니다.
Google Home에서 Raspberry Pi에서 음악 파일을 재생하도록 합니다.
위에 쓰여진 것을 인용하지만 아래 3 줄을 라즈파이에서 실행합니다.
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install apache2
라즈파이에서 /var/www/html
의 계층 구조로 이동하여 English
폴더를 만들고 오디오 파일 1.mp3
을 넣고 mac에서 아래 URL에 액세스하여 재생을 확인합니다.
http://{ラズパイのIPアドレス例:192.xxx.xxx.xxx}/English/1.mp3
라즈파이에 node.js 준비
google-home-notifier
여기를 참조하여 준비했습니다.
Google Home 스피커에 외부에서 밀어서 자발적으로 말하도록 합니다.
Google Home에서 좋아하는 팟캐스트를 스마트하게 재생
먼저 google-home-notifier clone
$git clone https://github.com/noelportugal/google-home-notifier
$cd google-home-notifier/
$ls
LICENSE README.md example.js google-home-notifier.js package.json
필요한 패키지 넣기
feedparser
, firebase
, google-home-notifier
, request
package.json
업데이트
$vi package.json
package.json
의 내용
{
"name": "google-home-notifier",
"version": "1.2.0",
"description": "",
"main": "google-home-notifier.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "Noel Portugal",
"keywords": [
"google home",
"notifications",
"notifier"
],
"license": "MIT",
"dependencies": {
"body-parser": "^1.15.2",
"castv2-client": "^1.1.2",
"express": "^4.14.0",
"google-tts-api": "0.0.2",
"mdns": "^2.3.3",
"ngrok": "^2.2.4",
"feedparser": "^2.2.9",
"firebase": "^5.5.1",
"google-home-notifier": "^1.2.0",
"request": "^2.88.0"
}
}
라이브러리 도입
$npm install
새 파일 만들기
$vi play-English.js
play-English.js
의 내용
var FeedParser = require('feedparser');
var firebase = require('firebase');
var googleHome = require('google-home-notifier');
var request = require('request');
const lang = 'ja';
const ip = '192.xxx.xxx.xxx'; //再生したいGoogle HomeのIPアドレス
googleHome.ip(ip, lang);
//Firebaseでプロジェクトを造ったときに確認した内容
const config = {
apiKey: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
authDomain: 'xxxxxxxxxxx-xxxxx.firebaseapp.com',
databaseURL: 'https://xxxxxxxxxxx-xxxxx.firebaseio.com',
projectId: 'xxxxxxxxxxx-xxxxx',
storageBucket: 'xxxxxxxxxxx-xxxxx.appspot.com',
messagingSenderId: 'xxxxxxxxxxx'
};
firebase.initializeApp(config);
var db = firebase.database();
var ref = db.ref('/');
//RealTimeDatabeseが更新されるとこの関数の中に入ってくる
ref.on('child_changed', function(snapshot) {
var url = snapshot.val()
if (url) {
googleHome.play(url, (notifyRes) => {
console.log(notifyRes);
})
}
ref.update({'url': ''}); // 変更をリセット
});
실행해보기
$node play-English.js
영속화
forever
사용
forever 명령으로 NodeJS 앱을 계속 실행
완성! !
발화하면 단어를 읽고 편리합니다.
참고 자료
Google Home에서 Raspberry Pi에서 음악 파일을 재생하도록 합니다.
Google Home 스피커에 외부에서 밀어서 자발적으로 말하도록 합니다.
Google Home에서 좋아하는 팟캐스트를 스마트하게 재생
선인 여러분에게 감사를 담아
Reference
이 문제에 관하여(GoogleHome, IFTTT, Firebase 및 라즈파이에서 지정한 수에 해당하는 소리를 흘립니다(영어 읽기 도구 작성)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/nakagawa1017/items/78f18b88b2ce49077da7
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Google Assistant 설정
GoogleHome과 연결된 Google 계정으로 IFTTT에 로그인
Google Assistant
를 선택하고 그 중에서 Say a phrse with a number
를 선택하십시오.이 항목은 발화한 숫자를 가져오고 숫자를 트리거로 사용할 수 있습니다.
이 항목의 구체적인 설정은 아래와 같이
What do you want to say
필드에 単語帳 #
를 입력하십시오.에 말한 숫자가 들어온다.
GoogleHome의 답변도 적어두고 #을 넣으면 사용자 측이 발화한 숫자가 여기에 들어가게 된다
Language를 Korean으로 선택하는 것을 잊지 마십시오.
webhooks 설정
URL
https://{Firebaseで設定したプロジェクトID 例:XXXXXXXXXXX-12345}.firebaseio.com/url.json
할 수 있다
Body
"http://{ラズパイのIPアドレス例:192.xxx.xxx.xxx}/English/{{NumberField}}.mp3"
Firebase의 RealTimeDatabese에 보낼 내용을 넣습니다.
이전 항목에서 #
에 들어가는 숫자의 내용을 NumberField
로 검색할 수 있습니다.NumberField
라는 항목이 없으면 아래의 Add ingrediet 버튼을 누르면 나온다
라즈파이에 웹 서버를 세우십시오 (apache)
여기를 참조했습니다.
Google Home에서 Raspberry Pi에서 음악 파일을 재생하도록 합니다.
위에 쓰여진 것을 인용하지만 아래 3 줄을 라즈파이에서 실행합니다.
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install apache2
라즈파이에서 /var/www/html
의 계층 구조로 이동하여 English
폴더를 만들고 오디오 파일 1.mp3
을 넣고 mac에서 아래 URL에 액세스하여 재생을 확인합니다.
http://{ラズパイのIPアドレス例:192.xxx.xxx.xxx}/English/1.mp3
라즈파이에 node.js 준비
google-home-notifier
여기를 참조하여 준비했습니다.
Google Home 스피커에 외부에서 밀어서 자발적으로 말하도록 합니다.
Google Home에서 좋아하는 팟캐스트를 스마트하게 재생
먼저 google-home-notifier clone
$git clone https://github.com/noelportugal/google-home-notifier
$cd google-home-notifier/
$ls
LICENSE README.md example.js google-home-notifier.js package.json
필요한 패키지 넣기
feedparser
, firebase
, google-home-notifier
, request
package.json
업데이트
$vi package.json
package.json
의 내용
{
"name": "google-home-notifier",
"version": "1.2.0",
"description": "",
"main": "google-home-notifier.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "Noel Portugal",
"keywords": [
"google home",
"notifications",
"notifier"
],
"license": "MIT",
"dependencies": {
"body-parser": "^1.15.2",
"castv2-client": "^1.1.2",
"express": "^4.14.0",
"google-tts-api": "0.0.2",
"mdns": "^2.3.3",
"ngrok": "^2.2.4",
"feedparser": "^2.2.9",
"firebase": "^5.5.1",
"google-home-notifier": "^1.2.0",
"request": "^2.88.0"
}
}
라이브러리 도입
$npm install
새 파일 만들기
$vi play-English.js
play-English.js
의 내용
var FeedParser = require('feedparser');
var firebase = require('firebase');
var googleHome = require('google-home-notifier');
var request = require('request');
const lang = 'ja';
const ip = '192.xxx.xxx.xxx'; //再生したいGoogle HomeのIPアドレス
googleHome.ip(ip, lang);
//Firebaseでプロジェクトを造ったときに確認した内容
const config = {
apiKey: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
authDomain: 'xxxxxxxxxxx-xxxxx.firebaseapp.com',
databaseURL: 'https://xxxxxxxxxxx-xxxxx.firebaseio.com',
projectId: 'xxxxxxxxxxx-xxxxx',
storageBucket: 'xxxxxxxxxxx-xxxxx.appspot.com',
messagingSenderId: 'xxxxxxxxxxx'
};
firebase.initializeApp(config);
var db = firebase.database();
var ref = db.ref('/');
//RealTimeDatabeseが更新されるとこの関数の中に入ってくる
ref.on('child_changed', function(snapshot) {
var url = snapshot.val()
if (url) {
googleHome.play(url, (notifyRes) => {
console.log(notifyRes);
})
}
ref.update({'url': ''}); // 変更をリセット
});
실행해보기
$node play-English.js
영속화
forever
사용
forever 명령으로 NodeJS 앱을 계속 실행
완성! !
발화하면 단어를 읽고 편리합니다.
참고 자료
Google Home에서 Raspberry Pi에서 음악 파일을 재생하도록 합니다.
Google Home 스피커에 외부에서 밀어서 자발적으로 말하도록 합니다.
Google Home에서 좋아하는 팟캐스트를 스마트하게 재생
선인 여러분에게 감사를 담아
Reference
이 문제에 관하여(GoogleHome, IFTTT, Firebase 및 라즈파이에서 지정한 수에 해당하는 소리를 흘립니다(영어 읽기 도구 작성)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/nakagawa1017/items/78f18b88b2ce49077da7
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
"http://{ラズパイのIPアドレス例:192.xxx.xxx.xxx}/English/{{NumberField}}.mp3"
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install apache2
http://{ラズパイのIPアドレス例:192.xxx.xxx.xxx}/English/1.mp3
$git clone https://github.com/noelportugal/google-home-notifier
$cd google-home-notifier/
$ls
LICENSE README.md example.js google-home-notifier.js package.json
$vi package.json
{
"name": "google-home-notifier",
"version": "1.2.0",
"description": "",
"main": "google-home-notifier.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "Noel Portugal",
"keywords": [
"google home",
"notifications",
"notifier"
],
"license": "MIT",
"dependencies": {
"body-parser": "^1.15.2",
"castv2-client": "^1.1.2",
"express": "^4.14.0",
"google-tts-api": "0.0.2",
"mdns": "^2.3.3",
"ngrok": "^2.2.4",
"feedparser": "^2.2.9",
"firebase": "^5.5.1",
"google-home-notifier": "^1.2.0",
"request": "^2.88.0"
}
}
$npm install
$vi play-English.js
var FeedParser = require('feedparser');
var firebase = require('firebase');
var googleHome = require('google-home-notifier');
var request = require('request');
const lang = 'ja';
const ip = '192.xxx.xxx.xxx'; //再生したいGoogle HomeのIPアドレス
googleHome.ip(ip, lang);
//Firebaseでプロジェクトを造ったときに確認した内容
const config = {
apiKey: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
authDomain: 'xxxxxxxxxxx-xxxxx.firebaseapp.com',
databaseURL: 'https://xxxxxxxxxxx-xxxxx.firebaseio.com',
projectId: 'xxxxxxxxxxx-xxxxx',
storageBucket: 'xxxxxxxxxxx-xxxxx.appspot.com',
messagingSenderId: 'xxxxxxxxxxx'
};
firebase.initializeApp(config);
var db = firebase.database();
var ref = db.ref('/');
//RealTimeDatabeseが更新されるとこの関数の中に入ってくる
ref.on('child_changed', function(snapshot) {
var url = snapshot.val()
if (url) {
googleHome.play(url, (notifyRes) => {
console.log(notifyRes);
})
}
ref.update({'url': ''}); // 変更をリセット
});
$node play-English.js
Google Home에서 Raspberry Pi에서 음악 파일을 재생하도록 합니다.
Google Home 스피커에 외부에서 밀어서 자발적으로 말하도록 합니다.
Google Home에서 좋아하는 팟캐스트를 스마트하게 재생
선인 여러분에게 감사를 담아
Reference
이 문제에 관하여(GoogleHome, IFTTT, Firebase 및 라즈파이에서 지정한 수에 해당하는 소리를 흘립니다(영어 읽기 도구 작성)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/nakagawa1017/items/78f18b88b2ce49077da7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)