8
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ESP32、LineBot、Herokuで照明をスマート化してみた(紹介編)

Last updated at Posted at 2021-04-11

##はじめに
今回は照明のON/OFFをLINEで遠隔操作できる「M-SwitcherBot」(通称:おわすれさん)を制作しました。
照明を付けっぱなしで家を出てしまった、消したかどうか忘れてしまった、といった人が一定数いることが分かったため、それを解消しようとして制作したのが動機になります。

##使用イメージ

668a1456-82c3-4617-a125-5bf03d541b5e_page-0001.jpg
668a1456-82c3-4617-a125-5bf03d541b5e_page-0002.jpg
668a1456-82c3-4617-a125-5bf03d541b5e_page-0003.jpg

##開発環境
言語:python,c++
wsl2
docker
heroku
linebot
arudiuno
esp32-wroom-32
人感センサ
サーボモータ

##仕様
プレゼンテーション1_page-0001 (1).jpg

1.人感センサが玄関を通過する人を感知し、herokuにセンサ情報を送信。
2.herokuはセンサ情報を確認すると、LINEに確認メッセージを送信する。
3.確認メッセージでON/OFFいずれかを選択し、herokuに選択情報を送信。
4.herokuは選択情報を処理し、サーボモータに指示を送信。
5.サーボモータは受け取った命令に従い動作し、照明スイッチを操作する。

##デモ
Videotogif.gif
人感センサが正常に反応するかのデモです。
センサの前で手を振ると、LINEにメッセージが送られていることが分かりますね!

Videotogif (1).gif
LINEから照明OFFにできるか、ONにできるかの確認のデモです。
ちゃんと照明が操作されていますね!

##工夫したところ

  • 日本で普及しているLINEを取り入れたこと ⇒ LINEさえ入っていれば専用のアプリ等を新たにスマホに入れなくて良いため、導入が容易!
  • herokuを使用している ⇒ HTTP通信が行える場所ならどこからでも操作可能!
  • 音声に反応するアレクサと差別化がされている ⇒ 外からでも操作できる点を踏まえればアレクサより便利!
  • サーボモータを設置すれば何でもスマート化できる ⇒ 非スマート家電がある家庭も使える。
     

##苦戦したところ

  • 未経験の技術が多数(LINEBOT,arudiuno) ⇒ 学びながら開発
  • ESP32×LINEBOTしている参考記事が圧倒的に少なかったこと ⇒ プロトタイプを逐一制作しながら試行錯誤
  • dockerを使い慣れていなかったため、ローカルとのギャップに苦戦 ⇒ 2週間は環境構築に費やした
  • 時間が限られていたため、クリスマスと正月がなかったこと ⇒ 毎日10時間開発(楽しかったから苦じゃないかったけど)
  • dockerコンテナがある日忽然と姿を消したこと ⇒ PC再起動したら戻ったけど、完成間近だったので発狂しそうになった(バックアップは大事)

##おわりに
企画段階から念入りに行ったため、実用的な作品が作れたと感じております。また、こうして記事を執筆できたこと大変うれしく思っております。後々、制作編の記事も書けたらと思います。

8
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?