😆
esp32で自作スマートリモコン作ってみた
どうも 地元のバス会社の倒産を願っている人です。
なぜ作成したのか
- 市販されているスマートリモコンはWiFi動作の物(それも2.4ghz)ばかり
- 有線LANで動作するスマートリモコンが個人的に欲しかった
- 授業でマイコンを触っておりマイコンで何か作りたかった
- ついでにスマートスピーカー関係のプログラムも書いてみたい
- せっかくなので自作してみる
仕様
- REST API(JSON) or OK Googleにて操作可能
- 部屋の温度・湿度の表示にも対応 (1分ごとの更新)
- Google Local Home SDKを使用
- Google Homeアプリを利用することでスマートフォンからの操作も可能
- 外出先などからの操作も対応
- 操作時に Firebase を経由する
- サーバー・データベースにfirebaseを使用
フローチャート
Google Local Home SDKを採用した理由
- 純粋に興味があったから
- Nest デバイス とマイコンをローカルで直接通信できるから
- アプリやサーバーを自分で用意する必要が無さそうだったから
- ついでに外出先などからの操作も簡単に実装できる気がしたから[1]
- firebase にも触れてみたかったから
完成品 画像
設置例
スマホ操作画面(Google Home アプリ) スクリーンショット
作ってみて良かったこと
- 授業以外でマイコンに触れるきっかけが出来た
- firebaseに触れるきっかけが出来た
- スマートスピーカー関連のプログラミングに触れるきっかけが出来た
- サーバーレスでも予想より不自由無く完結出来た
苦労した点
- Google Local Home SDKの資料が思ったより少なかった
- 生成AIに聞いても間違った回答や存在しない関数を出力する
- (情報量が少ないのが原因?)
- APIリファレンス以外の情報が無いことも珍しくない(例外処理など)
- マイコンのライブラリが有線LANと互換性がまったく無かったり、
有線LANでのサンプルが少なかったりする
動作デモや今回制作したコード
- 音声操作デモ
- スマホアプリ操作デモ
- 証明操作デモ
- すべてのコード
どうでもいい余談
chromecastからでも操作可能
-
アプリとかサーバーとかを自前で用意せずに楽して実装できそう(本音) ↩︎
Discussion
こんにちは、
とても素敵なプロジェクトでした。同様のプロジェクトがあります。 CodeLab サンプル プロジェクトを実行できませんでした。 FireBase は、「INIT」プロセス中に次のエラーを返しました。コードをダウンロードしましたが、同じエラーが発生しました。
Failed to validate Realtime Database instance name: xxxxxx
firebaseとgooglecloudを初めて使うのですが、注意すべき点を書いていただけますか?
よろしくお願いします。
Yavuz Sevgi
I hope google translate doesn't embarrass me.