39
Copyright @ NIFTY Corporation All Rights Reserved ニフティクラウド mobile backend IoTの良い関係 ニフティクラウド mobile backend エヴァンジェリスト 中津川篤司

Edisonユーザ会「ニフティクラウド mobile backendとIoTの良い関係」

Embed Size (px)

Citation preview

Copyright @ NIFTY Corporation All Rights Reserved

ニフティクラウドmobile backendとIoTの良い関係

ニフティクラウド mobile backend

エヴァンジェリスト 中津川篤司

Copyright @ NIFTY Corporation All Rights Reserved

自己紹介

2

@moongift

fb.me/moongift.fan

中津川 篤司株式会社MOONGIFT 代表取締役ニフティクラウド mobile backend

          エヴァンジェリスト

2004年1月よりオープンソース・ソフトウェアを毎日紹介するブログ MOONGIFT を運営。

http://www.moongift.jp/

Copyright @ NIFTY Corporation All Rights Reserved

ニフティクラウド mobile backnendについて

3

@niftycloud_mb

fb.me/niftycloudmb

ニフティクラウド mobile backendニフティ株式会社の提供するmBaaS

スマートフォン/Webアプリのバックエンド(サーバサイド)の仕組みを一括提供

http://mb.cloud.nifty.com/

Copyright @ NIFTY Corporation All Rights Reserved

アジェンダ

4

1. 自己紹介(済)

2. mBaaS/NCMBについて

3. IoTデバイスの抱える3つの問題点

4. Edison × NCMBを使った例

5. NCMBの価格/プラン

6. まとめ

Copyright @ NIFTY Corporation All Rights Reserved

mBaaSとは?

5

スマートフォン/Webアプリのバックエンド(サーバサイド)の仕組みを一括提供

 → mobile Backend as a Serviceの略

Copyright @ NIFTY Corporation All Rights Reserved

アプリとサーバの現状

6

アプリ サーバ

・認証 ・結果

・データ(テキスト/バイナリ) ・プッシュ通知

だいたい同じ

Copyright @ NIFTY Corporation All Rights Reserved

サーバに求められるもの

7

・安定性 ・セキュリティ対策 ・定期的なアップデート

絶対に落ちないこと! 高速に動き続けること! クラックされないこと!

Copyright @ NIFTY Corporation All Rights Reserved

mBaaSに置き換えてみる

8

アプリ

・認証 ・結果

・データ(テキスト/バイナリ) ・プッシュ通知

ニフティクラウド mobile backend

アプリの開発に集中!

Copyright @ NIFTY Corporation All Rights Reserved

ニフティクラウド mobile backendの主な機能

9

プッシュ通知 データ ストレージ

ファイル ストレージ

SNS連携 認証 位置情報 検索

Copyright @ NIFTY Corporation All Rights Reserved

対応プラットフォーム

10

Objective-C(2014年12月より64bit対応)

Android

JavaScript(2014年12月よりnodeサポート!)

Unity

Copyright @ NIFTY Corporation All Rights Reserved

Web API

11

RESTfulなAPI

・データの追加、更新、削除、検索 ・バイナリファイルの追加、更新、削除、検索 ・認証 ・プッシュ通知の追加、更新、削除、検索

https://github.com/moongift/ncmb-ruby-client

Copyright @ NIFTY Corporation All Rights Reserved

本題

12

IoT と mBaaS をいかに組み合わせるか?

Copyright @ NIFTY Corporation All Rights Reserved

IoTデバイスの問題点1

13

小型=小バッテリー  常時電源が使えるとは限らない 小さなメモリ/ストレージ  蓄積したデータを廃棄?

Copyright @ NIFTY Corporation All Rights Reserved

よくない利用

14

IoTデバイスデスクトップ スマートフォン

Webサーバ

Copyright @ NIFTY Corporation All Rights Reserved

よくない利用

15

デスクトップ スマートフォン

Copyright @ NIFTY Corporation All Rights Reserved

mBaaSを使った例

16

IoTデバイス

デスクトップ スマートフォン

ニフティクラウド mobile backend

SDK REST API

IoTデバイス

Copyright @ NIFTY Corporation All Rights Reserved

IoTの問題2

17

IoTデバイスに何かあった時、通知したい 今ならプッシュ通知がスムーズ  → APNs、GCMに接続する必要あり  → デバイストークンの管理

Copyright @ NIFTY Corporation All Rights Reserved

よくない利用

18

IoTデバイス スマートフォンAPNs/GCM

Copyright @ NIFTY Corporation All Rights Reserved

19

IoTデバイス スマートフォンAPNs/GCM

mBaaSを使った例

ニフティクラウド mobile backend

Copyright @ NIFTY Corporation All Rights Reserved

プッシュ通知を使った例

20

Copyright @ NIFTY Corporation All Rights Reserved

21

IoTデバイス

スマートフォン APNs/GCM

mBaaSを使った例(Arduino)

ニフティクラウド mobile backend

プッシュ作成サーバ

Copyright @ NIFTY Corporation All Rights Reserved

22

IoTデバイス

スマートフォン APNs/GCM

mBaaSを使った例(Edison)

ニフティクラウド mobile backend

Copyright @ NIFTY Corporation All Rights Reserved

プッシュ作成処理

23

var NCMB = require("./ncmb").NCMB; NCMB.initialize(“APP_KEY”, “CLIENT_KEY"); function sendPush(high, value) { NCMB.Push.send({ "immediateDeliveryFlag": true, "message": high ? "電気がつきました" : "消灯しました", }, { success: function() { console.log("Successful!"); // 成功 }, error: function(error) { // エラー console.log("Failed"); } }); }

Copyright @ NIFTY Corporation All Rights Reserved

IoTの問題3

24

M2M(Machine to Machine)とは言うけど そもそもプロトコルを合わせられない…

Copyright @ NIFTY Corporation All Rights Reserved

良くない利用

25

IoTデバイス IoTデバイス

プロコトルの違い 仕様のすりあわせ NAT越の必要あり

Copyright @ NIFTY Corporation All Rights Reserved

26

mBaaSを使った例

IoTデバイス IoTデバイスニフティクラウド mobile backend

M2C2M

Copyright @ NIFTY Corporation All Rights Reserved

27

mBaaSを使った例

IoTデバイス IoTデバイスニフティクラウド mobile backend

Copyright @ NIFTY Corporation All Rights Reserved

M2C2Mの例

28

お父さんいまどこメーター

via http://qiita.com/kazunori279/items/

7dbbb525ab0cf6d5d9b5

Copyright © NIFTY Corporation All Rights Reserved. ‹#›

料金プラン

Copyright © NIFTY Corporation All Rights Reserved. ‹#›

Basicプラン200万!

200万!

5GB!

月額無料

Copyright © NIFTY Corporation All Rights Reserved. ‹#›

開発で困ったら?

bit.ly/ncmb-community

Copyright @ NIFTY Corporation All Rights Reserved

おまけ

32

https://www.youtube.com/watch?v=YUUsJSDa7PE

Copyright @ NIFTY Corporation All Rights Reserved

Arduino module

• ArduinoとLittleBitsを連携させるためのモジュール ↓• LittleBitsのIOを持ったArduino互換モジュール(Leonardo)

33

https://www.youtube.com/watch?v=FXQ9d3qJt3Q

39.95ドル!

Copyright @ NIFTY Corporation All Rights Reserved

基本的な使い方

34

Copyright @ NIFTY Corporation All Rights Reserved

EdisonとLittleBitsの連携?

• “Edison LittleBits”でググる ↓• https://www.youtube.com/watch?v=MnWOrdn_5NM

35

Copyright @ NIFTY Corporation All Rights Reserved

拡大

36

Copyright @ NIFTY Corporation All Rights Reserved

デジタル出力を取り出す

37

Copyright @ NIFTY Corporation All Rights Reserved

ボタンを押すとプッシュ通知

38

var pin4 = new m.Gpio(4); pin4.read();

Copyright @ NIFTY Corporation All Rights Reserved

@niftycloud_mb

https://fb.me/niftycloudmb