Slide 1

Slide 1 text

2022/01 JAWS-UG 名古屋支部 IoTと位置情報系サービス てんこ盛り回 2023/01/26 JAWS-UG名古屋 高木@frommiddle1 1/92

Slide 2

Slide 2 text

今日のテーマの説明 • ここ最近のAWSアップデートを見ているとIoT、位置情報系のアップデート に力が入っているな、と感じます。 • サービスの中には特定の機器「車」に特化したものも登場しています。 • 製造業が根ずく愛知、名古屋でこの流れを扱わないわけにはいかないです。 • というわけで、本日はIoT、位置情報系サービスを俯瞰してみるとともに その一部にDive Deepしてみたいと思います。 #jawsug #jawsug_Nagoya #コラボベースNAGOYA 2/92

Slide 3

Slide 3 text

資料に対する補助説明 • この資料ではいろいろなドメインの話を行ったり来たりします。 • 例えば、AWSにおける知識や、車ドメインの知識などに言及していきます。 • そのため、何の話をしているかわかりにくくなる可能性があるため資料右上にアイコンを 付与しています。(このページは例としてAWSのアイコンを付けています) • アイコンでおおよそ何のドメインの話をしているかをつかんでいただけると思います。 • しかし、ドメインが異なるとつらいかもしれません... • 興味がない場合や話がよくわからない時間はTwitterに写真投稿なんかをして時間をつぶして いただけたらと思います。フィードバックもあると嬉しいです。 例1)Xページ目がよくわからん。 例2)Yページ目はそこそこためになった。 例3)JAWSセーターほしい etc… #jawsug #jawsug_nagoya #コラボベースNAGOYA 自動車のはなし AWSのはなし IT 一般的なIT技術のはなし デジタル地図のはなし Demo 何かしらを動かす予定です (進捗に依存します) #jawsug #jawsug_Nagoya #コラボベースNAGOYA 資料にかぶらない限り ハッシュタグをここに 記述しておきます。 3/92

Slide 4

Slide 4 text

始める前に • 少しアンケートを取らせてください • 初参加の方いますか? • 自動車産業のかたいますか? • IoT Fleetwise に興味をもってお越しになられたかたはいますか? #jawsug #jawsug_Nagoya #コラボベースNAGOYA 4/92

Slide 5

Slide 5 text

今月の紹介できるサービス デバイスソフトウェア • FreeRTOS • AWS IoT ExpressLink • AWS IoT Greengrass コントロールサービス • AWS IoT Core • AWS IoT Device Management • AWS IoT Device Defender • AWS IoT FleetWise • AWS IoT RoboRunner • AWS IoT 1-Click 分析サービス • AWS IoT Analytics • AWS IoT Events • AWS IoT SiteWise • AWS IoT TwinMaker IoT サービス Amazon Location Service Amazon Neptune • Geospatial data as graph model Amplify • Amplify Geo RDS • Querying geospatial data Amazon DocumentDB • Querying geospatial data Amazon SageMaker • geospatial capabilities Amazon OpenSearch Service Amazon Redshift • Querying spatial data #jawsug #jawsug_Nagoya #コラボベースNAGOYA 5/92

Slide 6

Slide 6 text

今月の紹介できるサービス デバイスソフトウェア • FreeRTOS • AWS IoT ExpressLink • AWS IoT Greengrass コントロールサービス • AWS IoT Core • AWS IoT Device Management • AWS IoT Device Defender • AWS IoT FleetWise • AWS IoT RoboRunner • AWS IoT 1-Click 分析サービス • AWS IoT Analytics • AWS IoT Events • AWS IoT SiteWise • AWS IoT TwinMaker IoT サービス Amazon Location Service Amazon Neptune • Geospatial data as graph model Amplify • Amplify Geo RDS • Querying geospatial data Amazon DocumentDB • Querying geospatial data Amazon SageMaker • geospatial capabilities Amazon OpenSearch Service Amazon Redshift • Querying spatial data #jawsug #jawsug_Nagoya #コラボベースNAGOYA 風呂敷を広げすぎてしまいました。 DB系のサービスやサーチ系のサービスを期待し て来場された方、申し訳ありません。。。 Amazon Location Service は直感的に面白いサービスだと 思いますので、そちらにご期待ください。 6/92

Slide 7

Slide 7 text

目次 • 背景 • 目指す全体像 • AWS が提供しているIoT サービス(IoT Coreの簡単な説明) • 自動車業界の皆さんに伝えたい IoT Fleetwise の強力さ • 位置情報系ソリューションAmazon Location Service の紹介 • これまで説明したものを連動させたデモンストレーション #jawsug #jawsug_Nagoya #コラボベースNAGOYA 7/92

Slide 8

Slide 8 text

目次 • 背景 • 目指す全体像 • AWS が提供しているIoT サービス(IoT Coreの簡単な説明) • 自動車業界の皆さんに伝えたい IoT Fleetwise の強力さ • 位置情報系ソリューションAmazon Location Service の紹介 • これまで説明したものを連動させたデモンストレーション #jawsug #jawsug_Nagoya #コラボベースNAGOYA 8/92

Slide 9

Slide 9 text

背景 • 自動車業界では「CASE」と呼ばれるキーワードが登場しています。 これは以下の要素の頭文字をつなぎ合わせて作られた造語です。 Connected(コネクティッド) Autonomous / Automated(自動化、自立走行) Shared (シェアリング) Electric (電動化) • CASEの文脈では、自動車は一種のIoT機器としてとらえることができます。 • 一方で、AWSは昨今IoTデバイス向けのサービスを多くローンチしています。 • さらに、自動車からデータを収集するには自動車特有の課題が存在します。 • こういった特定領域の課題を解決するサービスもAWSから提供されています。 • これらの技術中心として簡易なサービスを実現するシナリオで説明します。 #jawsug #jawsug_Nagoya #コラボベースNAGOYA 9/92

Slide 10

Slide 10 text

目次 • 背景 • 目指す全体像 • AWS が提供しているIoT サービス(IoT Coreの簡単な説明) • 自動車業界の皆さんに伝えたい IoT Fleetwise の強力さ • 位置情報系ソリューションAmazon Location Service の紹介 • これまで説明したものを連動させたデモンストレーション #jawsug #jawsug_Nagoya #コラボベースNAGOYA 10/92

Slide 11

Slide 11 text

目指す全体像 Amazon EC2(車両シミュレーション) Battery cells BMS (Battery Management System) Battery cells CAN Bus CAN Driver AWS IoT FleetWise Edge Agent エッジデバイス(車載通信機器) 車両ネットワーク AWS IoT Core MQTT / TLS AWS IoT FleetWise Config Amazon Timestream AWS Lambda Amazon Location Service Vehicle engineer • 車両を模擬したEC2からIoT FleetWiseを通してデータ収集を行います。 • 収集したデータはAmazon Location Serviceを用いて可視化します。最後にデモします。 • 構成図は以下です。それぞれの要素は説明します。 AWS Cloud これらのAWSサービスと車や 位置情報に関するドメイン知識 を紹介していきます。 1 2 3 #jawsug #jawsug_Nagoya #コラボベースNAGOYA 11/92

Slide 12

Slide 12 text

目次 • 背景 • 目指す全体像 • AWS が提供しているIoT サービス(IoT Coreの簡単な説明) • 自動車業界の皆さんに伝えたい IoT Fleetwise の強力さ • 位置情報系ソリューションAmazon Location Service の紹介 • これまで説明したものを連動させたデモンストレーション #jawsug #jawsug_Nagoya #コラボベースNAGOYA 12/92

Slide 13

Slide 13 text

今月の紹介できるサービス デバイスソフトウェア • FreeRTOS • AWS IoT ExpressLink • AWS IoT Greengrass コントロールサービス • AWS IoT Core • AWS IoT Device Management • AWS IoT Device Defender • AWS IoT FleetWise • AWS IoT RoboRunner • AWS IoT 1-Click 分析サービス • AWS IoT Analytics • AWS IoT Events • AWS IoT SiteWise • AWS IoT TwinMaker IoT サービス Amazon Location Service Amazon Neptune • Geospatial data as graph model Amplify • Amplify Geo RDS • Querying geospatial data Amazon DocumentDB • Querying geospatial data Amazon SageMaker • geospatial capabilities Amazon OpenSearch Service Amazon Redshift • Querying spatial data #jawsug #jawsug_Nagoya #コラボベースNAGOYA 13/92

Slide 14

Slide 14 text

AWS IoT サービス https://docs.aws.amazon.com/iot/latest/developerguide/aws-iot-how-it-works.html より • 本サービスはIoTデバイスを他のデバイスやAWSクラウドサービスに接続するための機能を提供します。 • 中心となるサービスはIoT Coreで、デバイスソフト群と、データサービス群の中間に位置しています。 #jawsug #jawsug_Nagoya #コラボベースNAGOYA 14/92

Slide 15

Slide 15 text

AWS IoT サービス • AWS IoT ベースのソリューションに統合するのに役立つデバイスソフトウェアを提供します • IoTデバイス同士および AWS クラウドサービスに接続するクラウドサービスを提供します • AWS が提供する他のクラウドサービスにデバイスを接続できます AWS IoT Device SDKs AWS IoT Core for LoRaWAN AWS Command Line Interface AWS IoT API AWS SDK IoT Device AWS Lambda Amazon Location Service Amazon DynamoDB and so on ...... AWS IoT Core AWS IoT Device Defender AWS IoT Greengrass IoT サービス AWSに対する Interface AWS MQTT IoT rule #jawsug #jawsug_Nagoya #コラボベースNAGOYA 15/92

Slide 16

Slide 16 text

AWS IoT Core の主要な機能 • AWS IoT サービスの中核をなすサービス • 主だった機能として※以下が提供されている 提供する機能 機能を構成する技術名群 モノを管理するためのレジストリ モノの作成、モノのタイプ、 モノの静的|動的グループ IoT 機器向けの軽量通信プロトコル MQTT プロトコルのBroker モノの認証と認可 サーバ/クライアント証明書 IoT Core Policy Authorizing direct calls (ADC) モニタリング IoT に関わるログの記録 AWSの他サービスとの連携 Rules … … ※.Alexa との統合機能など、ほかにも多くの機能が提供されています。 #jawsug #jawsug_Nagoya #コラボベースNAGOYA 16/92

Slide 17

Slide 17 text

AWS IoT Core の主要な機能 • AWS IoT サービスの中核をなすサービス • 主だった機能として※以下が提供されている 提供する機能 機能を構成する技術名群 モノを管理するためのレジストリ モノの作成、モノのタイプ、 モノの静的|動的グループ IoT 機器向けの軽量通信プロトコル MQTT プロトコルのBroker モノの認証と認可 サーバ/クライアント証明書 IoT Core Policy Authorizing direct calls (ADC) モニタリング IoT に関わるログの記録 AWSの他サービスとの連携 Rules … … ※.Alexa との統合機能など、ほかにも多くの機能が提供されています。 #jawsug #jawsug_Nagoya #コラボベースNAGOYA 17/92

Slide 18

Slide 18 text

モノを管理するためのレジストリ • 現実世界の物理的な物をクラウド上で「モノ」として表現して管理が可能です。 • 「モノ」に属性を割り当てたり、グルーピングすることが可能です。 • グループに対してIoT機器としての設定(Ex.認可)を行うことが可能です。 IoT thing car IoT thing car IoT thing car IoT Core AWS上でモノ として表現 AWS上でモノ として表現 AWS上でモノ として表現 Group1 Group2 IoT policy1 IoT policy2 Topic : Cars/Group2 に対して Publish / Subscribeを許可 Topic : Cars/Group1 に対して Publish / Subscribeを許可 #jawsug #jawsug_Nagoya #コラボベースNAGOYA 18/92

Slide 19

Slide 19 text

モノを管理するためのレジストリ(モノ) • AWS上で現実世界の物理的な物に対する論理的な表現をリソースとして作成できます。 5つのモノがアカウント下で 管理されている。 19/92

Slide 20

Slide 20 text

モノを管理するためのレジストリ(モノのタイプ) • AWS上のモノに対する属性を定義することができます。 • 属性はKey, Value で表現されて、レジストリ内で特定条件に合うものを検索する際に利用できます。 • 下の例ではThing01~03に対してThingType_Aを定義して付与しています。 モノは ・location(設置場所) ・model(年式) ・owner(所有者) を共通的に属性として 持つと想定して定義 20/92

Slide 21

Slide 21 text

モノを管理するためのレジストリ(モノのタイプ) • Thing1に関するモノのタイプの具体例が以下 21/92

Slide 22

Slide 22 text

モノを管理するためのレジストリ(モノのタイプ) • Thing Type の何がうれしいか? → 属性に対する値で検索が可能となる。 Thing01 location : Nagoya model : 2023 owner : Takaki Thing02 location :Yokohama Model : 2022 Owner : Takaki Thing03 location : Tokyo model : 2022 owner : Takaki 2023年式 2022年式 実際に検索してみた結果 事前に属性を定義して、Valueを割り当てておくことで管理が楽になる。 22/92

Slide 23

Slide 23 text

モノを管理するためのレジストリ(モノのグループ) • モノの静的 / 動的グループを定義してモノを管理することができます • ここではモノの静的グループを紹介します。 • モノの静的グループは階層構造を定義することができ、主にアクセス許可 制御を体系立てて実現するのに利用できる。 ThingGroup01 1 ThingGroup02 1 ThingGroup03 1 Thing02 Thing03 Thing04 Thing01 ThingGroup01 に対するポリシーが 適用される ThingGroup01 と ThingGroup03 に対するポリシーが 適用される ThingGroup01 と ThingGroup02 に対するポリシーが 適用される 23/92

Slide 24

Slide 24 text

IoT 機器向けの軽量通信プロトコル • AWS IoT ベースのソリューションに統合するのに役立つデバイスソフトウェアを提供します • IoTデバイス同士および AWS クラウドサービスに接続するクラウドサービスを提供します • AWS が提供する他のクラウドサービスにデバイスを接続できます AWS IoT Device SDKs AWS IoT Core for LoRaWAN AWS Command Line Interface AWS IoT API AWS SDK IoT Device AWS Lambda Amazon Location Service Amazon DynamoDB and so on ...... AWS IoT Core AWS IoT Device Defender AWS IoT Greengrass IoT サービス AWSに対する Interface AWS MQTT IoT rule 24/92

Slide 25

Slide 25 text

MQTTプロトコル(少し寄り道) • OASISと呼ばれる団体が標準化を行っている通信プロトコル。 • 現行の最新バージョンはversion 5.0 で、2019年03月07日に公開された。(AWSサポート済み) • Publish/Subscribe のメッセージングモデルでデータを送受信する。 • Publisher / Subscriber は Message Broker を介して Topic を指定し、通信する。 • HTTPに比べて通信帯域が小さく済むのでIoT機器のメッセージなどの送信に利用される (HTTP ヘッダ 50Byte~、MQTTヘッダ2Byte~) Publisher 1 Publisher 2 AWS IoT Core Message Broker Subscriber 1 Subscriber 2 MQTTプロトコル On AWS room1 room2 + はトピックに対するワイルドカード IT IoT 機器向けの軽量通信プロトコル 25/92

Slide 26

Slide 26 text

IoT 機器向けの軽量通信プロトコル • マネコンで動作確認ができるので実際にやってみる。 タブ1 任意のトピックを指定 (jawsub/nagoya) ① ② ③ ブラウザ タブ1 ブラウザ タブ2 ブローカ (IoT Core) subscriber publisher subscribe publish Demo 26/92

Slide 27

Slide 27 text

IoT 機器向けの軽量通信プロトコル • マネコンで動作確認ができるので実際にやってみる。 タブ2 サブスクライバと同じ トピックを指定 (jawsub/nagoya) ブラウザ タブ1 ブラウザ タブ2 ブローカ (IoT Core) subscriber publisher subscribe publish Demo 27/92

Slide 28

Slide 28 text

IoT 機器向けの軽量通信プロトコル • マネコンで動作確認ができるので実際にやってみる。 タブ2 サブスクライバと同じ トピックを指定 (jawsub/nagoya) ブラウザ タブ1 ブラウザ タブ2 ブローカ (IoT Core) subscriber publisher subscribe publish Demo 28/92

Slide 29

Slide 29 text

IoT 機器向けの軽量通信プロトコル • マネコンで動作確認ができるので実際にやってみる。 タブ1 ブラウザ タブ1 ブラウザ タブ2 ブローカ (IoT Core) subscriber publisher subscribe publish サブスクライバでパブ リッシャからのメッ セージを受信できた Demo 29/92

Slide 30

Slide 30 text

モノの認証と認可(デバイス証明書) • IoT Core ではデバイスの認証情報とIoTポリシー(IAMとは別物)を管理することができます。 • 認証情報として、 X.509クライアント証明書やCognito Identityなどを利用することが可能です。 ここではAWSが発行するX.509クライアント証明書の扱いを紹介します。 • AWS上でX.509証明書を発行し、モノに紐づけることが可能です。また、発行した証明書に対 してIoTポリシーを紐づけることが可能です。 Thing01 Cert01 デバイス証明書1 秘密鍵1 Thing02 Cert02 デバイス証明書2 秘密鍵2 … この資料が非常に詳しいので、詳細はこちらに譲ります… https://pages.awscloud.com/rs/112-TZM-766/images/EV_iot-deepdive-aws2_Sep-2020.pdf 作成数に上限なし。 デバイスごとに管理することで 認証情報漏洩時にも素早く個別 対応することができる。 (IAMユーザだと5000) 30/92

Slide 31

Slide 31 text

モノの認証と認可(IoTポリシー) • IoT ポリシーを通してAWS IoT の機能を利用するための認可情報の設定をすることが可能です。 • 書式の基本はIAMのようにAction, Resource, Effect で規定します。 { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["iot:Connect"], "Resource": [ "arn:aws:iot:us-east-1:123451234510:client/${iot:ClientId}" ] }, { "Effect": "Allow", "Action": ["iot:Publish"], "Resource": [ "arn:aws:iot:us-east-1:123451234510:topic/my/topic/${iot:ClientId}" ] } ] } ClientIDで示すデバ イスに接続できて IoT Policy の例 topic/my/topic/ClientID で示されるトピックにメッセージを 発行することができる。 31/92

Slide 32

Slide 32 text

モノの認証と認可(ADC) • デバイス証明を用いて、IoT Coreの認証を経ることによりIAMを通じてAWSリソース操作を行 うことが可能で、この機構をAuthorizing Direct Calls と呼びます • IAMのアクセスキーに頼らず、デバイス証明書のみでAWSのAPIコールが可能になります。 #jawsug #jawsug_Nagoya #コラボベースNAGOYA 32/92

Slide 33

Slide 33 text

目次 • 背景 • 目指す全体像 • AWS が提供しているIoT サービス(IoT Coreの簡単な説明) • 自動車業界の皆さんに伝えたい IoT Fleetwise の強力さ • 位置情報系ソリューションAmazon Location Service の紹介 • これまで説明したものを連動させたデモンストレーション #jawsug #jawsug_Nagoya #コラボベースNAGOYA 33/92

Slide 34

Slide 34 text

今月の紹介できるサービス デバイスソフトウェア • FreeRTOS • AWS IoT ExpressLink • AWS IoT Greengrass コントロールサービス • AWS IoT Core • AWS IoT Device Management • AWS IoT Device Defender • AWS IoT FleetWise • AWS IoT RoboRunner • AWS IoT 1-Click 分析サービス • AWS IoT Analytics • AWS IoT Events • AWS IoT SiteWise • AWS IoT TwinMaker IoT サービス Amazon Location Service Amazon Neptune • Geospatial data as graph model Amplify • Amplify Geo RDS • Querying geospatial data Amazon DocumentDB • Querying geospatial data Amazon SageMaker • geospatial capabilities Amazon OpenSearch Service Amazon Redshift • Querying spatial data #jawsug #jawsug_Nagoya #コラボベースNAGOYA 34/92

Slide 35

Slide 35 text

目指す全体像(再掲) Amazon EC2(車両シミュレーション) Battery cells BMS (Battery Management System) Battery cells CAN Bus CAN Driver AWS IoT FleetWise Edge Agent エッジデバイス(車載通信機器) 車両ネットワーク AWS IoT Core MQTT / TLS AWS IoT FleetWise Config Amazon Timestream AWS Lambda Amazon Location Service Vehicle engineer • 車両を模擬したEC2からIoT FleetWiseを通してデータ収集を行います。 • 収集したデータはAmazon Location Serviceを用いて可視化します。最後にデモします。 • 構成図は以下です。それぞれの要素は説明します。 AWS Cloud これらのAWSサービスと車や 位置情報に関するドメイン知識 を紹介していきます。 1 2 3 ここまででIoT Coreでは ・モノの管理(レジストリ) ・MQTTでの通信 ・デバイスの認証認可 を扱えることを紹介した。 #jawsug #jawsug_Nagoya #コラボベースNAGOYA 35/92

Slide 36

Slide 36 text

AWS Fleetwise https://docs.aws.amazon.com/iot/latest/developerguide/aws-iot-how-it-works.html より • IoT FleetwiseはIoT サービスのData serviceに位置しており、車のデータを扱います。 • アーキテクチャには図示されていませんが、DeviceSoftwareとしてのエッジエージェントと連動します。 #jawsug #jawsug_Nagoya #コラボベースNAGOYA 36/92

Slide 37

Slide 37 text

目指す全体像(再掲) Amazon EC2(車両シミュレーション) Battery cells BMS (Battery Management System) Battery cells CAN Bus CAN Driver AWS IoT FleetWise Edge Agent エッジデバイス(車載通信機器) 車両ネットワーク AWS IoT Core MQTT / TLS AWS IoT FleetWise Config Amazon Timestream AWS Lambda Amazon Location Service Vehicle engineer • 車両を模擬したEC2からIoT FleetWiseを通してデータ収集を行います。 • 収集したデータはAmazon Location Serviceを用いて可視化します。最後にデモします。 • 構成図は以下です。それぞれの要素は説明します。 AWS Cloud これらのAWSサービスと車や 位置情報に関するドメイン知識 を紹介していきます。 1 2 3 ここで登場するCANに対す るソリューションを Fleetwiseは提供している。 ここで登場するCANに対す るソリューションを Fleetwiseは提供している。 #jawsug #jawsug_Nagoya #コラボベースNAGOYA 37/92

Slide 38

Slide 38 text

CAN (Control Area Network) • 車両の中の通信は一般的なTCP/IPプロトコルスイーツとは別技術で構成されています。 • その代表格がCANプロトコルです。 • このプロトコルはISO11898で規格化され、自動車LANの標準プロトコルに位置づけられています。 #自動車以外の産業用とでも広く使われています。 • 物理層から規格化されているのですが、ここでは詳細は取り扱わずデータフレームに着目します。 https://sunnygiken.jp/product/can-tool/aboutcan/ より • 上記がCANのデータフレームの仕様です。着目したいのはData Fieldです。 • Data Fieldには物理的に意味のある情報が格納されて車両内が流れています。 • しかし、この領域に対する意味解釈は自動車メーカーや車種に依存して異なります。 • つまりこのフィールドの意味解釈を実施できなければ、意味のある形でのデータ抽出が行えません。 • IoT Fleetwiseでは上記に対する標準化の機構を提供しています。 #jawsug #jawsug_Nagoya #コラボベースNAGOYA 38/92

Slide 39

Slide 39 text

AWS Fleetwise (概念図) • この図では大まかなFleetwiseの要素と関係を示します。 • それぞれの要素を順番に紹介します。 Signal Catalog • signal01 • signal02 • signal03 • signal04 • …. Vehicle model 01 Vehicle model 02 subset subset Decoder01 Decoder02 associate associate vehicle01 vehicle02 Fleet キャンペーン associate ③データ収集の諸条件 を設定する。 例1.閾値を超えたら 例2.いつまで 例3.どんな周期で ①車両モデル定義して、 車両データへの標準的な アクセス機構を提供する。 ②車両をグループ(Fleet) にまとめてキャンペーンの 適用対象とする。 #jawsug #jawsug_Nagoya #コラボベースNAGOYA 39/92

Slide 40

Slide 40 text

AWS Fleetwise • まず、車両データ表現に関する説明を行います。 • IoT Fleetwise では 車両データアクセスの標準化するために3つの概念を導入しています。 1. シグナルカタログ(Signal Catalog) Vehicle Signal Specification と呼ばれる形式で車両内の信号を表現して一覧化したもの。 2. 車両モデル(vehicle model or vehicle manifest) シグナルカタログからシグナルを選択して、その車両内に存在するデータを表現したもの。 3. デコーダーマニフェスト(Decoder manifest) 車両モデルに対して、シグナル抽出のためにCANデータフレームをどのように解釈するかを 記述したもの。 Signal Catalog • signal01 • signal02 • signal03 • signal04 • …. Vehicle model 01 Vehicle model 02 subset subset Decoder01 Decoder02 associate associate 3つの概念の関係性 #jawsug #jawsug_Nagoya #コラボベースNAGOYA 40/92

Slide 41

Slide 41 text

AWS Fleetwise (Signal Catalog) • Signal CatalogはCOVESA(コビーサ)と呼ばれる団体が規格化したVehicle Signal Specification (VSS) という規格を用いて、車両のデータを階層化して表現するためのデータです。 #COVESAのメンバーを確認してみると、BMW(独), BOSH (独), Ford(米)となっている。 #日系ではDenso, RENESASがCore Memberにはなっているが、本規格は日本ではなじみがない #ものかもしれない。 https://www.covesa.global/members より #jawsug #jawsug_Nagoya #コラボベースNAGOYA 41/92

Slide 42

Slide 42 text

AWS Fleetwise(Signal Catalog) • 車を階層化するとは? →下記の図のように車両を木構造で表して記述する。 • BRANCH以外が意味のある値を表現する。 https://covesa.github.io/vehicle_signal_specification/introduction/overview/ より #jawsug #jawsug_Nagoya #コラボベースNAGOYA 42/92

Slide 43

Slide 43 text

AWS Fleetwise(Signal Catalog) • 一例としては以下のようなイメージになる { "description": "description", "name": "main-signal-catalog", "nodes": [ { "branch": { "description": "GPS System", "fullyQualifiedName": "GPS" } }, { "branch": { "description": "GPS System position", "fullyQualifiedName": "GPS.Position" } }, { "sensor": { "dataType": "DOUBLE", "description": "GPS System position Latitude", "fullyQualifiedName": "GPS.Position.Latitude", "max": 180.0, "min": -180.0, "unit": "degree" } }, { "sensor": { "dataType": "DOUBLE", "description": "GPS System position Longitude", "fullyQualifiedName": "GPS.Position.Longitude", "max": 180.0, "min": -180.0, "unit": "degree" } } ] } vehicle GPS Position Latitude Longitude 表現の論理構造 ファイル化 #jawsug #jawsug_Nagoya #コラボベースNAGOYA 43/92

Slide 44

Slide 44 text

AWS Fleetwise(vehicle model ) • Signal Catalog の Signalから選択して、対象の車両内を流れるデータ一覧を表現する。 { "name": "blog-modelmanifest-01", "signalCatalogArn": "arn:aws:iotfleetwise:${AWS_REGION}:${AWS_ACCOUNT_ID}:signal-catalog/main-signal-catalog", "description": "Sample vehicle model 1", "nodes": [ "EVBatterySample.Drivetrain.ActualVehicleSpeed", "EVBatterySample.BMS.BatteryPack01.BatteryPackVoltagePlus", "EVBatterySample.BMS.BatteryPack01.BatteryPackVoltageMinus", "EVBatterySample.BMS.BatteryPack01.Cell001.CellTemperature", "EVBatterySample.BMS.Relay01.Status", "EVBatterySample.BMS.Relay01.StatusQualifier_enum", "EVBatterySample.BMS.BatteryPack01.ShuntPlusCurrent_a", "EVBatterySample.BMS.BatteryPack01.ShuntPlusCurrentQualifier_enum", "EVBatterySample.BMS.BatteryPack01.ShuntMinusCurrent_a", "EVBatterySample.BMS.BatteryPack01.ShuntMinusCurrentQualifier_enum", "OBD.EngineSpeed", "VehicleVIN", "GPS.Meta.Accuracy", "GPS.Position.Latitude", "GPS.Position.Longitude" ] } vehicle model の例 #jawsug #jawsug_Nagoya #コラボベースNAGOYA 44/92

Slide 45

Slide 45 text

AWS Fleetwise(Decoder manifest) • 各車両モデルに含まれる各シグナルを車両を流れるCANデータフレームから抽出する方法を 記述する。 #自動車産業の言葉でいうと、CANのbitアサイン表を作成しクラウドに登録する { "name": "blog-decodermanifest-01", "modelManifestArn": "arn:aws:iotfleetwise:${AWS_REGION}:${AWS_ACCOUNT_ID}:model-manifest/blog-modelmanifest-01", "description": "Sample decoder manifest 1", { "canSignal": { "factor": 1.0, "isBigEndian": false, "isSigned": false, "length": 32, "messageId": 701, "offset": 0.0, "startBit": 0 }, "fullyQualifiedName": "GPS.Position.Latitude", "interfaceId": "1", "type": "CAN_SIGNAL" }, { "canSignal": { "factor": 1.0, "isBigEndian": false, "isSigned": false, "length": 32, "messageId": 702, "offset": 0.0, "startBit": 0 }, "fullyQualifiedName": "GPS.Position.Longitude", "interfaceId": "1", "type": "CAN_SIGNAL" } ] } マルチバイトのデータフレームから 所望のシグナルを抽出して物理値変 換するための情報を記述 #jawsug #jawsug_Nagoya #コラボベースNAGOYA 45/92

Slide 46

Slide 46 text

AWS Fleetwise(VehicleとFleet) • FleetwiseにおけるVehicleの実態はIoT Coreにおけるモノです。 • 既存のモノをvehicleとして指定するか、新規にモノを作成してvehicleとして利用することが 可能です。 • FleetはVehicleに対する論理的なグループで、キャンペーンの適用対象となります。 vehicle01 vehicle02 Fleet #jawsug #jawsug_Nagoya #コラボベースNAGOYA 46/92

Slide 47

Slide 47 text

AWS Fleetwise (キャンペーン) • キャンペーンはFleetからデータを収集する際の条件などを表現します。 • どのような設定ができるかを想像するために、設定項目のいくつかを下に示します。 • expression: 収集の条件を記述します。例として以下のように記述すると車両内の温度が50 度以上の場合にデータを収取する、と定義できます。 $variable.myVehicle.InVehicleTemperature > 50.0 • minimumTriggerIntervalMs: データ収集の最小期間を定義できます。頻繁に車両内でシグナル が発生する場合に、この値を設定することでサンプリング周期を伸ばせます。 • compression: データ送付時に圧縮するか否かを指定可能です。圧縮はSNAPPYと呼ばれる形式 が採用されています。 • expiryTime: キャンペーンの終了日時をUnix時刻で指定できます。 • priority: キャンペーンの優先度を定義できます。 • maxSampleCount: 収集するデータの最大数を定義できます。 #jawsug #jawsug_Nagoya #コラボベースNAGOYA 47/92

Slide 48

Slide 48 text

IoT Fleetwiseは誰のリクエストで開発されたか? • IoT Fleetwiseは先にも述べた通り、BMW(独)やBOSH(独)が主導の団体(COVESA)が た規格化したVSS という技術を用いて車両のデータを標準化しようとしています。 • 一方でAWSのGAのアナウンスでは以下のように記述されています。 IoT FleetWise は現在、米国東部 (バージニア北部) および欧州 (フランクフルト) で一般提供中です。 (https://aws.amazon.com/jp/about-aws/whats-new/2022/09/aws-iot-fleetwise-now-generally-available/ より) • これらを加味すると、OEMとしてのBMWとメガサプライヤーとしてのBOSHがリクエストを行って AWSと共同でサービス開発したという見立てが強くなります。 • もう一歩踏み込んだ推測をすると、今後IoT Fleetwiseが提供されるリージョンでBMWの車両はデー タ収集や分析を加速させるのではないか?とも考えることができます。 • AWSのサービスだけに目を向けるのではなく、技術アライアンスを追っていくことで色々な推測をす ることができるので、よりAWSを楽しむことができますね。 48/92

Slide 49

Slide 49 text

IoT Fleetwiseのどこが脅威的なのか? • 一番驚異的なのはDecoder manifestをAWS(クラウド)に登録させる点です。 • この情報は自動車業界ではCANのビットアサイン、つまり重要な設計情報と して管理している情報です。ある意味門外不出の情報です。 • 仮に前のページの推測が正しければ、BMWグループなどがセンシティブな 設計情報をクラウドに登録して運用すると経営判断したようにも思えます。 • これらはすべて仮説であり推測ですが、自動車業界が大きく動いていること の表れだといえると思います。 • また、CANデータを収集するようなデバイスソフト、クラウドシステムを構 築しているOEMやTier1などはベンチマークをとるべきなサービスであるこ とは間違いないと思います。 49/92

Slide 50

Slide 50 text

今月の紹介できるサービス デバイスソフトウェア • FreeRTOS • AWS IoT ExpressLink • AWS IoT Greengrass コントロールサービス • AWS IoT Core • AWS IoT Device Management • AWS IoT Device Defender • AWS IoT FleetWise • AWS IoT RoboRunner • AWS IoT 1-Click 分析サービス • AWS IoT Analytics • AWS IoT Events • AWS IoT SiteWise • AWS IoT TwinMaker IoT サービス Amazon Location Service Amazon Neptune • Geospatial data as graph model Amplify • Amplify Geo RDS • Querying geospatial data Amazon DocumentDB • Querying geospatial data Amazon SageMaker • geospatial capabilities Amazon OpenSearch Service Amazon Redshift • Querying spatial data #jawsug #jawsug_Nagoya #コラボベースNAGOYA 50/92

Slide 51

Slide 51 text

目次 • 背景 • 目指す全体像 • AWS が提供しているIoT サービス(IoT Coreの簡単な説明) • 自動車業界の皆さんに伝えたい IoT Fleetwise の強力さ • 位置情報系ソリューションAmazon Location Service の紹介 • これまで説明したものを連動させたデモンストレーション #jawsug #jawsug_Nagoya #コラボベースNAGOYA 51/92

Slide 52

Slide 52 text

項目 具体例 ユーザアプリ ユーザが作成する地理情報を利用したアプリケーション API AWSリソーソース データプロバイダ Amazon Location Service • 地図を基本としたロケーションベースの機能を提供するサービスです。 • データプロバイダが提供するデータへのアクセスをAWSリソースを通して提供します。 • Amazon Location Service を利用する際の技術的な階層関係は以下となります。 OPEN DATA AWS CLI AWS SDKs #jawsug #jawsug_Nagoya #コラボベースNAGOYA 52/92

Slide 53

Slide 53 text

項目 具体例 ユーザアプリ ユーザが作成する地理情報を利用したアプリケーション API AWSリソーソース データプロバイダ Amazon Location Service • 地図を基本としたロケーションベースの機能を提供するサービスです。 • データプロバイダが提供するデータへのアクセスをAWSリソースを通して提供します。 • Amazon Location Service を利用する際の技術的な階層関係は以下となります。 OPEN DATA AWS CLI AWS SDKs 5種類のリソースが存在する。 • Maps (地図タイルや道路NWの情報) • Place indexes (住所検索などを提供) • Route calculators (経路計算を提供) • Geofence collections (領域を定義) • Trackers (追跡対象の情報を保持) #jawsug #jawsug_Nagoya #コラボベースNAGOYA 53/92

Slide 54

Slide 54 text

項目 具体例 ユーザアプリ ユーザが作成する地理情報を利用したアプリケーション API AWSリソーソース データプロバイダ Amazon Location Service • 地図を基本としたロケーションベースの機能を提供するサービスです。 • データプロバイダが提供するデータへのアクセスをAWSリソースを通して提供します。 • Amazon Location Service を利用する際の技術的な階層関係は以下となります。 OPEN DATA (プレビュー) AWS CLI AWS SDKs 4種類のデータ提供元が存在する。 AWSリソースを通してこれらの企業が提供する データを利用することができる。 それぞれのプロバイダーがリソースに応じてカ バーしている国や地域が異なる。データの更新 頻度なども、プロバイダーに応じる。 これらの企業と個別契約なくデータ利用するこ とができて便利。(規約への同意は必要) #jawsug #jawsug_Nagoya #コラボベースNAGOYA 54/92

Slide 55

Slide 55 text

Amazon Location Service プロバイダ MAPS Place Indexes Route Calculators 全世界 full premium:74 full:33 selected street:28 major city:39★※別契約有 Navigable:144 Intermediate:69 Entry:78★ 全世界 Level1:47★ Level2:31 Level3:75 Level4:99 247か国★ (国により諸条件 が異なる) 8か国 (東南アジア) 8か国 (東南アジア) Truckなし 自転車/歩行者は7 都市のみ 全世界 なし なし OPEN DATA (プレビュー) • データのプロバイダによって国や地域に対して提供する情報の詳細度が異なる。 • 参考情報として以下のようにまとめてみました。★が日本の所属です。 • 詳細はそれぞれのプロバイダの仕様を確認してください。 #jawsug #jawsug_Nagoya #コラボベースNAGOYA 55/92

Slide 56

Slide 56 text

Amazon Location Service プロバイダ MAPS Place Indexes Route Calculators 全世界 full premium:74 full:33 selected street:28 major city:39★※別契約有 Navigable:144 Intermediate:69 Entry:78★ 全世界 Level1:47★ Level2:31 Level3:75 Level4:99 247か国★ (国により諸条件 が異なる) 8か国 (東南アジア) 8か国 (東南アジア) Truckなし 自転車/歩行者は7 都市のみ 全世界 なし なし OPEN DATA (プレビュー) • データのプロバイダによって国や地域に対して提供する情報の詳細度が異なる。 • 参考情報として以下のようにまとめてみました。★が日本の所属です。 • 詳細はそれぞれのプロバイダの仕様を確認してください。 Hereのドキュメントでは、日本、 韓国は専用契約が用意されていて、 それを利用すると詳細度が増す。 AWSを通した場合に何が適用され るかは調べた範囲では不明。 #jawsug #jawsug_Nagoya #コラボベースNAGOYA 56/92

Slide 57

Slide 57 text

Amazon Location Service プロバイダ MAPS Place Indexes Route Calculators 全世界 full premium:74 full:33 selected street:28 major city:39★※別契約有 Navigable:144 Intermediate:69 Entry:78★ 全世界 Level1:47★ Level2:31 Level3:75 Level4:99 247か国★ (国により諸条件 が異なる) 8か国 (東南アジア) 8か国 (東南アジア) Truckなし 自転車/歩行者は7 都市のみ 全世界 なし なし OPEN DATA (プレビュー) • データのプロバイダによって国や地域に対して提供する情報の詳細度が異なる。 • 参考情報として以下のようにまとめてみました。★が日本の所属です。 • 詳細はそれぞれのプロバイダの仕様を確認してください。 かなり新しいプロバイダー。2023/01/10 にリリースされた。 (調べたり、まとめたりしている時に追加がくるとつらい) https://aws.amazon.com/jp/about-aws/whats-new/2023/01/amazon-location-service-grabmaps-southeast-asia/ 新しいプロバイダー。2022/12/15 にリリースされた。 https://aws.amazon.com/jp/about-aws/whats-new/2022/12/amazon-location-service-open-data-maps-preview/ #jawsug #jawsug_Nagoya #コラボベースNAGOYA 57/92

Slide 58

Slide 58 text

Amazon Location Service プロバイダ MAPS Place Indexes Route Calculators 全世界 full premium:74 full:33 selected street:28 major city:39★※別契約有 Navigable:144 Intermediate:69 Entry:78★ 全世界 Level1:47★ Level2:31 Level3:75 Level4:99 247か国★ (国により諸条件 が異なる) 8か国 (東南アジア) 8か国 (東南アジア) Truckなし 自転車/歩行者は7 都市のみ 全世界 なし なし OPEN DATA (プレビュー) • データのプロバイダによって国や地域に対して提供する情報の詳細度が異なる。 • 参考情報として以下のようにまとめてみました。★が日本の所属です。 • 詳細はそれぞれのプロバイダの仕様を確認してください。 ところで、このOPEN DATAって なんでしょうか? 激熱なので紹介します。中身はほ ぼOSMと呼ばれるものです。 #jawsug #jawsug_Nagoya #コラボベースNAGOYA 58/92

Slide 59

Slide 59 text

OpenStreetMap(OSM) • 自由に利用でき、なおかつ編集機能のある世界地図を作る共同作業プロジェクトです。 • 論より実際に見てみましょう。 https://www.openstreetmap.org/#map=6/33.249/137.329 • 日本にユーザコミュニティも存在しているようです。 地図作りの好きなコミュニティ…すごく濃そうですね。 https://openstreetmap.jp/ • あくまで道路地図を測量してデジタル化したもののような ので、現在ではPlace IndexesやRoute Calculatorsはまだ 提供されていない様子です。 #技術的にはある程度できると予測されるのでGAの #タイミングでリリースされるかもしれませんね。 • しかし、これだけではなぜ激熱なのかがわからないです。 • そこでOverture Maps Foundationの登場です。 #jawsug #jawsug_Nagoya #コラボベースNAGOYA 59/92

Slide 60

Slide 60 text

Overture Maps Fundation 設立 Amazon, Meta, Microsoft, tomtom の4社がLinux Foundation下に創設した団体。 解決対象の課題 • 地図データの情報源は種々存在する(国、企業、市民団体、オープンデータなど) ため、 複数の地図データの取り込みを行う。 • 地図のエラー、破損、破壊行為を検出するための検証チェックを受け、本番システムで地図 データを使用できるようにします。 • 使いやすい地図データのエコシステムを構築するために、共通の、構造化され、文書化され たデータスキーマを定義し、その採用を推進します。 OpenStreetMap との関係性(FAQより) OvertureMapはOSMを補完することを意図しています。我々はOSMと他の情報源を組み合わ せて新しいオープンマップのデータセットを作成します。オーバーチュアのデータは互換性の あるオープンデータライセンスの下で、OpenStreetMapコミュニティが使用できるようにす る予定です。 #jawsug #jawsug_Nagoya #コラボベースNAGOYA 60/92

Slide 61

Slide 61 text

Overture Maps Fundation 設立 Amazon, Meta, Microsoft, tomtom の4社がLinux Foundation下に創設した団体。 解決対象の課題 • 地図データの情報源は種々存在する(国、企業、市民団体、オープンデータなど) ため、 複数の地図データの取り込みを行う。 • 地図のエラー、破損、破壊行為を検出するための検証チェックを受け、本番システムで地図 データを使用できるようにします。 • 使いやすい地図データのエコシステムを構築するために、共通の、構造化され、文書化され たデータスキーマを定義し、その採用を推進します。 OpenStreetMap との関係性(FAQより) OvertureMapはOSMを補完することを意図しています。我々はOSMと他の情報源を組み合わ せて新しいオープンマップのデータセットを作成します。オーバーチュアのデータは互換性の あるオープンデータライセンスの下で、OpenStreetMapコミュニティが使用できるようにす る予定です。 乱暴な言い方をすると、GAFAMの中でこれら3社は冠のあ るような地図が存在しない。 (もちろんすべての国の地図をGoogle,Appleが持っているわけではないですが) テックジャイアントの中でも地図データの重要性が高まって いて、独立してか連動してかわからないがAWSにも取り込み がなされようとしている。 HereやEsri と並ぶ地図のプロバイダ #jawsug #jawsug_Nagoya #コラボベースNAGOYA 61/92

Slide 62

Slide 62 text

Amazon Location Service ここからは Amazon Location Service の5つの機能を順番に説明します。 • Maps (地図タイルや道路NWの情報) • Place indexes (住所検索などを提供) • Route calculators (経路計算を提供) • Geofence collections (領域を定義) • Trackers (追跡対象の情報を保持) 多分に下記ワークショップを参考にしているので、ぜひ試してみてください https://catalog.workshops.aws/amazon-location-101/ja-JP #jawsug #jawsug_Nagoya #コラボベースNAGOYA 62/92

Slide 63

Slide 63 text

Amazon Location Service (Maps) • プロバイダーを選択してベースマップを提供します。(要は背景地図ですね) • ベースマップのMapstyleを選択することができます。 航空写真や、道路地図などを選択可能。リソースごとに定義する必要がある。 • レンダリングライブラリを利用して、アプリケーション側で地図を描画できます。 レンダリングライブラリは Amplify, MapLibre GL, Tangram が選択可能です。 プロバイダ:Esri、Style:ストリートマップ プロバイダEsri:、Style: ナビゲーション #jawsug #jawsug_Nagoya #コラボベースNAGOYA 63/92

Slide 64

Slide 64 text

Amazon Location Service (Place indexes ) • プロバイダーを選択して地理検索の機能を提供します。地理検索は特徴があげられます。 • PoI(Point of Interst) (地名名前検索など) • Geocoding • Reverce geocoding • ユーザによるテキストによるクエリの解釈(オートコンプリート、ファジーマッチング) • Geocoding 地名(名古屋)、目的(コーヒーショップ)、住所(名古屋市中区)などから地理的な情報 (緯度、経度)にデータを変換すること • Reverce Geocoding 地理的な情報(緯度、経度)から住所などの情報に変換すること地名、目的、住所などにデー タを 変換すること。 64/92

Slide 65

Slide 65 text

Amazon Location Service (Place indexes ) Geocoding(日本語→座標) aws location search-place-index-for-text --index-name WorkshopIndex --text "名古屋市名古屋駅 { "Results": [ { "Place": { "Country": "JPN", "Geometry": { "Point": [ 136.8818832600001, 35.170680565000055 ] }, "Interpolated": false, "Label": "愛知県名古屋市中村区名古屋駅", "Municipality": "中村区", "Region": "愛知県" }, "Relevance": 1 }, ~~ "Summary": { "DataSource": "Esri", "MaxResults": 50, "ResultBBox": [ 136.88180992500008, 35.170680565000055, 136.8818832600001, 35.171103179000056 ], "Text": "名古屋市名古屋駅" } } 結果 座標が得られている 座標が得られている 65/92

Slide 66

Slide 66 text

Amazon Location Service (Place indexes ) Geocoding(日本語+座標→座標) aws location search-place-index-for-text --index-name WorkshopIndex --text "公園" ¥ --bias-position [136.8818832600001,35.170680565000055] --max-result 1 結果 { "Results": [ { "Distance": 6942.565702019894, "Place": { "Country": "JPN", "Geometry": { "Point": [ 136.80560872800004, 35.16927870400008 ] }, "Interpolated": false, "Label": "愛知県あま市公園", "Region": "愛知県" }, "Relevance": 1 } ], "Summary": { ~~~ "Text": "公園" } } ちょっと遠い 66/92

Slide 67

Slide 67 text

Amazon Location Service (Place indexes ) Geocoding(日本語+座標→座標) aws location search-place-index-for-text --index-name WorkshopIndex --text “居酒屋" ¥ --bias-position [136.8818832600001,35.170680565000055] --max-result 1 結果 { "Results": [ { "Distance": 2627244.719819335, "Place": { "Country": "HKG", "Geometry": { "Point": [ 114.20181000000002, 22.291660000000036 ] }, "Interpolated": false, "Label": "東區北角英皇道居酒屋", "Municipality": "北角", "Region": "香港", "Street": "英皇 道", "SubRegion": "東區" }, "Relevance": 1 } ], "Summary": { ~~~~~~ "Text": "居酒屋" } } 香港… 使い方の想定が間違っているのかも しれないし、データ側の日本語対応 が微妙なのかもしれない。 67/92

Slide 68

Slide 68 text

{ "Results": [ { "Distance": 96.993391662635, "Place": { "AddressNumber": "4", "Country": "JPN", "Geometry": { "Point": [ 136.8829306573062, 35.17084219733758 ] }, "Interpolated": false, "Label": "愛知県名古屋市中村区名駅1-1-4", "Municipality": "中村区", "Neighborhood": "1", "PostalCode": "4500002", "Region": "愛知県" } } ], "Summary": { "DataSource": "Esri", "MaxResults": 50, "Position": [ 136.8818832600001, 35.170680565000055 ] } } Amazon Location Service (Place indexes ) Reverce Geocoding(座標→住所) 結果 いい感じ aws location search-place-index-for-position --index-name WorkshopIndex --position "[136.8818832600001, 35.170680565000055]" 68/92

Slide 69

Slide 69 text

Amazon Location Service (Place indexes ) サジェスト検索(日本語→おすすめの場所) 結果 { "Results": [ { "PlaceId": "AQAAAIAABKhw_RON0zqD_I5nvoEFaF2Nj1O4jTfCHLyHj0oh6PBfJSqAYpDT0- oWjsUBPsMvU5fdmsTPM8_ydw8GiiSt8b9wK760fRsanQDbW3Wp4DNc6SnoHZA3nEyXd _5nvvEJwxeOowPsMR8HGJMmxEfR- SIRexDZ5w2X8YmehWDDbYad3ta_NO5XwbcJjxaYAj_uu5e7dlmGlujdFymZpY6kbQ", "Text": "愛知県刈谷市居酒屋大ちゃん" } ], "Summary": { "BiasPosition": [ 136.8818832600001, 35.170680565000055 ], "DataSource": "Esri", "MaxResults": 1, "Text": "居酒屋" } } 刈谷か… aws location search-place-index-for-suggestions --index-name WorkshopIndex --text "居酒屋" -- bias-position [136.8818832600001,35.170680565000055] --max-result 1 69/92

Slide 70

Slide 70 text

Amazon Location Service (Route calculators ) • 選択したデータプロバイダーからの最新の道路ネットワークとライブトラフィック情報(国によ る)に基づいてルートを検索し、移動時間を推定することができます。 • 任意の 2 つの場所間の移動時間、距離、および経路の形状取得可能です。 • 複数の出発地、目的地、間の旅行時間と距離を一度に計算することも可能です(行列経路)。 70/92

Slide 71

Slide 71 text

Amazon Location Service (Route calculators ) 経路計算(コマンドライン) aws location calculate-route --calculator-name WorkshopRoutes --departure-position "[139.76721144700002, 35.68118461600005]" --destination-position "[139.70060678900006, 35.690189528000076]" { "Legs": [ { "Distance": 9.78718539102932, "DurationSeconds": 1175.9156592709999, "EndPosition": [ 139.70117425999607, 35.690335447374736 ], "StartPosition": [ 139.76882054392777, 35.68088807084364 ], "Steps": [ { "Distance": 0.05327042812296544, "DurationSeconds": 10.53706601, "EndPosition": [ 139.769291108171, 35.680960992647464 ], "StartPosition": [ 139.7688205425394, 35.68088803219476 ] }, ... { "Distance": 0.06730043043565104, "DurationSeconds": 13.31205732, "EndPosition": [ 139.70117428846197, 35.69033545327732 ], "StartPosition": [ 139.70146911123229, 35.690728832203234 ] } ] } ], "Summary": { "DataSource": "Esri", "Distance": 9.78718539102932, "DistanceUnit": "Kilometers", "DurationSeconds": 1175.9156592709999, "RouteBBox": [ 139.70117425999607, 35.67884619113183, 139.770863588777, 35.69111586108304 ] } } 結果 71/92

Slide 72

Slide 72 text

Amazon Location Service (Geofences and Trackers) • 地図上の仮想的な境界「ジオフェンス」を保存、管理することができる。 • ジオフェンスコレクションリソースに対して位置情報を評価して、ジオフェンスコレクション内の いずれかのジオフェンスの境界を越えた時に通知を受けることができる。(EventBridge経由) • ENTER / EXIT を評価可能。 • ジオフェンスを超えた時だけ通知される このような境界の出入りを検出できる Geofences 72/92

Slide 73

Slide 73 text

Amazon Location Service (Geofences and Trackers) • トラッカーリソースで複数デバイスの位置情報を保存することが可能。 • 位置情報もしくは最大3つのフィールドのメタデータをKVペアで保存可能。 • トラッカーをジオフェンスと紐づけると、自動的に評価されます。 • GPSの精度で発生する揺らぎへのフィルターも存在します。 • Accuracy-based:インプットされたGSPの精度が低い場合更新しない • Distance-based:現在位置から30m以上離れない場合は更新しない • Time-based:前回から30秒未満の位置情報の更新を許可しない Trackers 実はこいつはTracker を表示している。 73/92

Slide 74

Slide 74 text

Amazon Location Service (Appendix) • ドキュメント読み込み時に用語集を和訳して手元に置いていた ので、共有します。 • 公式ドキュメントにも存在するものなのでそちらを参照いただ いたほうが正確ですが、和訳して1資料にまとめています。 #jawsug #jawsug_Nagoya #コラボベースNAGOYA 74/92

Slide 75

Slide 75 text

Amazon Location Service (Maps 用語集) 用語 意味 Map resource AWS上のリソースで、作成時にプロバイダーとスタイルを選択する。選択に 基づいてレンダーが地図を描画する。 Basemap 地図に地理的な情報をベクトルタイルレイヤーとして提供する。 Vector 点、線、多角形で構成される形状データのこと。地図上のマーカーなどのア イコンとしても利用可能。 Raster 画像データのことで地形やヒートマップなどを表現するために利用される。 Map Style 描画時にデータに対する色やその他のスタイル情報を定義し、レンダリング 時に見え方を表現する情報。Amazon Location Service では Mapbox GL style Specification に従っている。 Vector tile 地図データの格納書式の1つで、この書式を採用することでディスプレイの 解像度に合わせた描画可能なデータを小さなファイルサイズで表現できる。 Amazon Location Service では Mapbox Vector Tiles(MVT)をサポートし ている。 Glyph file 地図上のUnicode文字列情報を格納したバイナリファイル。 Sprite file 地図上にアイコンやテクスチャをレンダリングするためのファイル。 75/92

Slide 76

Slide 76 text

Amazon Location Service (Places用語集) 用語 意味 Place index resource 地理検索用のクエリを実現可能にするリソース。 Geocoding テキストを受け取り、place index内を検索して、位置を返す。 Reverce Geocoding 位置を受け取り、place index内を検索して、テキストを返す。 Relevance インプットに対する結果の関連性の強さを示す。 Interpolation 基地の住所の位置をガイド点として、道の住所を見つけること ISO 3166 country codes Amazon Location Service で利用されている、国や地域を表すコード。 76/92

Slide 77

Slide 77 text

Amazon Location Service (Route用語集) 用語 意味 Route calculator resource 経路検索用の要求を実現可能にするリソース。 Route 出発地、経由地、目的地に移動するための情報。地点間の距離、旅行時間、 点列などが含まれる。 Route matrix 複数の出発地、複数の目的地からなるルートのリスト。経路計画や最適化ソ フトの入力として有用となる。 LineString geometry レグに対するポリライン。位置の順序付き配列 Waypoint 出発地、目的地間の中間地点。 Leg ある地点からある地点への移動を表現する。 Step Leg内を分割した単位 77/92

Slide 78

Slide 78 text

Geofence用語集 用語 意味 Geofence ポリゴンや円など、仮想的な地理的境界 Geofence Collection Geofenceの集まりで、Trackerと紐づけることで出入りを検出可能 Polygon geometry 多角形、円で構成される仮想的な地理的矩形 78/92

Slide 79

Slide 79 text

Tracker用語集 用語 意味 Tracker resource デバイスから位置情報の更新を受け取るリソース。トラッカーリソースは、 現在および過去のデバイス位置管理をサポートする。トラッカーリソースを ジオフェンスコレクションに紐づけるすると、ジオフェンスに対する出入り が評価される。 Position data tracked トラッカーリソース内に位置情報で、情報は時系列に保存される。各情報に は位置、時間、およびオプションのメタデータが含まれます。トラッカーは、 デバイスの位置情報の履歴を30日間保持します。 Position filtering AccuracyBased, DistanceBased, or TimeBased の3種のフィルタでTracker 内の位置情報更新頻度をさげることでコスト抑制に利用できる。 79/92

Slide 80

Slide 80 text

目次 • 背景 • 目指す全体像 • AWS が提供しているIoT サービス(IoT Coreの簡単な説明) • 自動車業界の皆さんに伝えたい IoT Fleetwise の強力さ • 位置情報系ソリューションAmazon Location Service の紹介 • これまで説明したものを連動させたデモンストレーション #jawsug #jawsug_Nagoya #コラボベースNAGOYA 80/92

Slide 81

Slide 81 text

目指す全体像(再掲) Amazon EC2(車両シミュレーション) Battery cells BMS (Battery Management System) Battery cells CAN Bus CAN Driver AWS IoT FleetWise Edge Agent エッジデバイス(車載通信機器) 車両ネットワーク AWS IoT Core MQTT / TLS AWS IoT FleetWise Config Amazon Timestream AWS Lambda Amazon Location Service Vehicle engineer • 車両を模擬したEC2からIoT FleetWiseを通してデータ収集を行います。 • 収集したデータはAmazon Location Serviceを用いて可視化します。最後にデモします。 • 構成図は以下です。それぞれの要素は説明します。 AWS Cloud これらのAWSサービスと車や 位置情報に関するドメイン知識 を紹介していきます。 1 2 81/92

Slide 82

Slide 82 text

目指す全体像(再掲) Amazon EC2(車両シミュレーション) Battery cells BMS (Battery Management System) Battery cells CAN Bus CAN Driver AWS IoT FleetWise Edge Agent エッジデバイス(車載通信機器) 車両ネットワーク AWS IoT Core MQTT / TLS AWS IoT FleetWise Config Amazon Timestream AWS Lambda Amazon Location Service Vehicle engineer • 車両を模擬したEC2からIoT FleetWiseを通してデータ収集を行います。 • 収集したデータはAmazon Location Serviceを用いて可視化します。最後にデモします。 • 構成図は以下です。それぞれの要素は説明します。 AWS Cloud これらのAWSサービスと車や 位置情報に関するドメイン知識 を紹介していきます。 ①シミュレーション環境 の中を簡単に確認します ②各種のマニフェストを 確認し、キャンペーンを 有効化します。 ④TimeStreamから データを取得し、ト ラッカーを更新して みます。 ③収集したデータ を確認します 82/92

Slide 83

Slide 83 text

①シミュレーション環境の中を簡単に確認します Amazon EC2(車両シミュレーション) Battery cells BMS (Battery Management System) Battery cells CAN Bus CAN Driver AWS IoT FleetWise Edge Agent エッジデバイス(車載通信機器) 車両ネットワーク AWS IoT Core MQTT / TLS AWS IoT FleetWise Config Amazon Timestream AWS Lambda Amazon Location Service Vehicle engineer AWS Cloud これらのAWSサービスと車や 位置情報に関するドメイン知識 を紹介していきます。 1 2 この環境の中は車両をシミュレーションしてお り、CANデータが再現されています。 IoT Fleet Wise のエージェントがこのデータを 意味解釈し、クラウドに送付します。 • 車両を模擬したEC2からIoT FleetWiseを通してデータ収集を行います。 • 収集したデータはAmazon Location Serviceを用いて可視化します。最後にデモします。 • 構成図は以下です。それぞれの要素は説明します。 83/92

Slide 84

Slide 84 text

①シミュレーション環境の中を簡単に確認 ubuntu@ip-172-31-29-176:~/ev_overcurrent_detection$ candump vcan0 vcan0 1F4 [8] 00 00 00 00 00 00 00 00 vcan0 12D [8] 3E 01 00 00 00 00 00 00 vcan0 2BE [8] 23 00 00 00 00 00 00 00 vcan0 2BC [8] 64 00 00 00 00 00 00 00 vcan0 259 [8] 78 B4 00 00 00 00 00 00 vcan0 25B [8] 01 00 00 00 00 00 00 00 vcan0 2BD [8] 89 00 00 00 00 00 00 00 vcan0 258 [8] B0 B3 00 00 00 00 00 00 vcan0 064 [8] 3F 00 00 00 00 00 00 00 vcan0 1F5 [8] 00 00 00 00 00 00 00 00 vcan0 25A [8] 01 00 00 00 00 00 00 00 vcan0 1F4 [8] 00 00 00 00 00 00 00 00 vcan0 12D [8] 3E 01 00 00 00 00 00 00 vcan0 2BE [8] 23 00 00 00 00 00 00 00 vcan0 2BC [8] 64 00 00 00 00 00 00 00 vcan0 259 [8] 78 B4 00 00 00 00 00 00 vcan0 25B [8] 01 00 00 00 00 00 00 00 vcan0 2BD [8] 89 00 00 00 00 00 00 00 流れているデータの確認 84/92

Slide 85

Slide 85 text

②各種のマニフェストを確認し、キャンペーンを有効化 シグナルカタログ 85/92

Slide 86

Slide 86 text

②各種のマニフェストを確認し、キャンペーンを有効化 車両モデル 86/92

Slide 87

Slide 87 text

②各種のマニフェストを確認し、キャンペーンを有効化 デコーダーマニフェスト 設定そのものを見ることはできない (CLIでも一度登録したものは見れない) 87/92

Slide 88

Slide 88 text

②各種のマニフェストを確認し、キャンペーンを有効化 デコーダーマニフェスト 設定そのものを見ることはできない (CLIでも一度登録したものは見れない) 88/92

Slide 89

Slide 89 text

②各種のマニフェストを確認し、キャンペーンを有効化 キャンペーン 89/92

Slide 90

Slide 90 text

③収集したデータを確認 TimeStreamへのクエリ 90/92

Slide 91

Slide 91 text

④TimeStreamからデータを取得し、トラッカーを更新 91/92

Slide 92

Slide 92 text

まとめ • AWS が提供しているIoT サービスの紹介を行いました。 • IoT Fleetwise の紹介を行いました • 位置情報系ソリューションAmazon Location Service の紹介を行 いました。 • IoT Fleetwiseを通じてデータを取得し、Amazon Location Service のトラッカーで受信するデモンストレーションを行いま した。 ご清聴ありがとうございました。 では2月のイベント紹介に移ります。 #jawsug #jawsug_Nagoya #コラボベースNAGOYA 92/92