Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Amazon Echoのウェイクワードをカスタマイズする / Customize Amaz...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
mat
January 15, 2019
Programming
470
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Amazon Echoのウェイクワードをカスタマイズする / Customize Amazon Echo Wake Word
【とらのあな主催】オタクが最新技術を追うライトニングトークイベント2回目
https://yumenosora.connpass.com/event/115364/
mat
January 15, 2019
More Decks by mat
See All by mat
プリキュアハッカソン4 成果発表 / cure_hack4
romiogaku
0
940
APIドキュメント標準化現状確認 / standard api document
romiogaku
0
13k
Other Decks in Programming
See All in Programming
型解析で実現する Go の言語内 DSL / Conference に Go! タイムテーブルの歩き方 for Gophers
mazrean
0
150
FreeBSDでZabbixを動かす.pdf
kenkino
0
270
AI × TiDD / 2026.09.05 Redmine 大阪
tokudiro
1
160
From 6 People Classroom Meetup to 100 People Regional Conference / FOSS4G Hiroshima 2026
furukawayasuto
0
200
AHC070解法紹介
eijirou
0
120
XP祭りでしか伝わらないフリップネタ #xpjug
murabayashi
0
150
スマート反転とウェブアクセシビリティ
camiha
0
210
[DroidKaigi 2026] Bring your own phones to Gradle Managed Devices
f2lk
0
120
DroidKaigi 2026 「個人開発という実験場: Android エンジニアが手にする4つの自由」
slashnephy
0
230
AWS Step Functions 大規模並列の壁を越える / jaws-sonic-2026-niigata-step-functions
kasacchiful
PRO
1
450
Java 27新機能 / Java 27 new features
kishida
2
130
Kiroで創り、AgentCoreで繋ぐ!AWSで実践する「AI-DLC」から「AIエージェント統合」までの最新地図
licux
4
680
Featured
See All Featured
Mind Mapping
helmedeiros
1
360
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
18k
What's in a price? How to price your products and services
michaelherold
247
13k
Bash Introduction
62gerente
615
220k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
280
Optimizing for Happiness
mojombo
378
71k
The Cult of Friendly URLs
andyhume
79
7k
Agile that works and the tools we love
rasmusluckow
331
22k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Designing Experiences People Love
moore
143
24k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
2.9k
Transcript
"NB[PO&DIPͷ ΣΠΫϫʔυΛΧελϚΠζ͢Δ NBU !SPNJPHBLV
λΠτϧΓͰ͢ ͝ΊΜͳ͍͞
ͱ͜ΖͰօ͞Μ
͖Ͱ͔͢ʁ
w ʮΞΠυϧ׆ಈʯΛςʔϚʹ ͨ͠ঁࣇ͚ίϯςϯπ w %$%ɺ57ΞχϝͰల։த w ݱࡏγϦʔζ࡞ʮΞΠΧπ ϑϨϯζʂʯ͕์өத
None
None
w ܶதϞόΠϧΞϓϦʮΞΠΧ πφϏʯͷΩϟϥΫλʔ w "*Ͱ͋Δ w ʮϋϩʔɺίίͪΌΜʯͱݺ ͼ͔͚ΔͱʮίίͩΑʂʯͱ ىಈ͢Δʢ$7ॾ͢ΈΕʣ w
͔Θ͍͍ ίίͪΌΜ
IUUQTCJUMZ'UK[ ʮίίͩΑʂʯ $7ॾ͢ΈΕ "MFYBɺΞΠΧπφϏ։͍ͯɺ ϋϩʔίίͪΌΜ ʮ͍ͬ͠ΐʹ"ŋ*ŋ,ŋ"ŋ5ŋ4ŋ6ʂʯNQ "MFYBɺΞΠΧπφϏ։͍ͯɺ Վͬͯ
Կ͔͕Γͳ͍ɾɾɾ
IUUQTCJUMZ'UK[ ʮίίͩΑʂʯ $7ॾ͢ΈΕ "MFYBɺΞΠΧπφϏ։͍ͯɺ ϋϩʔίίͪΌΜ ʮ͍ͬ͠ΐʹ"ŋ*ŋ,ŋ"ŋ5ŋ4ŋ6ʂʯNQ "MFYBɺΞΠΧπφϏ։͍ͯɺ Վͬͯ
ʮϋϩʔίίͪΌΜʯ ΛΣΠΫϫʔυʹ͍ͨ͠ʂ
None
None
"DUJPO#VUUPO
ͭ·Γ
"NB[PO&DIPͷ ΣΠΫϫʔυΛΧελϚΠζ͢Δ ʢཧʣ NBU !SPNJPHBLV
Ͳ͏ͬͯԡ͢ʁ
w 3BTQCFSSZ1J.PEFM# w ϥζύΠ༻ిݯ w 4%Χʔυ w 64#ϚΠΫ w
αʔϘϞʔλ
None
ԻೝࣝͲ͏͢Δʁ
ީิ +VMJVTʢϑϦʔͷԻೝࣝιϑτΣΞʣ Իೝࣝ"1*ʢ(PPHMFɺ.4͕ఏڙʣ 8FC4QFFDI"1*
+VMJVT w ຊମͱผʹԻڹϞσϧɾݴޠϞσϧ͕ೖͬͨجຊతͳσΟ ΫςʔγϣϯΩοτ͕͞Ε͍ͯΔ w σϑΥϧτͩͱೝࣝѱ͔ͬͨ w ೝࣝΛ্͛ΔͨΊʹಠࣗࣙॻ࡞ͬͯΈ͕ͨɺؔͳ ͍Իೝࣝ͞Εͯ͠·ͬͨ w
ͬͱྑ͍Γํ͕͋Δ͚ͣͩͲಓʹҳΕͦ͏ͩͬ ͨͷͰஅ೦
Իೝࣝ"1* w (PPHMFͷ$MPVE4QFFDIUP5FYU"1*Λࢼͨ͠ w ೝࣝਫ਼ߴ͍ w ࠷ॳແྉ͚ͩͲجຊతʹ͓͕͔͔ۚΔ w ৗ࣌ىಈͤ͞ΔͷͰ͙͢جຊ͑ͦ͏ɻஅ೦
8FC4QFFDI"1* w ϒϥβͰಈ࡞͢ΔʮԻ߹ʯͱʮԻೝࣝʯػೳ w ෦Ͱ(PPHMFͷԻೝ͕ࣝΘΕ͍ͯΔΒ͍͠ w ݱࡏ$ISPNFͷΈରԠ w (PPHMFͷσϞϖʔδ w
IUUQTXXXHPPHMFDPNDISPNFEFNPT TQFFDIIUNM
const recognition = new webkitSpeechRecognition(); recognition.continuous = true; recognition.lang =
"ja"; recognition.onresult = event => { for (let i = event.resultIndex; i < event.results.length; ++i) { if (event.results[i].isFinal) { const word = event.results[i][0].transcript; if (word === "ハローここちゃん") { // モーターを動かす為のなにかしらを行う } } } }; recognition.start();
αʔϘϞʔλΛϓϩάϥϜ͔Βಈ͔͢
w (PMBOHͰॻ͔ΕͨϩϘςΟΫεϑϨʔϜϫʔΫ w αʔόػೳ͕͋Γɺ"1*Խ͢Δ͜ͱ͕Ͱ͖Δ w ʮಛఆͷΤϯυϙΠϯτʹϦΫΤετ͕དྷͨΒαʔϘ ϞʔλΛಈ͔͢ʯͳΜͯ͜ͱ͕Ͱ͖Δ
adaptor := raspi.NewAdaptor() servo := gpio.NewServoDriver(adaptor, "12") //PWM0(18) work :=
func() { // 13 ~ 41 = 0度 ~ 180度 servo.Move(uint8(27)) //center gobot.After(1*time.Second, func() { servo.Move(uint8(35)) gobot.After(500*time.Millisecond, func() { servo.Move(uint8(27)) }) }) } robot := gobot.NewRobot("servoBot", []gobot.Connection{adaptor}, []gobot.Device{servo}, work, )
master := gobot.NewMaster() // Starts the API server on default
port 3000 server := api.NewAPI(master) server.Port = "3000" server.Start() servoEndpoint := master.AddRobot(robot) servoEndpoint.AddCommand("move", func(params map[string]interface{}) interface{} { reqParam := fmt.Sprintf("Params: %+v\n", params) robot.Start() return reqParam }) master.Start() http://localhost:3000/api/robots/servoBot/commands/move ͰϦΫΤετΛͪड͚Δ
None
αʔϘϞʔλΛ"MFYBʹݻఆ͢Δ
None
ʂ
IUUQTZPVUVCFIRS/@L;'6
ײ w *P5ॳΊ͚ͯͩͲҙ֎ͱ࡞ΕΔɺάάΕใͨ͘͞Μग़ͯ͘Δ w (PPHMFͷԻೝࣝͷޙʹ"NB[PO "MFYB ͷԻೝࣝͬͯͯ ΧΦε w ࡐΛίίͪΌΜʹ͓͔ͨ͛͠ͰϞνϕʔγϣϯ͕མͪͳ͔ͬͨ
w ʹࢥ͍͍ͭͯ࢝ʹϥζύΠങͬͯࣄ࢝Ίલʹͨ͠ w ͏Μ͏Μɺ͜Ε·ͨΞΠΧπʂͩͶ
IUUQTCJUMZ2.S"JX ৄ͘͠ϒϩάʹ