スマートプラグを作ってみた。。
正直言って市販より安いかと言ったら微妙に同じぐらいというところだろうか。
でも利点としては1つのIPアドレスを持つ基板で複数のプラグを制御できるのでルーターの負荷をわずかながら減らせるかな?というところだ。
IoT機器が増えすぎてくるとIPアドレスの割当が多くなりルーターの負荷が大きくなりすぎるという懸念があるのだ。
それはさておき自作スマートプラグの作り方について解説する。
Alexaにパソコンとディスプレイを点けさせる構想
「アレクサ、パソコンをつけて」というとパソコンの電源がONになり、ディスプレイも電源がONになる。
つまり口を使うだけで手を使わずにパソコンの操作を始められる。
ちなみにそれまではパソコンの電源を自分の手でONして、ディスプレイはコンセントが通電すればONになるタイプだったのでAlexaとGoogleにリンクしたスマートプラグでONしていた。
つまりディスプレイだけは今までも声で起動できていた。
だから今回の自作スマートプラグと声だけでパソコン&ディスプレイが電源ONになる話は直接の関連はない。
しかし市販のスマートプラグは少々値段がお高い。使い道は微妙に少ないので世間的に需要は多くはないはずだが価格が高い。そこで今回はそこに風穴を空けようといくらでスマートプラグができるか企画してみたわけだ。
自作スマートプラグを作るのに必要な機器
ESP8266
例によってESP8266を使うが、ESP32でも同じことができると思う。インクルードするWi-Fiライブラリを変えるだけだ。
ESP8266→esp8266wifi.h
ESP32→wifi.h
SSR
以前の記事でも紹介した秋月電子のSSRを使ったが、一点弊害がある。ただし秋月電子のSSRが悪いのではないので断っておく。
それは今回使う外部サービスのSinric ProではOnとOffが反転して認識されるということだ。それがストレスまたは使いにくいというのであれば以下のようなAliExpressから検索して正規のON/OFFが一致する3点タイプのリレーモジュールを使用すべし。
AC-DC変換アダプター
精密バックコンバーターAC DC v/5v/12v,ac 3.3v〜5v dc,降圧型変圧器,電源モジュール1a 12w,220|Switching Power Supply| – AliExpress
この中から100V→5Vという変換ができるやつを見つけて買えば使える。
コンセントオスメス
▼こういうの買ってケースから飛び出させたけどもう少しイケてるタイプのほうが良いと思う。次回作るときはもう少し外観にも気を使うことにする。
パナソニック(Panasonic) ベター小型コードコネクタW/P WH4515P 【純正パッケージ品】
¥154(2022/02/04 08:57時点の価格)
平均評価点:
太めのケーブル
1.6sqぐらいの太めを使わないと熱くなって発火や溶けの原因になるから注意。
ただし単芯のケーブルだとコンセント部品に繋げたときに十分潰れなくてコンセントのプラスチック筐体が割れることがあるのと、硬いので取り回しが大変という点からおすすめは多芯のほうがよい。
ヒューズボックス
100Vを扱うので万一ショートしたら火災の恐れがある。ちゃんと途中にヒューズを噛ませよう。
以前の記事でも参考商品を紹介しているので参照してみて欲しい。
細めのケーブル
ESP8266←→ACDCコンバータ、ESP8266←→SSRという接続のときに細いケーブル(0.5sq〜0.75sqぐらい)を使う。
ジャンプワイヤー
直接はんだ付けしてしまっても差し支えなければ必要ないが、分解して再利用またはプログラムのバージョンを上げるために分解する可能性があるならジャンプワイヤーを使うほうがよい。
ELEGOO Arduino用 鉛フリー フレキシブル ジャンパーワイヤ130pcs オス-オス forブレッドボード
¥798(2022/02/04 09:10時点の価格)
平均評価点:
オスーオス、オスーメス、メスーメスと3種類あるから適当に探してください。
なにかケース
自分は職場にあったちょうど良いケースをつかったが中身の大きさに併せて適当なケースを用意する。あまり大きすぎるとブサイクになるのでできるだけ小さくしたい。
手順
ハードを組み立てる
ハードの仕上がりはこんな感じになった。次回作るときはもっときれいに作りたい。1号機なのでこれで良しとする。
▼中央の基板がESP8266(NodeMCU)、その右奥がAC-DCコンバータ、左手前がSSR、ESP8266の下には熱収縮チューブで保護したヒューズがある。
▼メス側コンセントはぶらぶらさせておくよりケースに穴をあけてインシュロックタイで固定した。
▼回路図はこれだ。Fritzingという回路作図アプリがあるが部品を探すのに手間がかかるので手書きのほうがよほど早いので今後もこれでいく。
AlexaアプリでSinrid Proスキルを有効化する
Alexaアプリでその他→スキル・ゲーム→Sinric Proを検索して有効にする
Sinric Proにてデバイス登録
今回始めてSinric Proというサービスを使った。IoT系のYouTuberでは有名なようで検索すると多数見つかるが日本語ではなかなかまだ多くはヒットしない。
Proとついているのでどうせ有料でしょ?って思ったが無料だ。いくつまで無料でデバイス登録できるのか不明だが当面無料のようで助かる。
アカウントの登録については省略してその後から話をすすめる。
使用資格の登録
アカウントを登録したあとは左のメニューからCredentialsを選び、New App KeyではなくNew App Key and Secretのほうをクリックし1個登録する。App Nameは適当で大丈夫のようだがあとで変えられないのでdefaultとでもしておくと良いらしい。複数登録したくなったら別の名前も考えよう。
それぞれの項目が後で必要になるがいつでも参照できるのでここで控えておく必要はない。
デバイスの登録
つぎは操作したいデバイスの登録に移る。メニューからDevicesを選びAdd Deviceをクリックし登録する。デバイスの種類はswitchのほかにもいろいろ選択肢があるが今回はswitchを選択しておく。
その他の設定は英語の意味を考えながら適当なものを選択しよう。
Sinric Proでのやることはこれくらいで次は見本プログラムの改造を行う。
ArduinoIDEでプログラムつくる
▼こちらのYouTubeを参考にした。
プログラムコードへのリンクは下記。
上記リンクのプログラムの中で自分用にアレンジするところは以下。
#define WIFI_SSID "あなたのWi-Fi"
#define WIFI_PASS "あなたのWi-Fiパスワード"
#define APP_KEY " Sinric Proで発行されたやつ "
#define APP_SECRET " Sinric Proで発行されたやつ "
// 1つのプログラムに1個~4個の範囲でデバイスを
// 登録できるがプログラムを解析すればもっとできるはず
#define device_ID_1 "XXXXXXXXXXXXXXXXXXXXXXXX"
#define device_ID_2 "XXXXXXXXXXXXXXXXXXXXXXXX"
#define device_ID_3 "XXXXXXXXXXXXXXXXXXXXXXXX"
#define device_ID_4 "XXXXXXXXXXXXXXXXXXXXXXXX"
Alexaでのデバイス検出
Sinric Proにデバイスを登録するとなぜか勝手にAlexaにデバイスが現れる。
あとはそのデバイスを登録した名前で呼ぶなり、定形アクションを作って別の呼び方を決めるなりは自由にできる。
なんならONとOFFの動きを逆転させることもできる。
過去の天井照明との違いについて
今回の記事は以前の100V天井照明の記事と似ているがまったく違う部分がある。
それは前回はHueエミュレーションというテクニックを使ってAlexaに認識させたのに対し、今回はSinric Proというサービスに登録してAlexaに認識させた点だ。
どちらが良いかというと一長一短ある。
長所 | 短所 | |
Hueエミュレーション | ①秋月電子のSSRでOnとOffがソフトとハードで同じ動きをするのでわかりやすい ②見本プログラムが弄りやすいのでルンバのようなシリアル通信する機器にも応用できる | ①一度登録するとルーターか何かがマックアドレスを覚えているのか同じ基板で別のものを登録できない ②いつ使えなくなるかわからないから通常利用は推奨されていない ③Google Homeでは使えない(あるいは使うのに何らかの手続きが要る?) |
Sinric Pro | AlexaとGoogle Homeで使える | 秋月電子のSSRだとOnとOffの挙動が逆になるので定形アクション(Alexa)またはルーティン(google)で動きを設定しなおす必要がある→3点式のSSRを使えば動きが一致して回避できる |
こんな感じでリレーさえ適切なものを使えばSinric Proのほうが断然使えそうだ。
まとめ
スマートプラグも自分で作れるようになった。
ちなみに費用は面倒だから計算していないがおそらく1500円程度かなと思う。趣味と実益と兼ねているので個人的には十分安いと思う。