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
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
0
460
Amazon Echoのウェイクワードをカスタマイズする / Customize Amazon Echo Wake Word
【とらのあな主催】オタクが最新技術を追うライトニングトークイベント2回目
https://yumenosora.connpass.com/event/115364/
mat
January 15, 2019
Tweet
Share
More Decks by mat
See All by mat
プリキュアハッカソン4 成果発表 / cure_hack4
romiogaku
0
920
APIドキュメント標準化現状確認 / standard api document
romiogaku
0
13k
Other Decks in Programming
See All in Programming
インターン生でもAuth0で認証基盤刷新が出来るのか
taku271
0
190
Oxlint JS plugins
kazupon
1
940
高速開発のためのコード整理術
sutetotanuki
1
400
Implementation Patterns
denyspoltorak
0
290
KIKI_MBSD Cybersecurity Challenges 2025
ikema
0
1.3k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
560
SourceGeneratorのススメ
htkym
0
200
生成AIを使ったコードレビューで定性的に品質カバー
chiilog
1
270
CSC307 Lecture 01
javiergs
PRO
0
690
疑似コードによるプロンプト記述、どのくらい正確に実行される?
kokuyouwind
0
380
Unicodeどうしてる? PHPから見たUnicode対応と他言語での対応についてのお伺い
youkidearitai
PRO
1
2.5k
FOSDEM 2026: STUNMESH-go: Building P2P WireGuard Mesh Without Self-Hosted Infrastructure
tjjh89017
0
170
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
55
9.5k
4 Signs Your Business is Dying
shpigford
187
22k
Discover your Explorer Soul
emna__ayadi
2
1.1k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
190
Balancing Empowerment & Direction
lara
5
890
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.7k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.3k
Agile that works and the tools we love
rasmusluckow
331
21k
Raft: Consensus for Rubyists
vanstee
141
7.3k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
250
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 ৄ͘͠ϒϩάʹ