JAWS-UG IoT専門支部「事例で学ぶIoT Analytics」
害獣対策へのIoT Analytics応用事例
(2) IoT Analyticsによる構築事例
2020年7月28日
株式会社グリーンノート 立石 彰
自己紹介
2020/07/28 ©2020 Greennote Inc. All Right Reserved. 1
略歴
 氏名
 立石 彰 (たていし あきら)
 高知県高知市生まれ 55歳
 経歴
 国内大手化学メーカーにて有機材料の開発に従事
高分子開発の傍ら社内情報化プロジェクト等を担当
 米国グローバル企業の日本研究拠点立ち上げに参加
材料研究グループ長などを歴任
国内SIer買収に伴い本社からの派遣として出向
1994年に某大手の社内電子メールをInternetに接続
 精密機器メーカーにて導電性樹脂、光重合開始剤等の
開発のほか、半導体センサー事業の立ち上げを主導
2011年以降はセンシング、IoTシステム開発に移行
 2018年8月 株式会社グリーンノート設立
 好きなAWSサービス
 IoT関連全般
2020/1/13
IoT Analyticsに至る道程
如何にして私はIoT Analyticsにたどり着いたか
2020/07/28 ©2020 Greennote Inc. All Right Reserved. 3
1990年(今で言う)IoTとの出会い
2020/07/28 ©2020 Greennote Inc. All Right Reserved. 4
蒸留塔の能力が変動する
データを集めて解析すれば良いだろう
投資してデータを集めた
何も分からなかった
担当者の首を繋いだのは
何だったか?
30年経っても
IoTあるある!
2014年 オンプレ → オンライン
2020/07/28 ©2020 Greennote Inc. All Right Reserved. 5
受信機
受信機
受信機
受信機
集約
受信機
受信機
Wi-Fi Mesh
センサー
センサー
3G
ルーター
F/W
社内PC
社内Network
2015年 オンライン → クラウド
2020/07/28 ©2020 Greennote Inc. All Right Reserved. 6
RasPi受信機
sleepi
3GPi
AC
Battery
センサー
受信機 AC
Battery
受信機 AC
Battery
受信機 AC
Battery
社内Network
F/W
2017年 AWS IoT Device Shadow
2020/07/28 ©2020 Greennote Inc. All Right Reserved. 7
Hue(満空表示)
STM429J + Magnet
STM429J + Magnet
STM429J + Magnet
STM429J + Magnet
ETB-ILL
ゲートウェイ
(自社開発)
USB400J
EnOcean
AWS IoT
Device Shadowmqtts
混雑状況
算出
利用状況
レポート
2019年 害獣対策
2020/07/28 ©2020 Greennote Inc. All Right Reserved. 8
サーバ
わな
捕獲情報
他社環境
可視化とかAIとか
いい感じにしたい
課題の整理(というか予想)
 動物相手なので季節性変動が強いだろう
 1日でも早くデータ収集を開始したい
 スタートの段階で不明点が多すぎる(ITあるある)
 仕様変更、追加に最大限備える必要があるだろう
 フィールドが山中である
 おそらく、電源/通信状況は不安定であろう
 重複、欠落が頻発する可能性が高いだろう
 地形や対象により現地機器への要求が異なるだろう
 おそらく、現物合わせで逃げるケースが多いだろう
 データフォーマットその他の仕様が変わるだろう
 そして、こちらに変更が知らされない場合もあるだろう
 誤ったデータが届くケースもあるだろう
 そして、予告なく突然修正される場合もあるだろう
2020/07/28 ©2020 Greennote Inc. All Right Reserved. 9
AWS IoT Analytics 概念図
2020/07/28 ©2020 Greennote Inc. All Right Reserved. 10
Channel
Channel
storage
Pipeline
Activity
Activity
Activity
データベース
エンジン
AI
可視化
https://aws.amazon.com/jp/iot-analytics/
AWS IoT
rule engine
Datastore
Data set Data set
2019年 AWS IoT Analyticsへ
2020/07/28 ©2020 Greennote Inc. All Right Reserved. 11
サーバ
わな
捕獲情報
他社環境
ゲートウェイ
https
ブローカー
ルーターmqtts
IoT基盤
チャンネル
データストア
データセット データセット
全データ保存
パイプライン
処理①
処理②
処理③
分析可視化
データベース
エンジン
AI
可視化
エンドユーザ
ゲートウェイ
グリーンノート環境
デモンストレーション
(1) 実際にIoT Analytics環境を作ってみよう
2020/07/28 ©2020 Greennote Inc. All Right Reserved. 12
デモシステム構成図
2020/07/28 ©2020 Greennote Inc. All Right Reserved. 13
AWS IoT Greengrass Core
AWS Lambda
Long-lived function
Raspberry Pi Zero W
EnOcean
Receiver Local Resource
USB
IoT Analytics
チャンネル
データストア
データセット データセット
全データ保存
パイプライン
処理①
処理②
処理③
IoT Core
Subscription
IoT Analytics解説
さっき作ったものは何なのか
2020/07/28 ©2020 Greennote Inc. All Right Reserved. 14
1. トピックルールとチャネル
2020/07/28 ©2020 Greennote Inc. All Right Reserved. 15
Channel
Channel
storage
AWS IoT
rule engine
import
SELECT *, timestamp() AS
timestamp FROM 'import'
ImportTopicRule:
Type: AWS::IoT::TopicRule
Properties:
TopicRulePayload:
Actions:
- IotAnalytics:
ChannelName: 'channel'
RoleArn: !GetAtt Role.Arn
CustomerManagedS3
ServiceManagedS3
入ってきたRAWデータをそのまま蓄積し、パイプラインに流す
期限の指定が可能
無期限/期限付き
1.1 投入できるデータ
2020/07/28 ©2020 Greennote Inc. All Right Reserved. 16
Channel
Channel
storage
AWS IoT
rule engine
import CustomerManagedS3
ServiceManagedS3
IoT Ruleエンジンが扱えるデータならOK(JSON or Binary)
Pipeline
Activity
Activity
Activity
パイプラインの2段目で
Lambda関数を呼び、
JSON化する必要あり
詳細は次のコーナーで
2. チャネルとパイプライン
2020/07/28 ©2020 Greennote Inc. All Right Reserved. 17
Channel
Pipeline
Activity
Activity
Activity
RAWデータを目的に応じた処理パイプラインに流す
iotAnalyticsPipeline:
Type: AWS::IoTAnalytics::Pipeline
Properties:
PipelineName: 'PipelineName'
PipelineActivities:
- Channel:
ChannelName: !Ref Channel
Name: 'channel_01'
Next: 'Attributes_01'
- AddAttributes:
Attributes:
{"gw.battery": "battery"}
Name: 'Attributes_01'
Next: 'Datastore_01'
- Datastore:
Name: 'Datastore_01'
DatastoreName: ’DatastoreName’
Data Store
PipelinePipeline
Data
Store
Data
Store
2.1 利用可能なアクティビティ
2020/07/28 ©2020 Greennote Inc. All Right Reserved. 18
Channel activity
Datastore activity
 Filter activity
 属性値によりメッセージをフィルタリング
 DeviceRegistryEnrich activity
 IoT Coreのレジストリをコピーする
 元メッセージ内にThing Nameが必要
 DeviceShadowEnrich activity
 デバイスシャドウの内容をコピーする
 元メッセージ内にThing Nameが必要
 Math activity
 数式に基づいて属性値を変換
 対数、三角関数、整数変換など21種類
 AWS Lambda activity
 Lambda関数を呼び出して結果を受け取る
 AddAttributes activity
 アトリビュート(属性)を追加
 ルートレベルに属性をコピー
 RemoveAttributes activity
 アトリビュートを追加
 AddAttributesの後始末
 SelectAttributes activity
 選択されたアトリビュートのみ出力
 出力先はルートのみ
最初は必ずChannel activity
最後は必ずDatastore activity
Consoleから作成する場合は
ここだけしか見えない
2.2 パイプラインの再実行
2020/07/28 ©2020 Greennote Inc. All Right Reserved. 19
パイプラインは再実行が可能
Channel
Pipeline
Activity
Activity
Activity
Data Store
Channel
storage
AWS IoT
rule engine
通常時
ルールエンジンによりチャネルストレージが更新
続いてパイプラインが実行
データストアには概ね最新データが溜まる
注)(1) 到達時間の保証は(多分)ない
(2) Lambdaが挟まるとバッチ実行になるかも
Channel
Pipeline
Activity
Activity
Activity
Data Store
Channel
storage
AWS IoT
rule engine
再実行時
パイプライン再実行
データストアの該当時間帯のデータが上書き
もちろん全期間の再計算も可能
開始時刻と終了時刻を指定
例えば元データに誤りがある時、
データ解釈用のLambdaを変更
注)新しいデータも変更後のパイプラインを
通ることに注意が必要
デモンストレーション
(2) パイプラインを修正してみよう
2020/07/28 ©2020 Greennote Inc. All Right Reserved. 20
2.3 バイナリデータの取り扱い
2020/07/28 ©2020 Greennote Inc. All Right Reserved. 21
Channel
Channel
storage
AWS IoT
rule engine
import CustomerManagedS3
ServiceManagedS3
パイプラインの2段目でJSON化する必要あり
Pipeline
Channel activity
Lambda activity
Datastore activity
パイプラインの2段目が
実質的な最初の処理
Activities
パイプラインの1段目は
常にChannel Actibity
JSONの世界
かつ、ルートレベルに配置
(必須ではないが強く推奨)
Lambdaアクティビティのみが
非JSONデータの受け取り可能
3. データストア
2020/07/28 ©2020 Greennote Inc. All Right Reserved. 22
Datastore
Pipeline
Activity
Activity
Activity
パイプラインから出力されたデータを保存するS3バケット
CustomerManagedS3
ServiceManagedS3
期限の指定が可能
無期限/期限付き
iotAnalyticsDatastore:
Type: AWS::IoTAnalytics::Datastore
Properties:
DatastoreName: 'Datastore'
DatastoreStorage:
ServiceManagedS3: {}
RetentionPeriod:
Unlimited: true
4. データストアとデータセット
2020/07/28 ©2020 Greennote Inc. All Right Reserved. 23
データストアから生成された処理済みデータ
iotAnalyticsDataset:
Type: AWS::IoTAnalytics::Dataset
Properties:
Actions:
- ActionName: "dataset_01"
QueryAction:
SqlQuery: 'SELECT …'
Filters: []
ContentDeliveryRules: []
DatasetName: 'dataset_01'
RetentionPeriod:
NumberOfDays: 365
Triggers:
- Schedule:
ScheduleExpression:
"cron(0 * * * ? *)"
Datastore
Data Set Data Set
データセットの生成方法
(アクション)を定義
データセットの本体は高速
検索向けの謎のストレージ
S3 Bucket IoT Event
必要に応じてS3バケット、
IoT Eventへの再出力可能
ContentDeliveryRules:
自動実行が可能
Triggers:
タイムラグを吸収可能
Filters:
4.1 SQL actionとContainer action
2020/07/28 ©2020 Greennote Inc. All Right Reserved. 24
データストア生成方法はSQL検索/コンテナ実行の2種類
SQLDataset:
Type: AWS::IoTAnalytics::Dataset
Properties:
DatasetName: 'dataset_sql'
Actions:
- ActionName: "dataset_01"
QueryAction:
SqlQuery:
'SELECT * FROM Datastore'
Filters: []
ContentDeliveryRules: []
RetentionPeriod:
NumberOfDays: 365
Triggers:
- Schedule:
ScheduleExpression:
"cron(0 * * * ? *)"
Datastore
Data Set Data Set
ContainerDataset:
Type: "AWS::IoTAnalytics::Dataset"
Properties:
DatasetName: 'dataset_container'
Actions:
- ActionName: "dataset_02"
ContainerAction:
Image: !Ref ContainerImage
ExecutionRoleArn: !Ref ERArn
ResourceConfiguration:
ComputeType: "ACU_1"
VolumeSizeInGB: 10
Triggers:
- Schedule:
ScheduleExpression:
"cron(0 12 * * ? *)"
データストア名をFROM句で指定し、
SQLで検索した結果がデータストアに
コンテナの実行結果がデータストアに
(今回は使わなかったので
詳細を調べられていません)
4.2 Data setのバージョニング
2020/07/28 ©2020 Greennote Inc. All Right Reserved. 25
生成されたデータセットはバージョン管理が可能
SQLDataset:
Type: AWS::IoTAnalytics::Dataset
Properties:
DatasetName: 'dataset_sql'
Actions:
- ActionName: "dataset_01"
QueryAction:
SqlQuery:
'SELECT * FROM Datastore'
Filters: []
ContentDeliveryRules: []
RetentionPeriod:
NumberOfDays: 365
Triggers:
- Schedule:
ScheduleExpression:
"cron(0 * * * ? *)"
VersioningConfiguration:
Unlimited: true
Datastore
Data Set
#1
Data Set
#1
全てのバージョンを保存することも、 保存するバージョン数の指定も可能
(バージョン管理無効化も可能)
SQLDataset:
Type: AWS::IoTAnalytics::Dataset
Properties:
DatasetName: 'dataset_sql'
Actions:
- ActionName: "dataset_01"
QueryAction:
SqlQuery:
'SELECT * FROM Datastore'
Filters: []
ContentDeliveryRules: []
RetentionPeriod:
NumberOfDays: 365
Triggers:
- Schedule:
ScheduleExpression:
"cron(0 * * * ? *)"
VersioningConfiguration:
MaxVersions: 1000
Data Set
#2
Data Set
#3
Data Set
#4
Data Set
#1000
Data Set
#1001
デモンストレーション
(3) データセットを作成してみよう
2020/07/28 ©2020 Greennote Inc. All Right Reserved. 26
5. 可視化 – QuickSightとの接続
2020/07/28 ©2020 Greennote Inc. All Right Reserved. 27
時間があればデモを!
6. AI連携 – SageMakerとの接続
2020/07/28 ©2020 Greennote Inc. All Right Reserved. 28
時間があればデモを!
7. デザインパターン
2020/07/28 ©2020 Greennote Inc. All Right Reserved. 29
用途に応じて様々なデザインが可能で、研究の余地あり
Channel
Pipeline
Activity
Activity
Activity
Datastore
Channel
Pipeline
Activity
Activity
Activity
Datastore
PipelinePipeline
Data-
store
Data-
store
Channel
Pipeline
Activity
Activity
Activity
Datastore
PipelinePipeline
Data set Data set
Data
set
Data
set
Data set
Data
set
Data
set
まとめ
2020/07/28 ©2020 Greennote Inc. All Right Reserved. 30
まとめ
害獣対策など、条件の厳しい現場から来るデータは
データが誤っていたり、誤りが突然修正されたり、
フォーマットが突然変更されたり、また元に戻ったり、
届かなかったり、いっぱい届いたりします。
かといって、全てが二度と取れない貴重なデータです。
IoT Analyticsのような柔軟なシステムを利用して
可能な限り早くデータ収集を始めましょう。
データを集めて可視化しただけでは何もわかりません。
もちろん可視化も重要(QuickSightなど活用しましょう)
データ活用できるよう、標準的な技術を習得しましょう。
 SageMakerに流し込めば、大概の既存技術を試せます
2020/07/28 ©2020 Greennote Inc. All Right Reserved. 31
ふろく・せんでん
 当社にご興味がありましたら、ぜひお問い合わせ下さい
 はやく「人材募集してます」といいたいです
 https://www.i-gnote.com
 AI自動運転カー学習キットも売っています
 GitHub Wiki
 https://github.com/greennote-inc/algyanjetbot/wiki
 NVIDIA公式サイトでも紹介中!
 https://www.nvidia.com/ja-jp/autonomous-machines/embedded-
systems/jetbot-ai-robot-kit/
 8月1日(土)にAI&ロボティクスのセミナーで講演します
 https://algyan.connpass.com/event/183331/
 デモンストレーションで使用した機器類
 EnOcean
 https://www.enocean.com/jp/
 EnOceanアライアンス
 https://www.enocean-alliance.org/ja/
2020/07/28 ©2020 Greennote Inc. All Right Reserved. 32
南西フォーラム『AIチャレンジ講座』
先端の事例から学ぶAIビジネスへの入り口
~実装に向かう、「選ばれるAI」とは?~
今、バズワード的に広がっているAI(人工知能)。現場の問題に対する「解決策」として、また、
新しいライフスタイルの創造を見据えた「革新的な機能や価値」として、AIは様々な分野での活用
について研究がなされ、そして、急速にビジネスの中に取り込まれています。
そこで、専門家や研究者をお招きする本講座では、ビジネスにおけるAIの本質や、AI研究の先
端の様相などを学び、ビジネスにおけるAIの実装を検討していきます。
令和元年11月25日(月) 講座1 AIビジネス概論
17:00~19:30 『デジタルトランスフォーメーションと自社のAI活用を考える』
講師: 立石 彰 氏
〔株式会社グリーンノート 代表取締役社長〕
対象者:AI活用検討企業、AIビジネス参入検討企業 など
令和元年12月4日(水) 講座2 AI社会実装①
15:00~17:00 『今更聞けないAI(機械学習)応用-組織のノウハウを機械学習で継承-』
講師: 小野田 崇 氏
〔青山学院大学 理工学部 経営システム工学科 教授/博士(工学)〕
対象者:モノづくり中小企業、生産性向上ソリューション提供メーカ(IoT関連)、現場改善支援者 など
令和元年12月16日(月) 講座3 AI社会実装②
15:00~17:00 『人工知能と人とのコラボレーション(自動作曲の事例含む)』
講師:大谷 紀子 氏
〔東京都市大学 メディア情報学部 情報システム学科教授/博士(情報理工学)〕
対象者:デザイン系クリエーター、IoTソリューション提供メーカ(IoT関連)、ロボット技術提供メーカ など
【会 場】さがみはら産業創造センター(SIC-2 Creation Lab.)6階 臨時会議室
【参 加 費】無料
【定 員】先着15名(定員に達し次第、募集を締め切ります)
【申込方法】FAXまたはホームページから
※ 本講座は単発でも受講可能です。
受講申し込み
[南西フォーラム『AIチャレンジ講座』]
送信先 FAX:042-770-9077
※ Webサイトからもお申込みいただけます。
貴社名
住十所
参加者 ( 部署・ 役職名)                             ( 氏名) 11/25 講座1 ( A I ビジネス概論)
( 電話)                         ( F A X ) 12/ 46 講座2 ( A I 社会実装①)
( E-m ail) 12/16 講座3 ( A I 社会実装②)
連絡先
ご希望の講座に「 〇」 を付けてく ださ い
※個人情報の取扱いについて ・ご記入いただいた個人情報は南西フォーラムに関する情報提供と参加者募集のご案内、
ご連絡に利用させていただきます。
※個人情報の取扱いについて ・個人情報は、取扱い目的以外に利用したり第三者に提供することはありません。
お問合わせ先:首都圏産業活性化フォーラム事務局(担当:片山・磯谷)
株式会社さがみはら産業創造センター 〒252-0131 神奈川県相模原市西橋本5-4-21
TEL:042-770-9119 / FAX:042-770-9077 / HP:https//nansei-forum.jp
©2020 Greennote Inc. All Right Reserved.2020/07/28 33

JAWS-UG IoT専門支部 講演資料 IoT Analyticsによる構築事例説明

  • 1.
    JAWS-UG IoT専門支部「事例で学ぶIoT Analytics」 害獣対策へのIoTAnalytics応用事例 (2) IoT Analyticsによる構築事例 2020年7月28日 株式会社グリーンノート 立石 彰
  • 2.
    自己紹介 2020/07/28 ©2020 GreennoteInc. All Right Reserved. 1
  • 3.
    略歴  氏名  立石彰 (たていし あきら)  高知県高知市生まれ 55歳  経歴  国内大手化学メーカーにて有機材料の開発に従事 高分子開発の傍ら社内情報化プロジェクト等を担当  米国グローバル企業の日本研究拠点立ち上げに参加 材料研究グループ長などを歴任 国内SIer買収に伴い本社からの派遣として出向 1994年に某大手の社内電子メールをInternetに接続  精密機器メーカーにて導電性樹脂、光重合開始剤等の 開発のほか、半導体センサー事業の立ち上げを主導 2011年以降はセンシング、IoTシステム開発に移行  2018年8月 株式会社グリーンノート設立  好きなAWSサービス  IoT関連全般 2020/1/13
  • 4.
  • 5.
    1990年(今で言う)IoTとの出会い 2020/07/28 ©2020 GreennoteInc. All Right Reserved. 4 蒸留塔の能力が変動する データを集めて解析すれば良いだろう 投資してデータを集めた 何も分からなかった 担当者の首を繋いだのは 何だったか? 30年経っても IoTあるある!
  • 6.
    2014年 オンプレ →オンライン 2020/07/28 ©2020 Greennote Inc. All Right Reserved. 5 受信機 受信機 受信機 受信機 集約 受信機 受信機 Wi-Fi Mesh センサー センサー 3G ルーター F/W 社内PC 社内Network
  • 7.
    2015年 オンライン →クラウド 2020/07/28 ©2020 Greennote Inc. All Right Reserved. 6 RasPi受信機 sleepi 3GPi AC Battery センサー 受信機 AC Battery 受信機 AC Battery 受信機 AC Battery 社内Network F/W
  • 8.
    2017年 AWS IoTDevice Shadow 2020/07/28 ©2020 Greennote Inc. All Right Reserved. 7 Hue(満空表示) STM429J + Magnet STM429J + Magnet STM429J + Magnet STM429J + Magnet ETB-ILL ゲートウェイ (自社開発) USB400J EnOcean AWS IoT Device Shadowmqtts 混雑状況 算出 利用状況 レポート
  • 9.
    2019年 害獣対策 2020/07/28 ©2020Greennote Inc. All Right Reserved. 8 サーバ わな 捕獲情報 他社環境 可視化とかAIとか いい感じにしたい
  • 10.
    課題の整理(というか予想)  動物相手なので季節性変動が強いだろう  1日でも早くデータ収集を開始したい スタートの段階で不明点が多すぎる(ITあるある)  仕様変更、追加に最大限備える必要があるだろう  フィールドが山中である  おそらく、電源/通信状況は不安定であろう  重複、欠落が頻発する可能性が高いだろう  地形や対象により現地機器への要求が異なるだろう  おそらく、現物合わせで逃げるケースが多いだろう  データフォーマットその他の仕様が変わるだろう  そして、こちらに変更が知らされない場合もあるだろう  誤ったデータが届くケースもあるだろう  そして、予告なく突然修正される場合もあるだろう 2020/07/28 ©2020 Greennote Inc. All Right Reserved. 9
  • 11.
    AWS IoT Analytics概念図 2020/07/28 ©2020 Greennote Inc. All Right Reserved. 10 Channel Channel storage Pipeline Activity Activity Activity データベース エンジン AI 可視化 https://aws.amazon.com/jp/iot-analytics/ AWS IoT rule engine Datastore Data set Data set
  • 12.
    2019年 AWS IoTAnalyticsへ 2020/07/28 ©2020 Greennote Inc. All Right Reserved. 11 サーバ わな 捕獲情報 他社環境 ゲートウェイ https ブローカー ルーターmqtts IoT基盤 チャンネル データストア データセット データセット 全データ保存 パイプライン 処理① 処理② 処理③ 分析可視化 データベース エンジン AI 可視化 エンドユーザ ゲートウェイ グリーンノート環境
  • 13.
  • 14.
    デモシステム構成図 2020/07/28 ©2020 GreennoteInc. All Right Reserved. 13 AWS IoT Greengrass Core AWS Lambda Long-lived function Raspberry Pi Zero W EnOcean Receiver Local Resource USB IoT Analytics チャンネル データストア データセット データセット 全データ保存 パイプライン 処理① 処理② 処理③ IoT Core Subscription
  • 15.
  • 16.
    1. トピックルールとチャネル 2020/07/28 ©2020Greennote Inc. All Right Reserved. 15 Channel Channel storage AWS IoT rule engine import SELECT *, timestamp() AS timestamp FROM 'import' ImportTopicRule: Type: AWS::IoT::TopicRule Properties: TopicRulePayload: Actions: - IotAnalytics: ChannelName: 'channel' RoleArn: !GetAtt Role.Arn CustomerManagedS3 ServiceManagedS3 入ってきたRAWデータをそのまま蓄積し、パイプラインに流す 期限の指定が可能 無期限/期限付き
  • 17.
    1.1 投入できるデータ 2020/07/28 ©2020Greennote Inc. All Right Reserved. 16 Channel Channel storage AWS IoT rule engine import CustomerManagedS3 ServiceManagedS3 IoT Ruleエンジンが扱えるデータならOK(JSON or Binary) Pipeline Activity Activity Activity パイプラインの2段目で Lambda関数を呼び、 JSON化する必要あり 詳細は次のコーナーで
  • 18.
    2. チャネルとパイプライン 2020/07/28 ©2020Greennote Inc. All Right Reserved. 17 Channel Pipeline Activity Activity Activity RAWデータを目的に応じた処理パイプラインに流す iotAnalyticsPipeline: Type: AWS::IoTAnalytics::Pipeline Properties: PipelineName: 'PipelineName' PipelineActivities: - Channel: ChannelName: !Ref Channel Name: 'channel_01' Next: 'Attributes_01' - AddAttributes: Attributes: {"gw.battery": "battery"} Name: 'Attributes_01' Next: 'Datastore_01' - Datastore: Name: 'Datastore_01' DatastoreName: ’DatastoreName’ Data Store PipelinePipeline Data Store Data Store
  • 19.
    2.1 利用可能なアクティビティ 2020/07/28 ©2020Greennote Inc. All Right Reserved. 18 Channel activity Datastore activity  Filter activity  属性値によりメッセージをフィルタリング  DeviceRegistryEnrich activity  IoT Coreのレジストリをコピーする  元メッセージ内にThing Nameが必要  DeviceShadowEnrich activity  デバイスシャドウの内容をコピーする  元メッセージ内にThing Nameが必要  Math activity  数式に基づいて属性値を変換  対数、三角関数、整数変換など21種類  AWS Lambda activity  Lambda関数を呼び出して結果を受け取る  AddAttributes activity  アトリビュート(属性)を追加  ルートレベルに属性をコピー  RemoveAttributes activity  アトリビュートを追加  AddAttributesの後始末  SelectAttributes activity  選択されたアトリビュートのみ出力  出力先はルートのみ 最初は必ずChannel activity 最後は必ずDatastore activity Consoleから作成する場合は ここだけしか見えない
  • 20.
    2.2 パイプラインの再実行 2020/07/28 ©2020Greennote Inc. All Right Reserved. 19 パイプラインは再実行が可能 Channel Pipeline Activity Activity Activity Data Store Channel storage AWS IoT rule engine 通常時 ルールエンジンによりチャネルストレージが更新 続いてパイプラインが実行 データストアには概ね最新データが溜まる 注)(1) 到達時間の保証は(多分)ない (2) Lambdaが挟まるとバッチ実行になるかも Channel Pipeline Activity Activity Activity Data Store Channel storage AWS IoT rule engine 再実行時 パイプライン再実行 データストアの該当時間帯のデータが上書き もちろん全期間の再計算も可能 開始時刻と終了時刻を指定 例えば元データに誤りがある時、 データ解釈用のLambdaを変更 注)新しいデータも変更後のパイプラインを 通ることに注意が必要
  • 21.
  • 22.
    2.3 バイナリデータの取り扱い 2020/07/28 ©2020Greennote Inc. All Right Reserved. 21 Channel Channel storage AWS IoT rule engine import CustomerManagedS3 ServiceManagedS3 パイプラインの2段目でJSON化する必要あり Pipeline Channel activity Lambda activity Datastore activity パイプラインの2段目が 実質的な最初の処理 Activities パイプラインの1段目は 常にChannel Actibity JSONの世界 かつ、ルートレベルに配置 (必須ではないが強く推奨) Lambdaアクティビティのみが 非JSONデータの受け取り可能
  • 23.
    3. データストア 2020/07/28 ©2020Greennote Inc. All Right Reserved. 22 Datastore Pipeline Activity Activity Activity パイプラインから出力されたデータを保存するS3バケット CustomerManagedS3 ServiceManagedS3 期限の指定が可能 無期限/期限付き iotAnalyticsDatastore: Type: AWS::IoTAnalytics::Datastore Properties: DatastoreName: 'Datastore' DatastoreStorage: ServiceManagedS3: {} RetentionPeriod: Unlimited: true
  • 24.
    4. データストアとデータセット 2020/07/28 ©2020Greennote Inc. All Right Reserved. 23 データストアから生成された処理済みデータ iotAnalyticsDataset: Type: AWS::IoTAnalytics::Dataset Properties: Actions: - ActionName: "dataset_01" QueryAction: SqlQuery: 'SELECT …' Filters: [] ContentDeliveryRules: [] DatasetName: 'dataset_01' RetentionPeriod: NumberOfDays: 365 Triggers: - Schedule: ScheduleExpression: "cron(0 * * * ? *)" Datastore Data Set Data Set データセットの生成方法 (アクション)を定義 データセットの本体は高速 検索向けの謎のストレージ S3 Bucket IoT Event 必要に応じてS3バケット、 IoT Eventへの再出力可能 ContentDeliveryRules: 自動実行が可能 Triggers: タイムラグを吸収可能 Filters:
  • 25.
    4.1 SQL actionとContaineraction 2020/07/28 ©2020 Greennote Inc. All Right Reserved. 24 データストア生成方法はSQL検索/コンテナ実行の2種類 SQLDataset: Type: AWS::IoTAnalytics::Dataset Properties: DatasetName: 'dataset_sql' Actions: - ActionName: "dataset_01" QueryAction: SqlQuery: 'SELECT * FROM Datastore' Filters: [] ContentDeliveryRules: [] RetentionPeriod: NumberOfDays: 365 Triggers: - Schedule: ScheduleExpression: "cron(0 * * * ? *)" Datastore Data Set Data Set ContainerDataset: Type: "AWS::IoTAnalytics::Dataset" Properties: DatasetName: 'dataset_container' Actions: - ActionName: "dataset_02" ContainerAction: Image: !Ref ContainerImage ExecutionRoleArn: !Ref ERArn ResourceConfiguration: ComputeType: "ACU_1" VolumeSizeInGB: 10 Triggers: - Schedule: ScheduleExpression: "cron(0 12 * * ? *)" データストア名をFROM句で指定し、 SQLで検索した結果がデータストアに コンテナの実行結果がデータストアに (今回は使わなかったので 詳細を調べられていません)
  • 26.
    4.2 Data setのバージョニング 2020/07/28©2020 Greennote Inc. All Right Reserved. 25 生成されたデータセットはバージョン管理が可能 SQLDataset: Type: AWS::IoTAnalytics::Dataset Properties: DatasetName: 'dataset_sql' Actions: - ActionName: "dataset_01" QueryAction: SqlQuery: 'SELECT * FROM Datastore' Filters: [] ContentDeliveryRules: [] RetentionPeriod: NumberOfDays: 365 Triggers: - Schedule: ScheduleExpression: "cron(0 * * * ? *)" VersioningConfiguration: Unlimited: true Datastore Data Set #1 Data Set #1 全てのバージョンを保存することも、 保存するバージョン数の指定も可能 (バージョン管理無効化も可能) SQLDataset: Type: AWS::IoTAnalytics::Dataset Properties: DatasetName: 'dataset_sql' Actions: - ActionName: "dataset_01" QueryAction: SqlQuery: 'SELECT * FROM Datastore' Filters: [] ContentDeliveryRules: [] RetentionPeriod: NumberOfDays: 365 Triggers: - Schedule: ScheduleExpression: "cron(0 * * * ? *)" VersioningConfiguration: MaxVersions: 1000 Data Set #2 Data Set #3 Data Set #4 Data Set #1000 Data Set #1001
  • 27.
  • 28.
    5. 可視化 –QuickSightとの接続 2020/07/28 ©2020 Greennote Inc. All Right Reserved. 27 時間があればデモを!
  • 29.
    6. AI連携 –SageMakerとの接続 2020/07/28 ©2020 Greennote Inc. All Right Reserved. 28 時間があればデモを!
  • 30.
    7. デザインパターン 2020/07/28 ©2020Greennote Inc. All Right Reserved. 29 用途に応じて様々なデザインが可能で、研究の余地あり Channel Pipeline Activity Activity Activity Datastore Channel Pipeline Activity Activity Activity Datastore PipelinePipeline Data- store Data- store Channel Pipeline Activity Activity Activity Datastore PipelinePipeline Data set Data set Data set Data set Data set Data set Data set
  • 31.
    まとめ 2020/07/28 ©2020 GreennoteInc. All Right Reserved. 30
  • 32.
    まとめ 害獣対策など、条件の厳しい現場から来るデータは データが誤っていたり、誤りが突然修正されたり、 フォーマットが突然変更されたり、また元に戻ったり、 届かなかったり、いっぱい届いたりします。 かといって、全てが二度と取れない貴重なデータです。 IoT Analyticsのような柔軟なシステムを利用して 可能な限り早くデータ収集を始めましょう。 データを集めて可視化しただけでは何もわかりません。 もちろん可視化も重要(QuickSightなど活用しましょう) データ活用できるよう、標準的な技術を習得しましょう。  SageMakerに流し込めば、大概の既存技術を試せます 2020/07/28©2020 Greennote Inc. All Right Reserved. 31
  • 33.
    ふろく・せんでん  当社にご興味がありましたら、ぜひお問い合わせ下さい  はやく「人材募集してます」といいたいです https://www.i-gnote.com  AI自動運転カー学習キットも売っています  GitHub Wiki  https://github.com/greennote-inc/algyanjetbot/wiki  NVIDIA公式サイトでも紹介中!  https://www.nvidia.com/ja-jp/autonomous-machines/embedded- systems/jetbot-ai-robot-kit/  8月1日(土)にAI&ロボティクスのセミナーで講演します  https://algyan.connpass.com/event/183331/  デモンストレーションで使用した機器類  EnOcean  https://www.enocean.com/jp/  EnOceanアライアンス  https://www.enocean-alliance.org/ja/ 2020/07/28 ©2020 Greennote Inc. All Right Reserved. 32 南西フォーラム『AIチャレンジ講座』 先端の事例から学ぶAIビジネスへの入り口 ~実装に向かう、「選ばれるAI」とは?~ 今、バズワード的に広がっているAI(人工知能)。現場の問題に対する「解決策」として、また、 新しいライフスタイルの創造を見据えた「革新的な機能や価値」として、AIは様々な分野での活用 について研究がなされ、そして、急速にビジネスの中に取り込まれています。 そこで、専門家や研究者をお招きする本講座では、ビジネスにおけるAIの本質や、AI研究の先 端の様相などを学び、ビジネスにおけるAIの実装を検討していきます。 令和元年11月25日(月) 講座1 AIビジネス概論 17:00~19:30 『デジタルトランスフォーメーションと自社のAI活用を考える』 講師: 立石 彰 氏 〔株式会社グリーンノート 代表取締役社長〕 対象者:AI活用検討企業、AIビジネス参入検討企業 など 令和元年12月4日(水) 講座2 AI社会実装① 15:00~17:00 『今更聞けないAI(機械学習)応用-組織のノウハウを機械学習で継承-』 講師: 小野田 崇 氏 〔青山学院大学 理工学部 経営システム工学科 教授/博士(工学)〕 対象者:モノづくり中小企業、生産性向上ソリューション提供メーカ(IoT関連)、現場改善支援者 など 令和元年12月16日(月) 講座3 AI社会実装② 15:00~17:00 『人工知能と人とのコラボレーション(自動作曲の事例含む)』 講師:大谷 紀子 氏 〔東京都市大学 メディア情報学部 情報システム学科教授/博士(情報理工学)〕 対象者:デザイン系クリエーター、IoTソリューション提供メーカ(IoT関連)、ロボット技術提供メーカ など 【会 場】さがみはら産業創造センター(SIC-2 Creation Lab.)6階 臨時会議室 【参 加 費】無料 【定 員】先着15名(定員に達し次第、募集を締め切ります) 【申込方法】FAXまたはホームページから ※ 本講座は単発でも受講可能です。 受講申し込み [南西フォーラム『AIチャレンジ講座』] 送信先 FAX:042-770-9077 ※ Webサイトからもお申込みいただけます。 貴社名 住十所 参加者 ( 部署・ 役職名)                             ( 氏名) 11/25 講座1 ( A I ビジネス概論) ( 電話)                         ( F A X ) 12/ 46 講座2 ( A I 社会実装①) ( E-m ail) 12/16 講座3 ( A I 社会実装②) 連絡先 ご希望の講座に「 〇」 を付けてく ださ い ※個人情報の取扱いについて ・ご記入いただいた個人情報は南西フォーラムに関する情報提供と参加者募集のご案内、 ご連絡に利用させていただきます。 ※個人情報の取扱いについて ・個人情報は、取扱い目的以外に利用したり第三者に提供することはありません。 お問合わせ先:首都圏産業活性化フォーラム事務局(担当:片山・磯谷) 株式会社さがみはら産業創造センター 〒252-0131 神奈川県相模原市西橋本5-4-21 TEL:042-770-9119 / FAX:042-770-9077 / HP:https//nansei-forum.jp
  • 34.
    ©2020 Greennote Inc.All Right Reserved.2020/07/28 33