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
ESP-WROOM-02とマイクをつないでみた話。
Search
masato-ka
May 14, 2017
Technology
2
4.7k
ESP-WROOM-02とマイクをつないでみた話。
ESP-WROOM-02とマイクをつないでみた話。
I connected between ESP8266 and digital MIC via I2S interface.
masato-ka
May 14, 2017
Tweet
Share
More Decks by masato-ka
See All by masato-ka
Azure MLで試して学ぶAIによる自動走行とAIの仕組みハンズオン
masatoka
2
600
Azureで試して学ぶAI CAR自動走行の仕組みハンズオン
masatoka
0
510
JetsonNanoで動く深層強化学習を使ったラジコン向け自動運転ソフトウェアの紹介
masatoka
1
1.6k
Visual Studio Codeで始めるWio LTE
masatoka
0
2k
非接触温度センサのデータをLagoonで可視化
masatoka
0
1.6k
AndroidThingsのドライバーの話
masatoka
0
310
AndroidThingsでAI X IoT
masatoka
0
1.5k
Android ThingsでIoT/AIなデバイス開発しよう
masatoka
1
770
Azure SORACOM Futabaのサーボで金賞もらった話
masatoka
0
490
Other Decks in Technology
See All in Technology
Java 25に至る道
skrb
3
200
コールドスタンバイ構成でCDは可能か
hiramax
0
130
ファインディにおけるフロントエンド技術選定の歴史
puku0x
2
1.4k
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1k
Node vs Deno vs Bun 〜推しランタイムを見つけよう〜
kamekyame
1
400
善意の活動は、なぜ続かなくなるのか ーふりかえりが"構造を変える判断"になった半年間ー
matsukurou
0
420
SES向け、生成AI時代におけるエンジニアリングとセキュリティ
longbowxxx
0
310
形式手法特論:コンパイラの「正しさ」は証明できるか? #burikaigi / BuriKaigi 2026
ytaka23
16
4.9k
コミュニティが持つ「学びと成長の場」としての作用 / RSGT2026
ama_ch
0
190
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
2.9k
AI駆動開発ライフサイクル(AI-DLC)の始め方
ryansbcho79
0
320
Master Dataグループ紹介資料
sansan33
PRO
1
4.2k
Featured
See All Featured
Discover your Explorer Soul
emna__ayadi
2
1k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
94
WCS-LA-2024
lcolladotor
0
410
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Code Review Best Practice
trishagee
74
19k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.2k
Darren the Foodie - Storyboard
khoart
PRO
2
2.1k
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
Building Applications with DynamoDB
mza
96
6.9k
Testing 201, or: Great Expectations
jmmastey
46
7.9k
Being A Developer After 40
akosma
91
590k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.8k
Transcript
ESP-WROOM-02ͱϚΠΫΛͭͳ ͍ͰΈͨɻ 2017/05/19 @masato_ka 175݄19༵ۚ
Ϟνϕʔγϣϯ IoT×Ի Ͱָ͍͜͠ͱΛ͍ͨ͠ 175݄19༵ۚ
ͷճΓͷԻΛੳͯ͠ใΛऔΓग़͍ͨ͠ Analytics ੜ׆ Իͷੳ Sound Server Իೝࣝ Իָ δϟϯϧ 175݄19༵ۚ
ϚΠΫͰԻΛरͬͯαʔόʹૹΔσόΠεΛ࡞Δ Analytics ੜ׆ Իͷੳ Sound Server Իೝࣝ Իָ δϟϯϧ 175݄19༵ۚ
ESP-WROOM-02Λબͨ͠ཧ༝ • ࡞ͬͨޙஔ͘ॴʹࠔΒͳͦ͞͏ • ిͰಈ࡞Ͱ͖Δ • WiFi௨৴ • খܕ •
͍҆(νοϓ͚ͩͳΒ500ԁ) ࣸਅग़య:εΠοναΠΤϯε 175݄19༵ۚ
࡞ΔσόΠεͷඪઃఆ ඪ1.ɹ16kHz/16bitͷԻσʔλ ిͷԻ͕8kHzɺ͏গ͠໌ྎͳԻΛर͍͍ͨɻ ඪ2.ɹԻͷετϦʔϛϯά ੳ͍ͨ͠σʔλԻ͕͍ͭൃੜ͢Δ͔Θ͔Βͳ͍ɻ ్Εͳ͘σʔλΛૹΕΔΑ͏ʹ͢Δɻ 175݄19༵ۚ
͜Ε͕͚ͬ͜͏ ͔ͬͨ͠ʂ 175݄19༵ۚ
֎؍ ϋʔυ ΣΞ ಈ࡞ͤ͞ΔͨΊͷपลճ࿏ඞ ཁ,A/DมͰऔΓࠐΉ ϚΠΫଆͰϑΟϧλͱADมΛߦ ͏ɻγϦΞϧΠϯλϑΣʔε(I2SͰ ଓ͢Δɻ ιϑτ ΣΞ
A/DมΛλΠϛϯάΑ࣮͘ࢪ ͯ͠16kHzʹͳΔΑ͏ʹ͢Δɻ I2S or SPIͷಡΈऔΓΛߦ͏ॲཧΛ ॻ͘(ArduinoϥΠϒϥϦ͋Γ) ଓͰ͖ͦ͏ͳϚΠΫͷબ ίϯσϯαϚΠΫ σδλϧϚΠΫ ࣸਅग़య:ळ݄ిࢠ 175݄19༵ۚ
֎؍ ϋʔυ ΣΞ ಈ࡞ͤ͞ΔͨΊͷपลճ࿏ඞ ཁ,A/DมͰऔΓࠐΉ ϚΠΫଆͰϑΟϧλͱADมΛߦ ͏ɻγϦΞϧΠϯλϑΣʔε(I2SͰ ଓ͢Δɻ ιϑτ ΣΞ
A/DมΛλΠϛϯάΑ࣮͘ࢪ ͯ͠16kHzʹͳΔΑ͏ʹ͢Δɻ I2S or SPIͷಡΈऔΓΛߦ͏ॲཧΛ ॻ͘(ArduinoϥΠϒϥϦ͋Γ) ֎෦ճ࿏͕ෆཁͳσδλϧϚΠΫΛ࠾༻ ίϯσϯαϚΠΫ σδλϧϚΠΫ ؆୯ͦ͏ʂ (ʹݟ͑ͨ) ࣸਅग़య:ळ݄ిࢠ 175݄19༵ۚ
I2S(Inter-IC Sound) • 3ઢࣜͷΦʔσΟΦΠϯλϑΣʔε • CLKʹै͍ԻσʔλΛσδλϧग़ྗ • WS-CLKʹै͍ɺL/RͷεςϨΦσʔλΛग़ྗ͢Δɻ • ༷͕SPIʹࠅࣅ͍ͯ͠ΔͨΊɺSPIΠϯλϑΣʔε༻Ͱ͖Δɻ
CLK WS DATA 16kHz×32bit×2ch 㲈.)[ Left Right 1bit/1clkͷσʔλ 32bit ࣸਅग़య:ळ݄ిࢠ 175݄19༵ۚ
I2S/SPI ͲͪΒͱϚΠΫΛଓ͢Δ͔ • ESP8266 I2SͱSPIͷ྆ํͷΠϯλϑΣʔεΛࡌ͍ͯ͠Δɻ Interface I2S SPI Arduino ϥΠϒϥ
ϦରԠঢ় گ ˚ (TXͷΈɺઃఆݻఆ) ̋ ϋʔυ ΣΞରԠ ঢ়گ TX,RXϞδϡʔϧ͕͔Εͯ ͍ͯDMA͕ϝϞϦసૹ͢Δ (※ޙड़) ϝϞϦૢ࡞ιϑτΣΞଆ Ͱॲཧ͢Δɻ 175݄19༵ۚ
I2S/SPI ͲͪΒͱϚΠΫΛଓ͢Δ͔ • ESP8266 I2SͱSPIͷ྆ํͷΠϯλϑΣʔεΛࡌ͍ͯ͠Δɻ Interface I2S SPI Arduino ϥΠϒϥ
ϦରԠঢ় گ ˚ (TXͷΈɺઃఆݻఆ) ̋ ϋʔυ ΣΞରԠ ঢ়گ TX,RXϞδϡʔϧ͕͔Εͯ ͍ͯDMA͕ϝϞϦసૹ͢Δ (※ޙड़) ϝϞϦૢ࡞ιϑτΣΞଆ Ͱॲཧ͢Δɻ ݱঢ়ΔͳΒҰʂ 175݄19༵ۚ
SPIͰଓͯ͠Έͨ݁Ռ 175݄19༵ۚ
• ొਓCPUɺSPIϞδϡʔϧͱϝϞϦ SPIଓͷ߹ ※ৄࡉQiitaͰʮAMDP441ʯͰݕࡧ ESP8266 CPU SPI ϝϞϦRAM(32KB) ϢʔβϓϩάϥϜ ESP8266෦ͷಈ࡞
175݄19༵ۚ
• CPU͔Βͷread໋ྩͰSPIͷಡΈࠐΈ։࢝ SPIଓͷ߹ ※ৄࡉQiitaͰʮAMDP441ʯͰݕࡧ ESP8266 SPI CLK L/R CLK DATA
CPU SPI ϝϞϦRAM(32KB) ϢʔβϓϩάϥϜ ESP8266෦ͷಈ࡞ read໋ྩ σʔλड৴ 175݄19༵ۚ
• SPI͔ΒಡΈऔͬͨσʔλΛCPU͕ϝϞϦʹอଘ͢Δɻ SPIଓͷ߹ ※ৄࡉQiitaͰʮAMDP441ʯͰݕࡧ ESP8266 SPI CLK L/R CLK DATA
CPU SPI ϝϞϦRAM(32KB) ϢʔβϓϩάϥϜ ESP8266෦ͷಈ࡞ read໋ྩ σʔλड৴ ϝϞϦʹอଘ 175݄19༵ۚ
• ֎෦ʹσʔλΛૹ৴͢ΔؒɺSPIͷಡΈऔΓॲཧఀࢭ͢Δɻ SPIଓͷ߹ ※ৄࡉQiitaͰʮAMDP441ʯͰݕࡧ ESP8266 read໋ྩΛ࣮ߦ͍ͯ͠Δ࣌ͷΈCLK ͕ग़ྗ͞ΕΔɻ CPU SPI ϝϞϦRAM(32KB)
ϢʔβϓϩάϥϜ ֎෦ͷσʔλૹ৴ CLKఀࢭλΠϛϯάͰϚΠΫ͕Ϧηο τ ESP8266෦ͷಈ࡞ ϝϞϦͷಡΈग़͠ 175݄19༵ۚ
• CPUͰશͯͷॲཧΛߦ͏ͨΊɺϚΠΫ͔ΒͷσʔλΛऔΓ͜΅ͯ͠͠·͏ɻ SPIଓͷ߹ ※ৄࡉQiitaͰʮAMDP441ʯͰݕࡧ ESP8266 SPI CLK L/R CLK DATA
read໋ྩΛ࣮ߦ͍ͯ͠Δ࣌ͷΈCLK ͕ग़ྗ͞ΕΔɻ CPU SPI ϝϞϦRAM(32KB) ϢʔβϓϩάϥϜ read໋ྩ σʔλड৴ ֎෦ͷσʔλసૹ CLKఀࢭλΠϛϯάͰϚΠΫ͕Ϧηο τ σʔλసૹ ESP8266෦ͷಈ࡞ 175݄19༵ۚ
I2S/SPI ͲͪΒͱϚΠΫΛଓ͢Δ͔ • ESP8266 I2SͱSPIͷ྆ํͷΠϯλϑΣʔεΛࡌ͍ͯ͠Δɻ Interface I2S SPI Arduino ϥΠϒϥ
ϦରԠঢ় گ ˚ (TXͷΈɺઃఆݻఆ) ̋ ϋʔυ ΣΞରԠ ঢ়گ TX,RXϞδϡʔϧ͕͔Εͯ ͍ͯDMA͕ϝϞϦసૹ͢Δ (※ޙड़) ϝϞϦૢ࡞ιϑτΣΞଆ Ͱॲཧ͢Δɻ 175݄19༵ۚ
I2SͰͲ͏ͳͷ͔ʁ 175݄19༵ۚ
• ొਓCPUͱI2SϞδϡʔϧDMAͦͯ͠ϝϞϦ I2Sଓͷ߹ ESP8266 CPU I2S ϝϞϦRAM(32KB) ϢʔβϓϩάϥϜ DMA DMA(Direct
Memory Access) CPUͷΘΓʹϝϞϦͷసૹΛݞΘΓ͢Δɻ 175݄19༵ۚ
• CPUΛհͣ͞DMA͕ϝϞϦసૹ I2Sଓͷ߹ ESP8266 SPI CLK L/R CLK DATA CPU
I2S ϝϞϦRAM(32KB) ϢʔβϓϩάϥϜ DMA σʔλ σʔλ ։໋࢝ྩ 175݄19༵ۚ
• ࢦఆαΠζͷσʔλΛϝϞϦʹసૹ͢ΔͱCPUʹׂΓࠐΈΛൃੜͤ͞Δɻ I2Sଓͷ߹ ESP8266 SPI CLK L/R CLK DATA CPU
I2S ϝϞϦRAM(32KB) ϢʔβϓϩάϥϜ DMA సૹׂྃΓࠐΈ σʔλ·ΜͨΜʂ σʔλ σʔλ 175݄19༵ۚ
• I2SͷॲཧఀࢭͤͣʹCPUϝϞϦ͔ΒσʔλΛऔΓग़ͯ͠֎෦ૹ৴ I2Sଓͷ߹ ESP8266 SPI CLK L/R CLK DATA I2SϞδϡʔϧ͕ৗʹΫϩοΫΛग़ྗ
CPU I2S ϝϞϦRAM(32KB) ϢʔβϓϩάϥϜ ֎෦ͷσʔλૹ৴ DMA సૹׂྃΓࠐΈ σʔλ σʔλ σʔλ 175݄19༵ۚ
• σʔλΛऔΓࠐΈͳ͕Β֎෦ʹૹ৴͢Δ͜ͱ͕Մೳɻ I2Sଓͷ߹ ESP8266 SPI CLK L/R CLK DATA I2SϞδϡʔϧ͕ৗʹΫϩοΫΛग़ྗ
CPU I2S ϝϞϦRAM(32KB) ϢʔβϓϩάϥϜ ֎෦ͷσʔλૹ৴ DMA సૹׂྃΓࠐΈ σʔλ read໋ྩ σʔλ σʔλ 175݄19༵ۚ
I2SͰͷಡΈऔΓΛ࣮ݱ͢ ΔͨΊɺArduinoͷϥΠϒ ϥϦΛमਖ਼͢Δ͜ͱΛܾҙ 175݄19༵ۚ
ESP8266ͷσʔλγʔτ͕खֻ͔Γ • Espressif͕υΩϡϝϯτΛެ։͍ͯ͠Δ͕ɻɻɻ ϨδελΛͲ͏࿔Δͱػೳ͕͑Δ͔هࡌ͞Εͯ ͍Δ͕ɺ؊৺ͷϨδελͷΞυϨε͕ͳ͍ɻ 175݄19༵ۚ
ιʔείʔυͷमਖ਼ • Arduinoͷesp8266_peri.hͱυΩϡϝϯτΛൺֱ͠ͳ͕Βιʔεमਖ਼ 175݄19༵ۚ
ϩδοΫΞφϥΠβͰڍಈΛ֬ೝ • ιʔεमਖ਼ϩδΞφͰ֬ೝमਖ਼ मਖ਼ͨ͠ίʔυͰԿͷڍಈ͕มΘͬͨ ͔ਖ਼͘͠ѲͰ͖ΔΑ͏ʹͳͬͨɻ 175݄19༵ۚ
ExceptionͷൃੜՕॴͷಛఆ • ϓϩάϥϜ্ͷͲ͔͜ͰException WDTϦηοτ͢Δ͕ɻɻɻ is Կʁ 175݄19༵ۚ
ESP Exception DecoderΛ׆༻ • Stack TraceΛղੳ͠ɺιʔείʔυߦ·Ͱදࣔͯ͘͠ΕΔɻ 175݄19༵ۚ
ʂ • 16kHz, 16bitͷԻσʔλΛWebsocketͰαʔόʹૹΔ͜ͱʹޭʂ • ԻೝࣝͱLive Streaming͕Ͱ͖͍ͯΔɻ Sound Bluemix Speech
To Text HttpLiveStreming or HTTP GET Local Server WebSocket HTTP HTTP 175݄19༵ۚ
·ͱΊ • ֨҆σόΠεͰԻσʔλΛετϦʔϜͰ͖Δʂ • ESP8266ͷI2SͱDMA͑Δ • ಈ͔ͳ͍ػೳఘΊͣࣗͰվʂ • υΩϡϝϯτπʔϧΛἧ͑Δɻ 175݄19༵ۚ
ࠓޙ •ωοτϫʔΫ •Իσʔλͷੳ •֨҆ԻΞγελϯτ 175݄19༵ۚ
͝ײԼ͍͞ʂ Twitter: @masato_ka 175݄19༵ۚ