58
Copyright © 2016 AGREX INC. All rights reserved. JAWS-UG 札幌 in AWS Cloud Roadshow 2016 2016.10.12 札幌事業所 松田 生吾 AWS歴2週間で IoT に挑戦してみた。

AWS歴2週間で IoT に挑戦してみた。

Embed Size (px)

Citation preview

Page 1: AWS歴2週間で IoT に挑戦してみた。

Copyright © 2016 AGREX INC. All rights reserved.

JAWS-UG 札幌 in AWS Cloud Roadshow 2016

2016.10.12

札幌事業所 松田 生吾

AWS歴2週間で IoT に挑戦してみた。

Page 2: AWS歴2週間で IoT に挑戦してみた。

Copyright © 2016 AGREX INC. All rights reserved. 2

自己紹介

松田 生吾(まつだ しょうご)

所属

(株)アグレックス 札幌事業所

主な仕事内容

某市の人事給与システム開発、保守

AWS

気になるAWSサービス

AWS IoT(なんかすごそう。)

その他

JAWS-UGのイベント初参加&

初登壇です。

New!!

趣味はマラソン※ガチなのはちょっとお休み中・・・

Page 3: AWS歴2週間で IoT に挑戦してみた。

Copyright © 2016 AGREX INC. All rights reserved. 3

AWS との関わり

2016.09 2016.10

今ここ!

(部長)AWS やらない?

(JAWS-UGの人)来月Cloud Rowdshowあるんだけどさぁ・・・。

AWS歴 約1ヶ月・・・

Page 4: AWS歴2週間で IoT に挑戦してみた。

Copyright © 2016 AGREX INC. All rights reserved. 4

さて、何の話をしよう

何か語れるほど、まだ業務で AWS に触れていない。

「業務で困ってたアレをこうしてみた!」みたいな

人の役に立つような話ができない・・・。

とりあえず、自分に関する問題をAWSを使って

解決してネタにしてみよう・・・。

Page 5: AWS歴2週間で IoT に挑戦してみた。

Copyright © 2016 AGREX INC. All rights reserved. 5

AWS を利用して解決したいこと

-外出時-

Lock!

施錠する。

Page 6: AWS歴2週間で IoT に挑戦してみた。

Copyright © 2016 AGREX INC. All rights reserved. 6

AWS を利用して解決したいこと

-外出時-

Lock!

出かける。

Page 7: AWS歴2週間で IoT に挑戦してみた。

Copyright © 2016 AGREX INC. All rights reserved. 7

AWS を利用して解決したいこと

鍵は締めた

だろうか…

-外出時-

Lock!Locked…?

不安になる。

Page 8: AWS歴2週間で IoT に挑戦してみた。

Copyright © 2016 AGREX INC. All rights reserved. 8

AWS を利用して解決したいこと

-外出時-

(Before)

Lock!

確認しに戻る。

(無限ループ)

Page 9: AWS歴2週間で IoT に挑戦してみた。

Copyright © 2016 AGREX INC. All rights reserved. 9

AWS を利用して解決したいこと

-外出時-

(After)

Lock!

施錠する。

Page 10: AWS歴2週間で IoT に挑戦してみた。

Copyright © 2016 AGREX INC. All rights reserved. 10

AWS を利用して解決したいこと

鍵は締まり

ましたよ。

-外出時-

(After)

Lock!

施錠したことを教えてくれる。

Page 11: AWS歴2週間で IoT に挑戦してみた。

Copyright © 2016 AGREX INC. All rights reserved. 11

AWS を利用して解決したいこと

鍵は締まり

ましたよ。

-外出時-

(After)

Lock!

Locked!!

安心して

出かけられる!

Page 12: AWS歴2週間で IoT に挑戦してみた。

Copyright © 2016 AGREX INC. All rights reserved. 12

AWS を利用した解決策(ぼんやり)

Locked!!

Lock!

家の施錠状態をAWSがうまいこと処理してスマホに通知してくれる。

Page 13: AWS歴2週間で IoT に挑戦してみた。

Copyright © 2016 AGREX INC. All rights reserved. 13

AWS を利用した解決策

Locked!!

Lock!

家の施錠状態をセンサーが検知し、AWS IoTで処理してスマホに通知する。

Page 14: AWS歴2週間で IoT に挑戦してみた。

Copyright © 2016 AGREX INC. All rights reserved. 14

AWS IoT とは・・・

Q: AWS IoT とは何ですか?

AWS IoT では、接続されたデバイスが簡単かつ安全にクラウドアプリケーションやそ

の他のデバイスとやり取りできるマネージド型クラウドプラットフォームです。AWS IoT

では数十億のデバイスと数兆のメッセージをサポートし、それらのメッセージを AWS エ

ンドポイントおよび他のデバイスに確実かつ安全に処理しルーティングします。AWS

IoT によってアプリケーションはそれらが接続されていない場合でも、全てのデバイスを

常に追跡し通信することができます。

AWS IoT を使用すると、AWS Lambda、Amazon Kinesis、Amazon S3、

Amazon Machine Learning、Amazon DynamoDB、Amazon

CloudWatch、AWS CloudTrail、および Amazon Elasticsearch

Service (組み込みの Kibana と統合されている) といった AWS の各種サービス

を簡単に使用でき、インフラストラクチャを管理をせずに、接続されたデバイスによって

生成されたデータを収集、処理、分析、実行する IoT アプリケーションを構築できま

す。

https://aws.amazon.com/jp/iot/faqs/

Page 15: AWS歴2週間で IoT に挑戦してみた。

Copyright © 2016 AGREX INC. All rights reserved. 15

AWS IoT とは・・・

要するに、AWS IoT を利用することで、お手軽に IoT を実現できるらしい!!

https://aws.amazon.com/jp/iot/how-it-works/

Page 16: AWS歴2週間で IoT に挑戦してみた。

Copyright © 2016 AGREX INC. All rights reserved. 16

IoTを実現するために用意したもの

センサーと、センサーの情報をAWSに飛ばすものが必要。

Page 17: AWS歴2週間で IoT に挑戦してみた。

Copyright © 2016 AGREX INC. All rights reserved. 17

今回使用したもの①:SimpleLink SensorTag(CC2650)

BLE(Bluetooth Low Energy)対応

低消費電力(ボタン電池1個で数ヶ月稼働)

複数のセンサーを搭載

赤外線および周囲温度センサー

周辺光センサー

湿度センサー

大気圧センサー

9軸モーショントラッキングデバイス

3軸加速度計

3軸ジャイロスコープ

3軸磁力計

磁気センサー

$29.00(USD)

(送料とかを含めると4000円くらい) 50mm

40mm

シリコンケースを外した状態

Page 18: AWS歴2週間で IoT に挑戦してみた。

Copyright © 2016 AGREX INC. All rights reserved. 18

今回使用したもの②:Raspberry Pi 3 Model B

無線LAN標準搭載

(IEEE 802.11 b/g/n 2.4 GHz)

Bluetooth標準搭載

(Bluetooth Low Energy)

使用するのに必要な一式を揃えても1万円前後

(本体、SDカード、HDMIケーブル、アダプタ、ケース)

公式のケースがかわいい!

Page 19: AWS歴2週間で IoT に挑戦してみた。

Copyright © 2016 AGREX INC. All rights reserved. 19

SensorTag × Raspberry Pi 3 Model B

Bluetooth(無線)

Wi-Fi(無線)

余計な配線、電子工作が不要!

ハンダ付け・・・?

ブレッドボード・・・ ??

ジャンパーワイヤー・・・???

とってもお手軽!文系な人でもあんしん!

Page 20: AWS歴2週間で IoT に挑戦してみた。

Copyright © 2016 AGREX INC. All rights reserved. 20

AWS 側の設定をしよう

Page 21: AWS歴2週間で IoT に挑戦してみた。

Copyright © 2016 AGREX INC. All rights reserved. 21

AWS IoT の設定

1. Thing

利用するデバイス(Raspberry Pi など)を登録する

2. Rule

デバイスからデータが届いた際の振る舞いを設定する

3. Policy

デバイスに AWS IoT の各種操作を許可するためのポリシーを作成する

4. Certificate

デバイスに登録する証明書を作成する

Page 22: AWS歴2週間で IoT に挑戦してみた。

Copyright © 2016 AGREX INC. All rights reserved. 22

AWS IoT の設定(Thingの作成)

Page 23: AWS歴2週間で IoT に挑戦してみた。

Copyright © 2016 AGREX INC. All rights reserved. 23

AWS IoT の設定(Ruleの作成①)

Topicを設定

SELECT * FROM ‘lockState/sns’

Page 24: AWS歴2週間で IoT に挑戦してみた。

Copyright © 2016 AGREX INC. All rights reserved. 24

AWS IoTの 設定(Ruleの作成②)

選択できる Action

CloudWatch alarms

CloudWatch metrics

DynamoDB

Amazon Elasticsearch Service

Amazon Kinesis

AWS IoT

S3

SNS

SQS

Lambda

今回はSNSを利用

Page 25: AWS歴2週間で IoT に挑戦してみた。

Copyright © 2016 AGREX INC. All rights reserved. 25

AWS IoT の設定(Ruleの作成③)

Page 26: AWS歴2週間で IoT に挑戦してみた。

Copyright © 2016 AGREX INC. All rights reserved. 26

AWS IoT の設定(Ruleの作成④)

E-Mailへの通知

Page 27: AWS歴2週間で IoT に挑戦してみた。

Copyright © 2016 AGREX INC. All rights reserved. 27

AWS IoT の設定(Ruleの作成⑤)

Actionが追加された!

Page 28: AWS歴2週間で IoT に挑戦してみた。

Copyright © 2016 AGREX INC. All rights reserved. 28

AWS IoT の設定(証明書、ポリシーの作成)

証明書とポリシーを同時作成

Page 29: AWS歴2週間で IoT に挑戦してみた。

Copyright © 2016 AGREX INC. All rights reserved. 29

AWS IoT の設定(証明書、ポリシーの作成)

ダウンロードした秘密鍵と証明書はRaspberry Pi へ

Page 30: AWS歴2週間で IoT に挑戦してみた。

Copyright © 2016 AGREX INC. All rights reserved. 30

AWS IoT の設定(できた!)

Thing

Rule

Policy

Certificate

Page 31: AWS歴2週間で IoT に挑戦してみた。

Copyright © 2016 AGREX INC. All rights reserved. 31

Raspberry Pi からメッセージを送ってみる

AWS IoT デバイス SDK を利用

※https://aws.amazon.com/jp/iot/sdk/

Embedded C

JavaScript

Arduino Yún

Java

Python

iOS

Android

今回はJavaScriptを利用

Page 32: AWS歴2週間で IoT に挑戦してみた。

Copyright © 2016 AGREX INC. All rights reserved. 32

Raspberry Pi からメッセージを送ってみる

$ git clone https://github.com/aws/aws-iot-device-sdk-js.git

$ cd aws-iot-device-sdk-js.git

$ npm install

AWS IoT デバイス SDKをインストール

メッセージ送信用のサンプル(iot-test.js)

var awsIot = require('..');

var device = awsIot.device({

keyPath :'private.pem.key',

certPath:'certificate.pem.crt',

caPath :'rootCA.crt',

clientId:'KeyLockNotifier',

region:'ap-northeast-1'

});

device.publish('lockState/sns', 'CloudRoadshowに間に合うかな?');

AWS IoT設定時に作成した秘密鍵、証明書、Thing

AWS IoT設定時に設定したtopic

Page 33: AWS歴2週間で IoT に挑戦してみた。

Copyright © 2016 AGREX INC. All rights reserved. 33

Raspberry Pi からメッセージを送ってみる

$ sudo node iot-test.js

実行

Page 34: AWS歴2週間で IoT に挑戦してみた。

Copyright © 2016 AGREX INC. All rights reserved. 34

Raspberry Pi からメッセージを送ってみる

$ sudo node iot-test.js

実行

メールが来た!

Page 35: AWS歴2週間で IoT に挑戦してみた。

Copyright © 2016 AGREX INC. All rights reserved. 35

SensorTag のデータを Raspberry Pi で取得する

$ sudo hcitool lescan

LE Scan ...

24:71:89:XX:XX:86 (unknown)

24:71:89:XX:XX:86 CC2650 SensorTag

$ gatttool -b 24:71:89:XX:XX:86 -I

[24:71:89:XX:XX:86][LE]> connect

Attempting to connect to 24:71:89:XX:XX:86

Connection successful

[24:71:89:XX:XX:86][LE]> char-write-req 0x2f 01

Characteristic value was written successfully

[24:71:89:XX:XX:86][LE]> char-read-hnd 0x2c

Characteristic value/descriptor: 68 61 44 7c

試しにコマンドラインから接続、データ(気温)を取得する

なんだこれは・・・・

センサーのMACアドレス

Page 36: AWS歴2週間で IoT に挑戦してみた。

Copyright © 2016 AGREX INC. All rights reserved. 36

SensorTag のデータを Raspberry Pi で取得する

$ sudo hcitool lescan

LE Scan ...

24:71:89:XX:XX:86 (unknown)

24:71:89:XX:XX:86 CC2650 SensorTag

$ gatttool -b 24:71:89:XX:XX:86 -I

[24:71:89:XX:XX:86][LE]> connect

Attempting to connect to 24:71:89:XX:XX:86

Connection successful

[24:71:89:XX:XX:86][LE]> char-write-req 0x2f 01

Characteristic value was written successfully

[24:71:89:XX:XX:86][LE]> char-read-hnd 0x2c

Characteristic value/descriptor: 68 61 44 7c

試しにコマンドラインから接続、データ(気温)を取得する

センサーから取得したデータを活用するには適切な加工が必要。生データでは意味が分からないし時間もないので先人の力を頼ることに・・・。※変換式についてはWikiに載っています

http://processors.wiki.ti.com/index.php/CC2650_SensorTag_User's_Guide

Page 37: AWS歴2週間で IoT に挑戦してみた。

Copyright © 2016 AGREX INC. All rights reserved. 37

SensorTag のデータを Raspberry Pi で取得する

$ npm install async

$ npm install bluebird

$ npm install sensortag

SensorTag 用の node.js ライブラリをインストール※https://github.com/sandeepmistry/node-sensortag

SensorTag.discoverByAddress(address, callback(sensorTag));

デバイスの検知

デバイスの接続

sensorTag.connectAndSetUp(callback(error));

センサーデータの読込・通知

sensorTag.enableGyroscope(callback(error));

sensorTag.readGyroscope(callback(error, x, y, z));

sensorTag.notifyGyroscope(callback(error));

hcitool lescanで取得した

MACアドレス

Page 38: AWS歴2週間で IoT に挑戦してみた。

Copyright © 2016 AGREX INC. All rights reserved. 38

SensorTagで取得できる情報

赤外線温度(℃)

周囲温度(℃)

周辺光(lux)

湿度(%)

大気圧(hPa)

加速度(G)

ジャイロスコープ(deg/s)

地磁気 (μT)

磁気(磁石が近づくとON)

Page 39: AWS歴2週間で IoT に挑戦してみた。

Copyright © 2016 AGREX INC. All rights reserved. 39

施錠状態を検知するために、何の計測値を使おう・・・

赤外線温度(℃)

周囲温度(℃)

周辺光(lux)

湿度(%)

大気圧(hPa)

加速度(G)

ジャイロスコープ(deg/s)

地磁気 (μT)

磁気(磁石が近づくとON)

→関係ない。

→関係ない。

→使えないことはないけど、夜使えない。

→関係ない。

→関係ない。

→鍵が動いたことは検知できそう。

→スマホとかでも使われてるアレ。傾きが取れる?

→よく分からない。

→磁石と組み合わせれば・・・?

とりあえずジャイロスコープの値を使ってみよう。

Page 40: AWS歴2週間で IoT に挑戦してみた。

Copyright © 2016 AGREX INC. All rights reserved. 40

施錠状態を検知するために、何の計測値を使おう・・・

ジャイロスコープ(英語: gyroscope)とは、

物体の角度(姿勢)や角速度あるいは角加速度を検出する計測器ないし装置。

※Wikipediaより。

ジャイロスコープの値の単位

deg/s(角速度:単位時間あたりに変化した角度)

→ある期間内の角速度の合計から角度の変化を読み取れる・・・?

【速さ×時間=距離】的な・・・(ガバガバ発想)

Page 41: AWS歴2週間で IoT に挑戦してみた。

Copyright © 2016 AGREX INC. All rights reserved. 41

SensorTag のデータを Raspberry Pi で取得する

1秒ごとにジャイロスコープの値を取得する(垂直→水平)

Sat Oct 08 2016 20:29:08 GMT+0900 (JST),x= 1.32813, y=-3.16406, z=-1.67969

Sat Oct 08 2016 20:29:09 GMT+0900 (JST),x= 0.76563, y=-1.60938, z=-1.39844

Sat Oct 08 2016 20:29:10 GMT+0900 (JST),x= 1.72656, y=-1.98438, z=-0.72656

Sat Oct 08 2016 20:29:11 GMT+0900 (JST),x=-0.21875, y=-2.79688, z=-1.24219

Sat Oct 08 2016 20:29:12 GMT+0900 (JST),x= 1.28906, y=-0.95313, z=-0.85938

Sat Oct 08 2016 20:29:13 GMT+0900 (JST),x= 1.78906, y=-1.58594, z=-0.42969

Sat Oct 08 2016 20:29:14 GMT+0900 (JST),x= 0.29688, y=-1.85938, z=-1.32813

Sat Oct 08 2016 20:29:15 GMT+0900 (JST),x= 2.24219, y=-1.70313, z=-0.45313

Sat Oct 08 2016 20:29:16 GMT+0900 (JST),x= 0.92969, y=-1.35938, z=-2.58594

Sat Oct 08 2016 20:29:17 GMT+0900 (JST),x= 0.88281, y=-1.40625, z=-3.17969

垂直

水平

Page 42: AWS歴2週間で IoT に挑戦してみた。

Copyright © 2016 AGREX INC. All rights reserved. 42

SensorTag のデータを Raspberry Pi で取得する

1秒ごとにジャイロスコープの値を取得する(垂直→水平)

Sat Oct 08 2016 20:29:08 GMT+0900 (JST),x= 1.32813, y=-3.16406, z=-1.67969

Sat Oct 08 2016 20:29:09 GMT+0900 (JST),x= 0.76563, y=-1.60938, z=-1.39844

Sat Oct 08 2016 20:29:10 GMT+0900 (JST),x= 1.72656, y=-1.98438, z=-0.72656

Sat Oct 08 2016 20:29:11 GMT+0900 (JST),x=-0.21875, y=-2.79688, z=-1.24219

Sat Oct 08 2016 20:29:12 GMT+0900 (JST),x= 1.28906, y=-0.95313, z=-0.85938

Sat Oct 08 2016 20:29:13 GMT+0900 (JST),x= 1.78906, y=-1.58594, z=-0.42969

Sat Oct 08 2016 20:29:14 GMT+0900 (JST),x= 0.29688, y=-1.85938, z=-1.32813

Sat Oct 08 2016 20:29:15 GMT+0900 (JST),x= 2.24219, y=-1.70313, z=-0.45313

Sat Oct 08 2016 20:29:16 GMT+0900 (JST),x= 0.92969, y=-1.35938, z=-2.58594

Sat Oct 08 2016 20:29:17 GMT+0900 (JST),x= 0.88281, y=-1.40625, z=-3.17969

何のことやら全く分からない・・・。有意な差があるようにも見えない・・・。おまけに、静止状態でも値が変動している・・・。

垂直

水平

Page 43: AWS歴2週間で IoT に挑戦してみた。

Copyright © 2016 AGREX INC. All rights reserved. 43

SensorTag のデータを Raspberry Pi で取得する

1秒ごとに地磁気の値を取得する(垂直→水平)

Sat Oct 08 2016 20:26:07 GMT+0900 (JST),x=-16.33936, y=77.34961, z=-64.0083

Sat Oct 08 2016 20:26:08 GMT+0900 (JST),x=-16.78906, y=79.14844, z=-63.7085

Sat Oct 08 2016 20:26:09 GMT+0900 (JST),x=-18.13818, y=76.15039, z=-60.86035

Sat Oct 08 2016 20:26:10 GMT+0900 (JST),x=-16.48926, y=76.4502 , z=-61.45996

Sat Oct 08 2016 20:26:11 GMT+0900 (JST),x=-17.83838, y=78.69873, z=-62.65918

Sat Oct 08 2016 20:26:12 GMT+0900 (JST),x=-14.09082, y=49.76758, z=-38.2251

Sat Oct 08 2016 20:26:13 GMT+0900 (JST),x=-14.54053, y=47.66895, z=-39.42432

Sat Oct 08 2016 20:26:14 GMT+0900 (JST),x=-16.18945, y=48.26855, z=-37.92529

Sat Oct 08 2016 20:26:15 GMT+0900 (JST),x=-14.09082, y=49.31787, z=-39.57422

Sat Oct 08 2016 20:26:16 GMT+0900 (JST),x=-15.43994, y=46.46973, z=-37.47559

垂直

水平

Page 44: AWS歴2週間で IoT に挑戦してみた。

Copyright © 2016 AGREX INC. All rights reserved. 44

SensorTag のデータを Raspberry Pi で取得する

1秒ごとに地磁気の値を取得する(垂直→水平)

Sat Oct 08 2016 20:26:07 GMT+0900 (JST),x=-16.33936, y=77.34961, z=-64.0083

Sat Oct 08 2016 20:26:08 GMT+0900 (JST),x=-16.78906, y=79.14844, z=-63.7085

Sat Oct 08 2016 20:26:09 GMT+0900 (JST),x=-18.13818, y=76.15039, z=-60.86035

Sat Oct 08 2016 20:26:10 GMT+0900 (JST),x=-16.48926, y=76.4502 , z=-61.45996

Sat Oct 08 2016 20:26:11 GMT+0900 (JST),x=-17.83838, y=78.69873, z=-62.65918

Sat Oct 08 2016 20:26:12 GMT+0900 (JST),x=-14.09082, y=49.76758, z=-38.2251

Sat Oct 08 2016 20:26:13 GMT+0900 (JST),x=-14.54053, y=47.66895, z=-39.42432

Sat Oct 08 2016 20:26:14 GMT+0900 (JST),x=-16.18945, y=48.26855, z=-37.92529

Sat Oct 08 2016 20:26:15 GMT+0900 (JST),x=-14.09082, y=49.31787, z=-39.57422

Sat Oct 08 2016 20:26:16 GMT+0900 (JST),x=-15.43994, y=46.46973, z=-37.47559

y と z の値に何か有意な差を感じる・・・が、センサータグの設置場所によって値が変化するので使うのは難しそう・・・。(そもそも地磁気って何だよ・・・。)

垂直

水平

Page 45: AWS歴2週間で IoT に挑戦してみた。

Copyright © 2016 AGREX INC. All rights reserved. 45

SensorTag のデータを Raspberry Pi で取得する

1秒ごとに加速度の値を取得する(垂直→水平)

Sat Oct 08 2016 20:27:31 GMT+0900 (JST),x=-0.91895, y= 0.04517, z=0.00269

Sat Oct 08 2016 20:27:32 GMT+0900 (JST),x=-0.91919, y= 0.10327, z=0.0625

Sat Oct 08 2016 20:27:33 GMT+0900 (JST),x=-0.87817, y= 0.01904, z=0.00244

Sat Oct 08 2016 20:27:34 GMT+0900 (JST),x=-0.87646, y= 0.0354 , z=0.03613

Sat Oct 08 2016 20:27:35 GMT+0900 (JST),x=-0.91772, y= 0.05078, z=0.08105

Sat Oct 08 2016 20:27:36 GMT+0900 (JST),x= 0.38184, y=-0.13159, z=2.88232

Sat Oct 08 2016 20:27:37 GMT+0900 (JST),x= 0.24121, y= 0.11401, z=1.05908

Sat Oct 08 2016 20:27:38 GMT+0900 (JST),x= 0.21802, y= 0.1167 , z=1.04248

Sat Oct 08 2016 20:27:39 GMT+0900 (JST),x= 0.18213, y= 0.12842, z=0.96167

Sat Oct 08 2016 20:27:40 GMT+0900 (JST),x= 0.21704, y= 0.04224, z=1.01587

垂直

水平

Page 46: AWS歴2週間で IoT に挑戦してみた。

Copyright © 2016 AGREX INC. All rights reserved. 46

SensorTag のデータを Raspberry Pi で取得する

1秒ごとに加速度の値を取得する(垂直→水平)

Sat Oct 08 2016 20:27:31 GMT+0900 (JST),x=-0.91895, y= 0.04517, z=0.00269

Sat Oct 08 2016 20:27:32 GMT+0900 (JST),x=-0.91919, y= 0.10327, z=0.0625

Sat Oct 08 2016 20:27:33 GMT+0900 (JST),x=-0.87817, y= 0.01904, z=0.00244

Sat Oct 08 2016 20:27:34 GMT+0900 (JST),x=-0.87646, y= 0.0354 , z=0.03613

Sat Oct 08 2016 20:27:35 GMT+0900 (JST),x=-0.91772, y= 0.05078, z=0.08105

Sat Oct 08 2016 20:27:36 GMT+0900 (JST),x= 0.38184, y=-0.13159, z=2.88232

Sat Oct 08 2016 20:27:37 GMT+0900 (JST),x= 0.24121, y= 0.11401, z=1.05908

Sat Oct 08 2016 20:27:38 GMT+0900 (JST),x= 0.21802, y= 0.1167 , z=1.04248

Sat Oct 08 2016 20:27:39 GMT+0900 (JST),x= 0.18213, y= 0.12842, z=0.96167

Sat Oct 08 2016 20:27:40 GMT+0900 (JST),x= 0.21704, y= 0.04224, z=1.01587

x と z の値に何か有意な差を感じる・・・しかし、よく分からない・・・。

垂直

水平

Page 47: AWS歴2週間で IoT に挑戦してみた。

Copyright © 2016 AGREX INC. All rights reserved. 47

SensorTag のデータを Raspberry Pi で取得する

センサーをいじりながら観測を続けること数日間・・・

とりあえず、加速度のデータがジャイロ・地磁気に比べると見込みがありそう・・・。

Page 48: AWS歴2週間で IoT に挑戦してみた。

Copyright © 2016 AGREX INC. All rights reserved. 48

SensorTag のデータを Raspberry Pi で取得する

加速度を近似値で整数化してみる

Page 49: AWS歴2週間で IoT に挑戦してみた。

Copyright © 2016 AGREX INC. All rights reserved. 49

SensorTag のデータを Raspberry Pi で取得する

加速度を近似値で整数化してみる

Sat Oct 08 2016 21:09:26 GMT+0900 (JST),x=-1, y=0, z=0

Sat Oct 08 2016 21:09:27 GMT+0900 (JST),x=-1, y=0, z=0

Sat Oct 08 2016 21:09:28 GMT+0900 (JST),x= 0, y=0, z=1

Sat Oct 08 2016 21:09:29 GMT+0900 (JST),x= 0, y=0, z=1

Sat Oct 08 2016 21:09:30 GMT+0900 (JST),x= 0, y=0, z=1

Sat Oct 08 2016 21:09:31 GMT+0900 (JST),x= 0, y=0, z=1

Sat Oct 08 2016 21:09:32 GMT+0900 (JST),x= 0, y=0, z=1

Sat Oct 08 2016 21:09:33 GMT+0900 (JST),x= 0, y=0, z=1

Sat Oct 08 2016 21:09:34 GMT+0900 (JST),x= 0, y=0, z=1

Sat Oct 08 2016 21:09:35 GMT+0900 (JST),x=-1, y=0, z=0

Sat Oct 08 2016 21:09:36 GMT+0900 (JST),x=-1, y=0, z=0

垂直

水平

垂直

Page 50: AWS歴2週間で IoT に挑戦してみた。

Copyright © 2016 AGREX INC. All rights reserved. 50

SensorTag のデータを Raspberry Pi で取得する

加速度を近似値で整数化してみる

Sat Oct 08 2016 21:09:26 GMT+0900 (JST),x=-1, y=0, z=0

Sat Oct 08 2016 21:09:27 GMT+0900 (JST),x=-1, y=0, z=0

Sat Oct 08 2016 21:09:28 GMT+0900 (JST),x= 0, y=0, z=1

Sat Oct 08 2016 21:09:29 GMT+0900 (JST),x= 0, y=0, z=1

Sat Oct 08 2016 21:09:30 GMT+0900 (JST),x= 0, y=0, z=1

Sat Oct 08 2016 21:09:31 GMT+0900 (JST),x= 0, y=0, z=1

Sat Oct 08 2016 21:09:32 GMT+0900 (JST),x= 0, y=0, z=1

Sat Oct 08 2016 21:09:33 GMT+0900 (JST),x= 0, y=0, z=1

Sat Oct 08 2016 21:09:34 GMT+0900 (JST),x= 0, y=0, z=1

Sat Oct 08 2016 21:09:35 GMT+0900 (JST),x=-1, y=0, z=0

Sat Oct 08 2016 21:09:36 GMT+0900 (JST),x=-1, y=0, z=0

垂直

水平

垂直

垂直の時は x = -1、水平の時は z = 1 になるらしい!(理屈は不明)

Page 51: AWS歴2週間で IoT に挑戦してみた。

Copyright © 2016 AGREX INC. All rights reserved. 51

実装

SensorTag から1秒毎に送られてくる加速度を監視し、

状態が変化したら以下のメッセージを AWS IoT に publish する。

加速度(x)が、-1になった場合 →「鍵が開いたよ!」

加速度(z)が、1になった場合 →「鍵が締まったよ!」

両面テープでSensorTagを貼付け(雑)

※シリコンケースは外してます。

Page 52: AWS歴2週間で IoT に挑戦してみた。

Copyright © 2016 AGREX INC. All rights reserved. 52

実装

UNLOCK

LOCK施錠してみる。

Page 53: AWS歴2週間で IoT に挑戦してみた。

Copyright © 2016 AGREX INC. All rights reserved. 53

実装

UNLOCK

LOCK

メールが来た!

Page 54: AWS歴2週間で IoT に挑戦してみた。

Copyright © 2016 AGREX INC. All rights reserved. 54

実装

UNLOCK

LOCK

これで安心して外出できるように・・・

Page 55: AWS歴2週間で IoT に挑戦してみた。

Copyright © 2016 AGREX INC. All rights reserved. 55

AWS IoT を使ってみての感想

AWS周りの設定は簡単。

デバイス→AWS IoT のデータ送信も簡単。

もうちょっと AWS のサービスを組み合わせて使いたい。

センサーから取得したデータをどう扱うかがキモ。

※今回のネタ作りにかかった時間の半分以上はココ・・・。

Page 56: AWS歴2週間で IoT に挑戦してみた。

Copyright © 2016 AGREX INC. All rights reserved. 56

AWS IoT を使ってみての感想

アイディア次第で色々できそう

センサーのデータを検知できなくなったら通知

→自転車の盗難通知(カメラモジュールも使うといいかも。)

センサーのデータを検知できるようになったら通知

→こども(鍵っ子)の帰宅通知

光センサーの利用

→遠方の実家の両親の見守り(冷蔵庫の開閉)

Page 57: AWS歴2週間で IoT に挑戦してみた。

Copyright © 2016 AGREX INC. All rights reserved. 57

AWS IoT を使ってみての感想

意外とかんたんなので、気軽に IoT してみましょう!

Page 58: AWS歴2週間で IoT に挑戦してみた。

THANK YOU