みんなが大好きなIoTをチャレンジしてみた話!!
こんにちは。
この記事は SFC-RG Advent Calendar 2016 - Adventar の15日目の記事です。
すでに7日が経とうとしています、アドベントカレンダーを書く場所に迷っており気づいたら1週間過ぎていました皆様にご心配をおかけしたことを深くお詫び申し上げます。
さて、みなさんはIoTという言葉をご存知ですか? 近頃学会やテレビ等の様々な場面で「IoT!IoT!」と耳にしますよね?詳しくはご自身で検索なさってください。
最近では「IoTでBig DataでDeep Learning」といった半ば暴力的な言葉もダークウェブの世界では存在するようです。
「ビッグデータはデータを集めるのが大変そう…」
「深層学習も難しそうだな…」
と思った私はIoTに目をつけました。「これなら明日のアドベントカレンダーまで残り6時間を切った私でも何か作れそう」と思ったのです。
Amazon dush buttonとの出会い
しかしIoTといっても電子工作キットは無いし今から買いに行く時間も無い。頭を抱えていた私のもとへアマゾンからプレゼントが届きました。
なんと、500円で買える立派なIoTデバイスではないでしょうか。しかも500円分のキュキュット購入ポイントも付与されるので実質0円。なんだこれは…
なんとこのAmazon Dush buttonは現在入荷待ちで6〜8週間待ちだとか。ボタン押すより買い物行ったほうが早いレベルです。
そんなこんなでおもちゃを手にした僕はどうにか遊ぶことができないかと考えました。実はこのおもちゃ海外のAmazonでは1年前から既に発売しており、海外では既にIoTデバイスとして発売されています。
そんなIoTボタンが身近に手に入るようになったわけですが、世界中のGEEKでCOOLなデベロッパーが便利ツールを開発してくださっています。
Dasherはnode-dash-buttonのwrapperです。以下のようにconfigを書くことで簡単にHttp Request叩くことができます。本当に海外のGEEKな方には頭が上がりません。
node-dash-buttonは同一ネットワーク上のARPまたはUDPを監視しています。configにMACアドレスを登録することによってボタンを識別しているようです。
しかし研究室メンバーがボタンを使うには各々監視サーバーを起動していないといけません。これでは夢のIoTが実現できません。スマートどころか愚かです。
夢のIoT実現の為に
そこで研究室メンバーが簡単にIoTボタンを追加できるサービスを作りました。これでAmazon dush buttonを買えば自分でサーバーを立てることなくすぐにIoT体験することができます。
https://iot.gochiusa.net/ (研究室メンバー用なのでsfc.wide内のセグメントのみ接続可能、外部からはVPN等を利用してください。)
何ができるの?IoTができます。それ以上聞かないでください。
簡単な機能説明
メインページでは現在登録しているボタンの一覧が表示することができ、自分の登録しているIoTデバイスを素早く見つけることができます。
新しいボタンを追加するではボタンのname、MAC address、endpoint、bodyを指定することができます。
json editorはng-jsoneditorを使わさせていただきました。
編集画面では、名前の変更やデバイスの削除ができるようになっています。
Dasherとのつなぎ込み
ユーザーが追加・削除したデバイスのデータはリアルタイムにdasherの配列に反映されるようになっています。
簡単なアーキテクチャは以下の通り
おしまいに
結果として「IoTでBig DataでDeep Learning」ということはできませんでしたが。IoTの下準備まではできたかなと思います。AWS IoT Buttonは近々日本でも発売されそうなのでそれまでに良い使い方を考えておきたいですね。
それまでにIoTが衰退しないことを祈ります。