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
M5Stack Core2とAlexaでインターフォンに自動で対応してくれるIoTデバイスを作...
Search
ufoo68
December 21, 2021
Technology
740
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
M5Stack Core2とAlexaでインターフォンに自動で対応してくれるIoTデバイスを作りたかった話
ufoo68
December 21, 2021
More Decks by ufoo68
See All by ufoo68
BlenderをCodexで動かす
ufoo68
0
290
改めて考えるOSSのあり方について
ufoo68
0
56
文法で学ばないJavaScript
ufoo68
0
70
Cookieとは?
ufoo68
1
83
今更ながら、開発現場での生成AI活用について
ufoo68
0
82
28歳独身エンジニア 婚活してみた
ufoo68
0
34
OpenAIでクッキー型を作る
ufoo68
1
67
初めて開発リーダーをやってみた話
ufoo68
0
150
M5Stack用の指紋認証デバイスを試す
ufoo68
0
900
Other Decks in Technology
See All in Technology
AI駆動開発を通して感じた、 AI時代のデザイナーの役割変化
whisaiyo
0
240
"何を作るか"を任される エンジニアは、どう育つのか
yutaokafuji
1
600
EventBridge Connection
_kensh
5
690
AIのReact習熟度を測る
uhyo
1
130
「エンジニア進化論」2028年の開発完全自動化、エンジニアはどう進化するか
cyberagentdevelopers
PRO
5
4.5k
Claude Codeをどのように キャッチアップしているか
oikon48
5
3.5k
日本 Fintech 未来予測レポート 2027〜2028年(オリジナル版)
8maki
0
1.7k
プロダクト開発から業務改善コンサルまで。事業全体へ「染み出す」ことで広がるエンジニアの可能性
ham0215
0
100
Claude Code×Terraform IaC テンプレート駆動開発
itouhi
1
490
20260619 私の日常業務での生成 AI 活用
masaruogura
1
120
2026.06.13_AI時代に事業会社が「SIer出身エンジニア」を求める理由 / Why Businesses Seek Engineers with a System Integrator Background in the AI Era
jumtech
0
1k
チームで進めるAI駆動アジャイル×ウォーターフォール
kumaiu
0
150
Featured
See All Featured
Typedesign – Prime Four
hannesfritz
42
3.1k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Being A Developer After 40
akosma
91
590k
Designing for Timeless Needs
cassininazir
1
250
Building AI with AI
inesmontani
PRO
1
1.1k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.3k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.2k
Everyday Curiosity
cassininazir
0
230
Mind Mapping
helmedeiros
PRO
1
240
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
290
Transcript
M5Stack Core2とAlexaでインターフォンに自動 で対応してくれるIoTデバイスを作 @IoTLT vol.82
M5Stack Core2とAlexaでインターフォンに自動 で対応してくれるIoTデバイスを作 りたかった話... @IoTLT vol.82
自己紹介 • 松永勇太(27歳男性) • 滋賀県在住 • エンジニア3年生 • たまにお絵かきをする
最近の出来事1 滋賀に引っ越しました
最近の出来事2 転職しました
今回の内容 12/6のIoTLTアドベントカレンダー投稿分です
新居でやることは?? そうだね、スマートホーム化だね。
スマートホーム化のオトモ スマートリモコンとAlexa
やりたいこと こんなんをAlexaで操作したい • M5Stack Core2 • M5Stack用Servo2モジュール • サーボモーター
まずはM5Stack一式を購入 合計1万くらい (まあまあの出費)
開発編
ソースコード全容 https://github.com/ufoo68/alexa_intercom
PlatformIOを使ってみる このArduinoIDEからの卒業♪
PlatformIOのいいところ • vscode拡張なので、vscodeユーザーにとっては使い慣れたエディタでコーディング ができるので快適 • npmのような特定のプロジェクトに特定のバージョンのライブラリを依存させるよう な、モジュール管理ができる • gitでの開発がやりやすいフォルダ構造になっていて、デフォルトで.gitignoreが用 意されている
サーボモーターを動かす 基本的には公式のサンプルコードがあるのでコピペ M5.begin(true, true, true, false, kMBusModeInput); Wire.begin(21, 22); なのですが、M5Stack
Core2でServo2モジュールを使う場合は、 以下の初期設定をしよう!!
動いた
OTAで無線開発しよう OTAとは? • Over The Airのこと • アプリケーションを遠隔でアップデートをすることができる仕組み • 今回はWiFiを経由
ネット記事のコードをコピペでOK void otaSetup() { ArduinoOTA.setHostname("m5stack-core2"); ArduinoOTA .onStart([]() { String type;
if (ArduinoOTA.getCommand() == U_FLASH) type = "sketch"; else // U_SPIFFS type = "filesystem"; Serial.println("Start updating " + type); }) .onEnd([]() { Serial.println("\nEnd"); }) .onProgress([](unsigned int progress, unsigned int total) { Serial.printf("Progress: %u%%\r", (progress / (total / 100))); }) .onError([](ota_error_t error) { Serial.printf("Error[%u]: ", error); if (error == OTA_AUTH_ERROR) Serial.println("Auth Failed"); else if (error == OTA_BEGIN_ERROR) Serial.println("Begin Failed"); else if (error == OTA_CONNECT_ERROR) Serial.println("Connect Failed"); else if (error == OTA_RECEIVE_ERROR) Serial.println("Receive Failed"); else if (error == OTA_END_ERROR) Serial.println("End Failed"); }); ArduinoOTA.begin(); } PlatformIO向けの記事でなくても 基本は動くと思います
Alexaデバイス化しよう fauxmoESPを使う • ESP32をPhilips Hue化させるライブラリ • 名目上はAlexaからHueへのライトON/OFF(もしくは明るさ)制御を利用してESP32 の周辺機器を制御する • 過去のIoTLTで紹介された有名(だと思う)ライブラリ
Alexaを騙せ!デバイス追加を騙せ! Alexa用アプリで連携する
動いた
ここから先はおまけ
オチその1 壁紙用両面テープじゃ重さに耐 えきれない🙅
オチその2 サーボモーターの固定が甘いので サーボモーター自体が浮く🙅
まとめ • PlatformIOでvscodeを使った快適なマイコン開発ができる • Servo2モジュールをM5Stack Core2で使うには初期設定の魔改造が必要 • OTAでUSBケーブルいらずのデバッグが可能に • fauxmoESPでM5StackをHue化できる
残った課題 賃貸の壁であとを残さずに、 M5Stackとサーボモーターを壁に取り付ける方法