Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
京TECH道 第13回
Search
miiton
June 01, 2018
Technology
0
200
京TECH道 第13回
Raspberry PiとGoogle Homeで受付システムを作ってみよう
miiton
June 01, 2018
Tweet
Share
Other Decks in Technology
See All in Technology
エンジニア候補者向け資料2024.03.28.pdf
macloud
0
2.9k
今さら聞けない!? AWSの生成AIサービス Amazon Bedrock入門!
minorun365
PRO
11
2.6k
Azureコストは水道代/The_47th_Tokyo_Jazug
aeonpeople
3
380
Elementaryを用いたデータ品質の可視化とデータ基盤の運用改善
10xinc
6
1.6k
8週連続ウェビナー_イチから学ぶFivetran
cmsuzu
0
170
MongoDB Atlas Vectorsearchではじめる生成AIアプリ開発
chie8842
3
510
オブジェクト指向CSSが叶えたかったことと、CSSのいま / The aims of Object-oriented CSS and the current state of CSS usage
shinkufencer
11
3.7k
関数型DDDの理論と実践:「決定を遅らせる」を先につくり、 ビジネスの機動力と価値をあげる
knih
2
490
どう買う?Azure
kuniteru
1
190
家族アルバム みてねで直面してきた技術的負債 / MIXI KAG 2024
isaoshimizu
17
7.7k
Challenges - Open Farming Hackdays 2024
loleg
0
570
生成AIの不確実性と向き合うためのオブジェクト指向設計
tkikuchi1002
2
680
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
14
2.6k
What the flash - Photography Introduction
edds
64
11k
jQuery: Nuts, Bolts and Bling
dougneiner
57
7.1k
WebSockets: Embracing the real-time Web
robhawkes
59
6.9k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
219
21k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
Building Applications with DynamoDB
mza
88
5.6k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
34
8.8k
Pencils Down: Stop Designing & Start Developing
hursman
115
11k
Fontdeck: Realign not Redesign
paulrobertlloyd
75
4.8k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
242
20k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
240
1.2M
Transcript
$!"!! # % 2)-6/. •
• &( – MQO! • HYKQNP]<<<Q]P<<< – ,1 ' • EMLHFJGYPUQ[ • 37+548+!2*80 # – S]]Z\D==RT]S^O<PYW=WTT]YX=FTPN • KN\ZOQ[[_9JT%HYYRVQ9IYWQ%"$<<< – ! "2)-6/.:; @>?B=>A=@C
$!"!! # %
%" #""!$ &
"-& • • • 9' • 9' /.*%- • 7DD?A>.8DB> • ,$) • !#(+ • • :<EDC<;>=@ 3125014036
%" #""!$ &
%" #""!$ &
#" $ #!""& % • 0/.21,')& ! (%3 • -,% 3 • -,% 3 • 3 • 3 • )'+* 3 % % $
%" #""!$ &
• – "! #
%" #""!$ &
1 • – = >!73+< – 6'/"5#0 – • 4 – E?@A(%/"1.0%93* – . ,-"&5#0$"(3* • ")77/"1040 :92")98 ; 73* ECDGBCFBEH
$!"!! # %
%" #""!$ &
$!"!! # %
$!"!! # %
$!"!! # %
%" #""!$ &
%" #""!$ &
%" #""!$ &
%" #""!$ &
%" #""!$ &
$!"!! # %
%" #""!$ &
$!"!! # %
$!"!! # % 0) •
)8:) – IJTRKLSSU=HN&(4,$% – (' 1.>97<3!#. +)>3 1 – 97<3!%."- – FQQMOL=GQPL32"- – 568;) $%/)&,$ %*- B@AD?@C?BE
$!"!! # % %#
• #)*,0# – ?IIFGE2@IHE# 3CB2?IIFGE32 • !666 – %"3CB2?IIFGE3&# ! #666 – A>DDD4(/-5'$.+1 666 :89<78;7:=
%" #""!$ &
& /-.1,-0,/2 ) * ) * نةٝ䬃ׅ "DUJPOTPO(PPHMF %JBMPHGMPX أؾ٦ؕ٦ؿؓٝ %" %" (!$' #+++) *
%" #""!$ &
• – &028:$.+0*2') – – (;7/32 – %*9*),504723-.16 "! #
%" #""!$ &
%" #""!$ &
% • %$# • ! "
%" #""!$ &
$!"!! # % ) %#$'"#&"%(
• ! •
%" #""!$ &
%" #""!$ &
4" • 421 – ' ( – ))) • – 421 – ,3 – 421 – $!#% & -+,/*+.*-0
%" #""!$ &
%" #""!$ &
% • – #'$& ! "
%" #""!$ &
& #! $##"% '
& #! $##"% '
# 便利なコマンド $ pinout
& #! $##"% '
$ vi l_chika.py
& #! $##"% '
import RPi.GPIO as GPIO import time GPIO_LED = 2 GPIO.setwarnings(False) GPIO.setmode(GPIO.BCM) GPIO.setup(GPIO_LED, GPIO.OUT) while True: GPIO.output(GPIO_LED, GPIO.HIGH) time.sleep(0.2) GPIO.output(GPIO_LED, GPIO.LOW) time.sleep(0.2)
%" #""!$ &
$ python l_chika.py
&#! $##"% '
%" #""!$ &
%" #""!$ &
• –
%" #""!$ &
& #! $##"% '
%" #""!$ &
& #! $##"% '
$ vi l_chika.py
& #! $##"% '
import RPi.GPIO as GPIO import time GPIO_LED = 2 GPIO_BUTTON = 26 GPIO.setwarnings(False) GPIO.setmode(GPIO.BCM) GPIO.setup(GPIO_LED, GPIO.OUT) GPIO.setup(GPIO_BUTTON, GPIO.IN, pull_up_down=GPIO.PUD_UP) while True: GPIO.wait_for_edge(GPIO_BUTTON, GPIO.FALLING) while True: sw_status = GPIO.input(GPIO_BUTTON) if sw_status == 0: GPIO.output(GPIO_LED, GPIO.HIGH) time.sleep(0.1) GPIO.output(GPIO_LED, GPIO.LOW) time.sleep(0.1) else: GPIO.output(GPIO_LED, GPIO.LOW)
& #! $##"% '
$ python l_chika.py
%" #""!$ &
&#! $##"% '
"" "!
%" #""!$ &
6FF@C>*7FD># !" • EGD)'$%@FF@C>,AFD>,EFJB?B>H # – #+6FF@C> !" +# (&<;9# – 5AHFD>*5=IJ4:8#6FF@C>*7FD> <;9#" • 6FF@C>*7FD> " 0./2-.1-03
%" #""!$ &
%" #""!$ &
# Google Homeを喋らせる環境のセットアップ $ curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash – $ sudo apt-get install nodejs $ sudo apt-get install git-core libnss-mdns libavahi-compat-libdnssd-dev $ mkdir notifier $ cd notifier $ npm init -y $ npm install google-home-notifier $ vi node_modules/mdns/lib/browser.js # google-home-notifierのREADMEにある変更を加える
& #! $##"% '
$ vi notify.js
& #! $##"% '
var googlehome = require('google-home-notifier'); var language = 'ja'; googlehome.device('Google-Home-Mini-XXXXXX', language); googlehome.notify('Hello, Google', function(res) { console.log(res); });
%" #""!$ &
$ node notify.js
& #! $##"% '
& #! $##"% '
%" #""!$ &
925+( $% A?@C>?B>AD EKTORQS<RQ<GRRNPL GRRNPL<ESSOSTJQT#!),08;( %/61 &(FOJPRNMPRU (% FOJPRNMPRU GRRNPL#3*794;-# ( )7:.08; ( "&%/61 GRRNPL<ESSOSTJQT =IH<GRRNPL= ''&%/61
&#! $##"% '
<690.+- • <690.MXXSUQ@NXVQ DA KPZTXWY@XW@MXXSUQ$:>5248. • /:="<690 EA LTOUXSRUX[" FA 7:>0 GA <690+!- /31?8% &) , '#MXXSUQ@KYYTYZOWZ/:=% '!7;!* (' ECDIBCHBEJ
%" #""!$ &
:04+) &' 27 DBCFABEADG • 41.= JTTPRO>HUUQUVNSV!*5;!/68< /9=)'()# • JTTPRO*-,=3)! " % $LK?!MI MI) @
%" #""!$ &
# Google Assistant用の環境セットアップ ※Google Assistant SDKのガイドを見ながらやり ます:ブラウザで "Google Assistant SDK"を検索
%" #""!$ &
$! • $!3>>8;7'2@@:@A5=A – 認証用credentialsファイル(予め用意) • wget http://192.168.11.X/credentials1.json • wget http://192.168.11.X/credentials2.json • &"% – !$# • 9AA?1))+0,(+./(++(4):=67B(9A<; ,*+/)*-),0
& #! $##"% '
& #! $##"% '
' )*+, 3125014036 - . - . نةٝ䬃ׅ "DUJPOTPO(PPHMF %JBMPHGMPX أؾ٦ؕ٦ؿؓٝ %" %" (!$& #///- .
& #! $##"% '
'-" 236: • 94=.*GQQLNK>FSSMSTJPT/8 < – I50%31<87.LQQLNKSJORNKS$( • .,# "+& • $<;7%GQQLNK>HQOK U*!)& – GQQLNK>HQOK.*,31<87. B@AD?@C?BE
%" #""!$ &
!% • #& (,) arecord --format=S16_LE --duration=2 -- rate=16000 --file-type=raw out.raw 「受付につないで」 <- 録音 • $'"(,) python -m googlesamples.assistant.grpc.pushtotalk -- device-model-id <DevideModelID> --device-id <DeviceID> -i out.raw --lang ja-JP --once -+,/*+.*-0
& #! $##"% '
• $ git clone https://github.com/PasonaTechLab/tech1805 $ cp tech1805/pushtotalk.py env/lib/python2.7/site- packages/googlesamples/assistant/grpc $ pip install RPi.GPIO $ vi tech1805/notify.js # Google-Home-Mini-XXXを書き換え $ cp tech1805/notify.js notifier/notify.js • python -m googlesamples.assistant.grpc.pushtotalk -- device-model-id <DevideModelID> --device-id <DeviceID> -i out.raw --lang ja-JP --once ! "
%" #""!$ &
&#! $##"% '
• – "! • $ # • – /::573%0:83 • /::573%-;;6;<19< • -2<6:9;%:9%/::573 • .617:547:= )'(+&'*&),
%" #""!$ &
– ( $7D; – 5DD@B>*6DC>%) – 3A=BD@?BDE!'"#&"# • 8794*2:; • <42# !'"#&"# .,-0+,/+.1
%" #""!$ &