家のアパートのリビングの照明スイッチは古い2個口のスイッチ これでON/OFFしているのが,これまた古い電球型蛍光灯。
IoTということでちょっと便利になるようにSwitchBotのボットを使ってEcho DotやGoogle Home Miniを使ってON/OFFさせてみたいと思ったのだが,SwitchBotのボットを購入する前にとりあえず同様な機能の物を,ありあわせの物で自作してみることにした。
以下のように,WeMos D1互換ボードとマイクロサーボモーターSG92Rとを1m程度のワイヤーで接続した。
WeMOS D1 SG92R ServoMotor D6 ---------- 黄色 +5V ---------- 赤色 GND ---------- 茶色
マイクロサーボモーターを壁のスイッチの近くに両面テープで固定した。
スイッチは右側を押すとONに左側を押すとOFFになるので,アクチュエーターをだいたい真ん中ぐらいにして貼り付けた。
うまく動作するのに,貼り付ける位置が微妙に影響する。少しでもずれるとスイッチを押せない
WeMos D1互換ボードとACアダプターは床に置いてある。
しかし,ださいなぁ
WeMos D1互換ボードに書き込むソフトウェアは,Arduino IDEで作成した。
PCとWeMos D1互換ボードをUSBで接続し,直接作成したプログラムを書き込める。
第3世代Echo DotのようなAlexaデバイスと連携する場合は,WEBポートに80番を使用する必要がある。
またESP8266の場合,Arduino IDEの設定でLwIPを"v1.4 Higher Bandwidth"に設定する。
以下のプログラムを作成した。
標準ライブラリのServoライブラリを使ってサーボモーターを動かしている。
write(angle) でangleに角度を指定するとその角度に動く。
Alexaデバイスから使えるようにFauxmoESPライブラリを使用している
botswitch.ino
- | | | | | | ! - ! - - | | | | | - - | | ! | | ! - | | | | - ! | | | | | | | | | | | | - | | | - | | - - | - | ! ! ! ! - | | - | | - | | ! ! - - | | - ! | | | | | | | | | | ! - - | | - ! | | | | | | | | | | ! |
|
wifisetting.h
|
Arduino IDEからWeMOS D1ボードにコンパイルして書き込んだ。
Android端末のAlexaアプリを起動して,以下のようにしてデバイスを追加した。
しばらくすると作成したスイッチという名前のデバイス(電球タイプ)が検出された。
それにしてもAlexaデバイスはローカルデバイスを直接アクセスできるのが素晴らしいなぁ
「アレクサ,スイッチオン」と言うと,マイクロサーボモーターが少し回って壁のスイッチをONした。
「アレクサ,スイッチオフ」と言うと,マイクロサーボモーターが少し逆に回って壁のスイッチをOFFした。
スイッチじゃ味気ないんで,「電気つけて/消して」とか「ライトつけて/消して」とかの定形アクションを作成した。
これで,SwitchBotのボットのような事が出来るようになった。
確かに声で操作するのは便利だ。
新しくコメントをつける