ぼっちにもできる!mBaasでスマートホーム化
-
Upload
atsushi-nakatsugawa -
Category
Technology
-
view
633 -
download
1
Transcript of ぼっちにもできる!mBaasでスマートホーム化
ぼっちでもできる!mBaaSでホームオートメーション
(株)MOONGIFT 中津川篤司
自己紹介
@a_nakatsugawa
fb.me/moongift
株式会社MOONGIFT 代表取締役
2004年1月よりオープンソース・ソフトウェアを毎日紹介するブログ MOONGIFT を運営。
http://www.moongift.jp/
中津川 篤司
@moongift fb.me/moongift.fan
ホームオートメーション• 室内環境(温度、照明)
• 開口部(扉や窓)
• セキュリティ(防犯、防火)
• 風呂の遠隔自動給湯、ホームシアター
• 生物(自動散水、自動給餌)
ホームオート メーションでIoT?
• ドアを開けると照明がつく
• 明るくなるとカーテンが開く
• 温度が高くなるとエアコンがつく
トリガーが家庭内→実行も家庭内
• ドアを開けると照明がつく
• 明るくなるとカーテンが開く
• 温度が高くなるとエアコンがつく
ホームオート メーションでIoT?
IoTのI使ってないじゃん
ニフティクラウド mobile backendについて
• 月200万回のWeb APIコールまで無料
• 月200万回のプッシュ通知が無料
• 無料で5GBまでのストレージ
• node.js(JavaScript)、Objective-C/Java/Unityフレームワーク
監視システムを作る
• Webカム×motionで動きがあった時に写真撮影&mBaaSにアップロード
• motionはapt-get install motionでOK
ファイルストア
アーキテクチャ
デモ
var net = require('net'); var fs = require('fs'); var http = require('http'); var NCMB = require(‘./ncmb-latest.min').NCMB;
NCMB.initialize(“APP_KEY”, “CLI_KEY”); setInterval(function() { fs.readdir('/tmp/motion', function(err, files){ files.filter(function(file) { var path = '/tmp/motion/'+file; }).forEach(function (file) { var path = '/tmp/motion/'+file; fs.readFile(path, function(err, data) { var f = new NCMB.File(file, data, "image/jpeg"); f.save().then(function() { }, function(err) { console.log(err); }); }); }); }); }, 10000);
NCMB.initialize(“APP_KEY”, “CLI_KEY”);
var query = new NCMB.Query("file"); query.descending("createDate"); var filelist = {}; setInterval(function () { query.find().then(function(files) { files.forEach(function(file) { if (filelist[file.get('fileName')]) { return true; } filelist[file.get('fileName')] = true; var img = $("<img />"); var objFile = new NCMB.File(file.get('fileName'), null, "image/jpeg", null); objFile.fetchImgSource(img.get(0)); $(".images").prepend(img); }); }); }, 5000);
発展性• 写真のアップロードと同時にプッシュ通知
• 写真から人物の認識ができれば、そこから特定の部屋のエアコンや照明をつけたり、合成音声で受け答えできる
照明とエアコンを連携する
• 照明を消したタイミングを関知して、エアコンを止める
データストア
アーキテクチャ
Intel Edison Light Sensor
++
IRKit
NCMB
var NCMB = require(‘./ncmb-latest.min').NCMB; NCMB.initialize(“APP_KEY”, “CLI_KEY”);
var IRKit = NCMB.Object.extend("IRKit"); var message = ""; setInterval(function () { if (value > 250) { if (on == null || on == false) message = "エアコンをオン"; } else { if (on == null || on == true) message = "エアコンをオフ"; } var obj = new IRKit(); obj.set("action", message); obj.save(); });
デモ
まとめ
• mBaaS/ニフティクラウドを使うとサーバレスでIoTが実現できます
• データ保存、ファイルアップロード、スマートフォンへの通知などが手軽に
ご静聴ありがとう ございました