以前、アマゾンがサービスしていたAmazon Dash ButtonというIoTデバイスがありました。これは、家庭などの消耗品を小さなボタンを押すだけで注文できるというすぐれモノでした。しかし、いつのまにかサービスが終了してところをみるとこのボタンでの注文は少なかったのかな。確かに間違えて押すと幾つも注文してしまいそうで危ないです。一応、1日1回しか有効にならなかった仕様だった気がするけど、それでも間違えそう。
今回作っているのはこれと似たような感じで、名付けてLINE Dash Buttonです。ボタンを押すと、LINEに通知が届きます。
LINEがサービスしているLINE Notifyという機能を使い、LINEのサーバにメッセージを投げるとスマホに通知が届きます。サーバにメッセージを投げるのはESP32マイコンで、WiFi経由で繋ぎます。
写真左のブレッドボードに載っているのがESP32の開発モジュールとタクトスイッチ。緑色のタクトスイッチを押すと、メッセージが送られて、右のスマホに届きます。隣にありますがデータは、どこかにあるLINEのサーバを経由していますので、ネットに繋がっていれば世界中何処でも届きます。
当初、LINEのサーバに接続するところで失敗していて散々悩みました。ライブラリのバージョンなどを確認したり、同様の症状がないか検索したりと1時間以上。原因は未だ分かりませんが、サーバ名ではなくIPアドレスで指定したらすんなり繋がりました。DNSが上手く動いてない模様。プロバイダの問題かな?
以前、プロバイダのDNSサーバの応答が悪かったので、PCのDNSサーバはgoogleのDNSサーバを使っています。でもスマホやFire TV Stickは特に指定してないからなあ。よくわかりません。
とりあえずメッセージを送る基本的なパスは通ったので、これから色々試したいと考えています。ボタンイベントだけでなく、気温や湿度などの情報や、ドアや窓の開閉イベントなどセキュリティにも使えそうな感じです。
0 件のコメント:
コメントを投稿