Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
M5Stack Core2とAlexaでインターフォンに自動 で対応してくれるIoTデバイスを作 @IoTLT vol.82
Slide 2
Slide 2 text
M5Stack Core2とAlexaでインターフォンに自動 で対応してくれるIoTデバイスを作 りたかった話... @IoTLT vol.82
Slide 3
Slide 3 text
自己紹介 ● 松永勇太(27歳男性) ● 滋賀県在住 ● エンジニア3年生 ● たまにお絵かきをする
Slide 4
Slide 4 text
最近の出来事1 滋賀に引っ越しました
Slide 5
Slide 5 text
最近の出来事2 転職しました
Slide 6
Slide 6 text
今回の内容 12/6のIoTLTアドベントカレンダー投稿分です
Slide 7
Slide 7 text
新居でやることは?? そうだね、スマートホーム化だね。
Slide 8
Slide 8 text
スマートホーム化のオトモ スマートリモコンとAlexa
Slide 9
Slide 9 text
やりたいこと こんなんをAlexaで操作したい ● M5Stack Core2 ● M5Stack用Servo2モジュール ● サーボモーター
Slide 10
Slide 10 text
まずはM5Stack一式を購入 合計1万くらい (まあまあの出費)
Slide 11
Slide 11 text
開発編
Slide 12
Slide 12 text
ソースコード全容 https://github.com/ufoo68/alexa_intercom
Slide 13
Slide 13 text
PlatformIOを使ってみる このArduinoIDEからの卒業♪
Slide 14
Slide 14 text
PlatformIOのいいところ ● vscode拡張なので、vscodeユーザーにとっては使い慣れたエディタでコーディング ができるので快適 ● npmのような特定のプロジェクトに特定のバージョンのライブラリを依存させるよう な、モジュール管理ができる ● gitでの開発がやりやすいフォルダ構造になっていて、デフォルトで.gitignoreが用 意されている
Slide 15
Slide 15 text
サーボモーターを動かす 基本的には公式のサンプルコードがあるのでコピペ M5.begin(true, true, true, false, kMBusModeInput); Wire.begin(21, 22); なのですが、M5Stack Core2でServo2モジュールを使う場合は、 以下の初期設定をしよう!!
Slide 16
Slide 16 text
動いた
Slide 17
Slide 17 text
OTAで無線開発しよう OTAとは? ● Over The Airのこと ● アプリケーションを遠隔でアップデートをすることができる仕組み ● 今回はWiFiを経由
Slide 18
Slide 18 text
ネット記事のコードをコピペで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向けの記事でなくても 基本は動くと思います
Slide 19
Slide 19 text
Alexaデバイス化しよう fauxmoESPを使う ● ESP32をPhilips Hue化させるライブラリ ● 名目上はAlexaからHueへのライトON/OFF(もしくは明るさ)制御を利用してESP32 の周辺機器を制御する ● 過去のIoTLTで紹介された有名(だと思う)ライブラリ
Slide 20
Slide 20 text
Alexaを騙せ!デバイス追加を騙せ! Alexa用アプリで連携する
Slide 21
Slide 21 text
動いた
Slide 22
Slide 22 text
ここから先はおまけ
Slide 23
Slide 23 text
オチその1 壁紙用両面テープじゃ重さに耐 えきれない🙅
Slide 24
Slide 24 text
オチその2 サーボモーターの固定が甘いので サーボモーター自体が浮く🙅
Slide 25
Slide 25 text
まとめ ● PlatformIOでvscodeを使った快適なマイコン開発ができる ● Servo2モジュールをM5Stack Core2で使うには初期設定の魔改造が必要 ● OTAでUSBケーブルいらずのデバッグが可能に ● fauxmoESPでM5StackをHue化できる
Slide 26
Slide 26 text
残った課題 賃貸の壁であとを残さずに、 M5Stackとサーボモーターを壁に取り付ける方法