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
760
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
1
650
改めて考えるOSSのあり方について
ufoo68
0
82
文法で学ばないJavaScript
ufoo68
0
93
Cookieとは?
ufoo68
1
100
今更ながら、開発現場での生成AI活用について
ufoo68
0
96
28歳独身エンジニア 婚活してみた
ufoo68
0
49
OpenAIでクッキー型を作る
ufoo68
1
82
初めて開発リーダーをやってみた話
ufoo68
0
160
M5Stack用の指紋認証デバイスを試す
ufoo68
0
950
Other Decks in Technology
See All in Technology
Jetpack Compose で挑む新聞紙面UI ─ 複合ジェスチャー・ポリゴン記事領域・適応的ページ構成という3つの壁/droidkaigi2026
nikkei_engineer_recruiting
0
240
Multica × 長期記憶:40個のミニプロジェクト管理
eiei114
0
190
Amazon S3 Tablesに全部任せてみた結果——コンパクション/スナップショット管理は本当に手放せるか
shigeruoda
0
410
GoにおけるFFIのこれまでとこれから
goccy
1
340
AI活用の現在地、 ちゃんと見えてますか?/XPfest-2026
visional_engineering_and_design
0
160
AndroidでHDRメディアを「壊さずに」扱う
chigichan24
0
410
AIとペアプロを始める。人とのペアプロをやめる。ペアプロの良さを改めて知る。もっと好きになった。 / Rediscovering Pair Programming
honyanya
1
280
Where Is JetBrains AI Heading- — Central CLI, Air Alpha, and the Agentic Development Stack
x5gtrn
PRO
0
140
コスト最適化の「めんどくさい」を AWS FinOps Agent でチョット楽にする
classmethod_kaz
0
260
AIエージェントの開発・提供におけるセキュリティリスクの論点と対策
flatt_security
2
600
Hub & Spoke 環境のネットワークルーティングを分解してみる
tsuyataku
1
530
AI 駆動 Terraform 開発/SRE_BizReach_MIXI_2
visional_engineering_and_design
2
1.8k
Featured
See All Featured
The SEO identity crisis: Don't let AI make you average
varn
0
550
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
My Coaching Mixtape
mlcsv
0
310
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.6k
SEO for Brand Visibility & Recognition
aleyda
0
4.7k
Making Projects Easy
brettharned
120
6.7k
Designing for humans not robots
tammielis
254
26k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
270
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
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とサーボモーターを壁に取り付ける方法