NEMで電源制御して自販機的なものを作る実験

以前作った NEM×IoT の試作、特定のモザイク所有者だけが開けるドアを少し構成を変えて、電源制御する形にして自販機的なものを作ってみました。

以前書いた記事はこちらです。

IFTTT というものを使ってスマートプラグ・スマートコンセントとか呼ばれるものを制御する感じにしてみました。

作ったもの

今回作ったものです。

1 XEM 投げ込むと数分だけ電源が入るコーヒーメーカーって感じのものです。

実際に電源のON/OFF を行っているのはスマートプラグ・スマートコンセントなどと呼ばれる、スマホなどから制御可能なコンセントです。

私が購入したのはこちら。

Oittm スマートコンセント WiFi電源コンセント スマートプラグ 省エネ USプラグ 家庭用電源リモートスイッチ APPコントロール機能 どこでもコントロール 2.4GMhz 自宅の電源をスマホから遠隔操作できる Amazon Alexa対応 ホワイト

新品価格
¥2,280から
(2018/2/9 16:45時点)

仕組み

前述の通り、IFTTT というものを使っている点以外は、ほぼ前回の試作のコードを流用した感じになっています。

全体構成

動作の流れ

  1. ラズパイで WebSocket を使って特定のアドレスA のトランザクション監視しておく。

  2. ラズパイでアドレスA への支払い QR コードを表示 (1xem)
    この時、ランダムで生成した文字列をメッセージに含めておく

  3. スマホでQRコードを読み取って送金

  4. ラズパイで、QRコード表示したメッセージを含むトランザクションをキャッチ。解析する。
    1xem 以上着金していたら IFTTT の Webhook を送信して電源 ON

  5. 数分後、再度 IFTTT の Webhook を送信して電源 OFF

各部の詳細

モザイクドアからの流用が多いので、主な差分である IFTTT についてのみ書いておきます。それ以外は、前回記事を参照いただければ。

また、コードの方は GitHub にありますので全容が興味あればそちらもご覧ください。

IFTTT とその連係方法について

IFTTT(イフト: IF This Then That) は、様々な Web サービスを連携させるサービスです。

こちらの記事がわかりやすいかな。

名前のままなんですが、「もし『これ』が起きたら、『あれ』をする」を提供しているサービスで、『これ』(= 条件)と『あれ』(= 動作)の部分を自由に組み合わせる事ができるようになっています。

IFTTTを使うと、もし特定のアドレスからメールが届いたら SMS で通知する、といったことが簡単に実現できるようになっています。

最近のスマート家電と呼ばれるようなものはこの IFTTT と連携できる製品が多くあり、私が購入したスマートプラグもその一つ。IFTTT経由で電源の ON/OFF が可能になっています。(この場合は上記の『あれ』部分を指定する感じ)

さて、IFTTT では上記の条件の部分に、Webhook を指定することができるようになっています。

これがかなり汎用的で、(API Key を含む)特定の URL に対してアクセスする、ということを条件として指定できます。

これを使い、Raspberry Pi 3 上で NEM のブロックチェーンを監視して、自分の管理してるアドレスに対しての送金トランザクションがあれば、特定の URL に対して GET リクエストを投げるという処理を行っています。あとは IFTTT の方でスマートプラグに対して、電源の ON/ OFF 命令を出してくれる、という流れです。

実は IFTTT を使ったのははじめてだったのですが、かなりいろんなサービスと連携できそうな感じで、

  • 特定のアドレスで着金を検知したら SMS で通知する
  • 特定のアドレスがハーベスとしたら Twitter でつぶやく

と言ったことが割と簡単にできそうです。

IFTTT を使わずにできないか

今回は手軽さで IFTTT を使うことを選択しましたが、Raspberry Pi と直接接続できる電源制御モジュールみたいなものがありそうです。

こういうのも導入できたらかなりカッコイイな〜と思いました。

他にできそうなこととか

電源制御は応用範囲広そうだなという印象です。

私が思いついたのは 1時間 1XEM のスマホ充電ステーションみたいなものとか。

このコーヒーメーカーの動画を Twitter であげたら、皆さんいろいろ面白いアイデアを出してくれたので引用させていただきたいと思います。

夢が拡がりますね、本当。

実用化しようと思ったら今回のパーツを全部組み合わせたハードウェアを作る感じになるのかなと思ってます。

突き詰めると、たぶんこの記事に近いものになるのではないかと。(これはイーサリアムの例)

さいごに

これ何度も言ってる気がしますが、NEM 自体が Web API と Websocket っていう汎用的な技術でブロックチェーンにアクセスできるようになっているので、IFTTTみたいな既存サービスとの連携が図りやすくなってるように思うのですよね。

もともとある便利なサービスを、NEM の API でブロックチェーンとつないでみた、という感じ。

全てブロックチェーン上で完結しないアイデアであっても、便利であれば使ってくれる人は出てくると思うので、また何か思いついたらちょっと発信してみようかなと思うこの頃。


最後まで読んでいただきありがとうございます。 このブログを「いいな」と感じていただけましたら、Twiter にてフォローいただけるとうれしいです。ブログ更新情報などもお届けします。



この記事をシェアする






りゅーた
フリーランスのエンジニアしてます。Android、iOS アプリの開発、対向サーバの開発、C/C++のライブラリ開発が現在のメイン。趣味はテニス。3児の父。 もっと詳しく

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA