【iot入門】スマホで加速度と位置情報を取得してクラウドに保存しよう!~ハンズオン資料②~...

47
Copyright @ NIFTY Corporation All Rights Reserved Copyright @ NIFTY Corporation All Rights Reserved 【IoT入門】スマホで 加速度センサーと位置情報 を取得してクラウドに保存しよう! ~ハンズオン資料②~ ・コードの実装をします Startボタン(センサーの値を取得する) Stopボタン(取得した値をmBaaSに保存する)

Upload: natsumo

Post on 14-Feb-2017

156 views

Category:

Education


0 download

TRANSCRIPT

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

【IoT入門】スマホで加速度センサーと位置情報

を取得してクラウドに保存しよう!

~ハンズオン資料②~・コードの実装をします

Startボタン(センサーの値を取得する)

Stopボタン(取得した値をmBaaSに保存する)

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

オンラインハンズオンセミナーの進め方(確認)

講義とハンズオンのセットで行います。

• 講義(前半) → ハンズオン① (10~15分)

• 講義(後半) → ハンズオン② (30~40分)

ハンズオンの時間は十分とります。講義の内容とハンズオン資料を元に、各自で黙々と作業を行ってください。

ハンズオン(2セット)が終了した後、コード解説をします。

最後に質疑応答をおこないます。

講義、ハンズオン中の質問も随時チャットにて対応します。

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

講義(後半)

ここではコーディング作業の進め方とコードの解説をします

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

本日体験していただく内容(確認)

2つのセンサーにアクセスして値を取得します

• 加速度センサー• GPSセンサー

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

本日体験していただく内容(確認)

Start ボタンで加速度センサーにアクセスして

値を取得

Stop ボタンで取得した情報をクラウドに保存

スマホを振ると画面の色が

変わる

加速度センサーaccelerometer[[0.3595523071289063,0.1773811340332031,9.813592529296875],[0.3589535522460938,0.1924996948242187,9.837393035888672],[0.3297642517089844,0.1862127685546875,9.83290237426758],…]

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

本日体験していただく内容(確認)

GPSセンサー

Stop ボタンで取得した

緯度経度の情報をクラウドに保存

Point35.69801823127698,139.6880536751231

Start ボタンでGPSセンサーにアクセスして緯度経度を取得+地図を表示

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

ハンズオン②

ハンズオン①

アプリを作成する手順(確認)

・mobile backend にアプリを作る

・MonacaにJavaScriptSDKを入手する

・Monacaにプロジェクトを作成する

・下の3つについての実装をしていただきます

① APIキーの設定とSDKの初期化

② Startボタン押下時の動作

加速度センサーとGPSセンサーにアクセスして値を取得する

③ Stopボタン押下時の動作

取得したデータを mobile backend に保存する

大枠を作ってあるのでインポートして使います

×

11箇所にコーディングをします

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

ハンズオン②でやること

アプリ

APIキー(2つ)

フロントエンド バックエンド

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

具体的な作業方法を(1)と(2)で説明します

Monacaを編集する

js/app.jsを編集します

• js/app.jsファイルを開いてください

• (1)~(11)の番号の書かれた部分を編集していきます

js/app.jsファイルのみ編集します!

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

(1) APIキーの設定

mBaaSダッシュボード

「アプリ設定」の中にあります

APPLICATION_KEYとCLIENT_KEYは

mobile backendの管理画面から

コピーボタンで

コピーして使用します!

重要

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

(2) mBaaSの初期化

mBaaSを使うために必ず最初に行う必要があります

ここ

「ここ」に書きます

こんな感じです

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

コピペボードを用意しています

https://goo.gl/Aq745F を開く【GitHub】

ページの下の方に行くと

あります

ここからコピペするとスムーズです

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

(3) 加速度センサーから値を取得する

Monacaで加速度センサーから値を取る

加速度センサー Startボタン押下時の処理

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

(4) GPSセンサーから値を取得する

MonacaでGPSセンサーから値を取る

GPSセンサー Startボタン押下時の処理

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

Stopボタン押下時の処理 [実装済み]

mBaaSに値を保存するメソッドを呼び出します

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

(5) データストアに保存用クラスを作成

★ここ

・mBaaSのデータストアにデータを保存するためのクラスを作成します

「AcceData」というクラスが作成されます

加速度センサー Stopボタン押下時の処理

Acce_save_ncmb メソッド

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

(6) クラスのインスタンスを生成

★ここ・先程作成したクラスのインスタンスを作成します

加速度センサー Stopボタン押下時の処理

Acce_save_ncmb メソッド

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

(7) データの保存

・mBaaSのデータストアにデータを保存するためのクラスを作成します

「インスタンス.set(キー,値)」

で値をセットして「.save()」で保存します

加速度センサー Stopボタン押下時の処理

Acce_save_ncmb メソッド

★ここ

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

(8),(9) GPSも同様に…

★ここ

★ここ(8) データストアに保存用クラスを作成(9) クラスのインスタンスを生成

GPSセンサー Stopボタン押下時の処理

Gps_save_ncmb メソッド

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

(10) 位置情報オブジェクトを作成

★ここ

緯度経度の情報としてデータを保存する

★ここ

mBaaSに用意されているncmb.GeoPoint()のオブジェクトを生成して緯度経度の情報を作成します

GPSセンサー Stopボタン押下時の処理

Gps_save_ncmb メソッド

(11)同様もに…

以下同様に…(11) データの保存

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

プロジェクトの保存

ここまでできたら保存をします

「保存」を押すか、

ショートカット

Ctrl + S で保存できます!

※Macの場合は「command + S 」 コーディング作業は以上です

クリック

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

動作確認

Monacaデバッガーで動かしてみよう!

を選択

値が1秒ごとに取得され表示されます

スマホを振ってみましょう

◎振り方の強弱で色が変わります

弱 青⇔黄⇔赤 強

Startボタンを押して動作確認

確認したらStopボタンを押おして

値を保存

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

動作確認

Startを選択緯度経度の値が

取得され表示されます

取得した緯度経度の情報から地図を表示しマーカーを立てます

Monacaデバッガーで動かしてみよう!

を選択

Startボタンを押して動作確認

確認したらStopボタンを押おして

値を保存

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

mBaaSを見てみよう

確認ができたら

mBaaSのデータストアを見てみましょう!

「データストア」を選択

クラスに「AcceData」と「GpsData」

ができていることを確認

それぞれ選択して値が保存されているか確認しましょう!

さっきは無かったところに作成されました

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

mBaaSを見てみよう

確認ができたら

mBaaSのデータストアを見てみましょう!

mBaaSのクラウド上に保存されました!

※データの上にカーソルを合わせると、中身のデータを見ることができます

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

上手く動かない…エラーの切り分け

• エラーが出ていないのにセンサーの値が上手く取れない…

MonacaデバッガーアプリのGPSが無効になっている可能性があります

加速度センサーについては、残念ながらAndroidの機種で一部相性の悪いものがあるようです

• エラーが出ていないのにmBaaSに値が上手く保存されない…

APIキーが正しく貼り付けられていない可能性があります

• そもそもエラーがでているが、どこが原因かわからない…

打ち間違いの可能性が高いので、コピペしなおしてみてください

編集の過程で「}」や「)」を消してしまっている可能性があります

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

上手く動かない…エラー箇所の見つけ方

1. ブラウザのコンソール画面を表示する「F12」キーを押す

エラーがあればその箇所を表示してくれます

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

上手く動かない…エラー箇所の見つけ方

2. Monacaデバッガーでログを表示する方法エラーがあると「!」が表示されるのでそこをタップ

赤くなっているアイコンをタップ

「App Log」に表示されます

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

ロジック解説

ここでは書き込んだコードの解説と

実装済みの内容を紹介します

解 説

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

(1) APIキーの設定

mBaaSダッシュボード

「アプリ設定」の中にあります

APPLICATION_KEYとCLIENT_KEYは

mobile backendの管理画面から

コピーボタンで

コピーして使用します!

重要

解 説

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

(2) mBaaSの初期化

mBaaSを使うために必ず最初に行う必要があります

ここ

「ここ」に書きます

こんな感じです

解 説

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

コピペボードを用意しています

https://goo.gl/Aq745F を開く【GitHub】

ページの下の方に行くと

あります

ここからコピペするとスムーズです

解 説

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

(3) 加速度センサーから値を取得する

Monacaで加速度センサーから値を取る

加速度センサー Startボタン押下時の処理

解 説

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

(4) GPSセンサーから値を取得する

MonacaでGPSセンサーから値を取る

GPSセンサー Startボタン押下時の処理

解 説

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

Stopボタン押下時の処理 [実装済み]

mBaaSに値を保存するメソッドを呼び出します

解 説

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

(5) データストアに保存用クラスを作成

★ここ

・mBaaSのデータストアにデータを保存するためのクラスを作成します

「AcceData」というクラスが作成されます

加速度センサー Stopボタン押下時の処理

Acce_save_ncmb メソッド

解 説

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

(6) クラスのインスタンスを生成

★ここ・先程作成したクラスのインスタンスを作成します

加速度センサー Stopボタン押下時の処理

Acce_save_ncmb メソッド

解 説

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

(7) データの保存

・mBaaSのデータストアにデータを保存するためのクラスを作成します

「インスタンス.set(キー,値)」

で値をセットして「.save()」で保存します

加速度センサー Stopボタン押下時の処理

Acce_save_ncmb メソッド

★ここ

解 説

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

(8),(9) GPSも同様に…

★ここ

★ここ(8) データストアに保存用クラスを作成(9) クラスのインスタンスを生成

GPSセンサー Stopボタン押下時の処理

Gps_save_ncmb メソッド

解 説

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

(10) 位置情報オブジェクトを作成

★ここ

緯度経度の情報としてデータを保存する

★ここ

mBaaSに用意されているncmb.GeoPoint()のオブジェクトを生成して緯度経度の情報を作成します

GPSセンサー Stopボタン押下時の処理

Gps_save_ncmb メソッド

(11)同様もに…

以下同様に…(11) データの保存

解 説

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

加速度センサーから値の取得時 [実装済み]

重力加速度を除く

色の切り切り替え画面に値を表示する

成功した場合のコールバック解 説

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

加速度センサーから値の取得時 [実装済み]

失敗した場合のコールバック

設定するオプション

解 説

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

GPSセンサーから値の取得時 [実装済み]

地図表示

writemapメソッド

の呼び出し

画面に値を表示する

成功した場合のコールバック解 説

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

GPSセンサーから値の取得時 [実装済み]

失敗した場合のコールバック

設定するオプション

解 説

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

位置情報を地図に表示する

OpenStreetMap(https://openstreetmap.jp/)

を利用して現在地を地図に表示しています

参考index.htmlファイルに

http://www.openlayers.org/api/OpenLayers.js

を読み込んで使っています

解 説

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved

色見本3

まとめ

☺Monacaを使って加速度センサー

GPSセンサー

に簡単にアクセスできることがわかった!

☺mBaaSを使って簡単にデータを

クラウドに保存できることがわかった!

Copyright @ NIFTY Corporation All Rights ReservedCopyright @ NIFTY Corporation All Rights Reserved