こんにちは。Mです。
前回までで特定範囲への出入り検知と、位置情報を送る部分を作成しました。
最終回となる今回は実際に出入り検知出来るか確認したいと思います。
概要
構成

EventBridge作成
今回の作業も全てAWSのマネジメントコンソールから行っていきます。作業内容は以下の3つです。
- CloudWatchをターゲットとするEventBridgeルール作成
- SNSトピックを作成してEventBridgeルールへ追加
- 動作確認
1. CloudWatchをターゲットとするEventBridgeルール作成
Amazon EventBridgeとはAWSで発生する様々なイベントを使用して、別のAWSサービスとつなげるサービスです。
早速EventBridgeルールを作成していきます。ルールタイプはイベントパターンを持つルールを選択。
イベント送信元はLocationServiceになるのでイベントソースは「AWSイベントまたはEventBridgeパートナーイベント」を選択します。

LocationServiceから特定範囲出入りイベントを受け入れるように、イベントパターンをJSON形式で設定します。
{
"source": ["aws.geo"], // LocationServiceから
"detail-type": ["Location Geofence Event"] // 出入りイベントを受け入れる
}
最後に呼び出すサービスとなるターゲットを指定します。今回はCloudWatchを指定します。

2. SNSトピックを作成してEventBridgeルールへ追加
次に出入り検知したらメール通知する為にAmazon SNSを設定していきます。
2.1 トピック作成
まずはSNSトピックから作成します。タイプはスタンダード、名前を入力して作成します。

2.2 サブスクリプション作成
作成したトピックへサブスクリプションを作成します。プロトコルをEメールにして受信したいメールアドレスをエンドポイントへ入力します。

2.3 サブスクライブ
エンドポイントへ登録したメールアドレスへ確認メールが届くので、本文にある「Confirm Subscription」部分のリンクを開くと、「Subscription confirmed!」と表示されます。これでメール通知の準備が出来ました。

2.4 EventBrigeルールへターゲット追加
最後に先程作成したEventBridgeルールのターゲットへSNSトピックを追加します。

3. 動作確認
3.1 位置情報送信
今回はAWS IoT CoreのMQTTテストクライアントから位置情報を送ってみて、ログ出力とメール通知されるか確認します。

送るデータはJSON形式で特定範囲座標に対して範囲内と範囲外をそれぞれ指定して送信します。
timestampはUnixtimeになります。
範囲内
{
"payload": {
"deviceid": "GPS-Device-001",
"timestamp": 1675401458,
"location": {
"lat": 34.716,
"long": 137.7769
}
}
}
範囲外
{
"payload": {
"deviceid": "GPS-Device-001",
"timestamp": 1675401458,
"location": {
"lat": 34.7156,
"long": 137.7741
}
}
}
3.2 CloudWatch確認
CloudWatchに範囲内(ENTER)と範囲外(EXIT)それぞれログが記録されています。


3.3 SNS確認
メールによる通知もされました。


最後に
今回はAmazon Location Serviceを使った出入り検知を試してみましたが、思ってた以上に簡単に作れるんだなと感じました。
スマートフォンやラズパイ、GPSトラッカーなどの位置情報を使えば色んな利用用途があると思います。
今後も気になったAWSサービスを試して掲載していきたいと思います。
関連記事
-
こんにちは、アバンセシステムのTIGERです。今回は、3Dスキャン技術を使って3Dオブジェク...
公開日:2023.04.14 更新日:2023.04.14
-
はじめまして、アバンセシステムのTIGERです。よろしくお願いします。 今回はRaspber...
公開日:2022.09.09 更新日:2022.09.09
tag : IoT Raspberry Pi
-
ラズパイ実験室 〜いろんなmicroSDで性能を測ってみた〜
こんにちは! IoT時代到来の真っ只中ということで、弊社でも数多くのセンシングデバイスを取り...
公開日:2021.04.30 更新日:2021.06.29
tag : Raspberry Pi
-
WSL2でLocalStackを使ってLambda を実行してみる~実行編~
こんにちは、motoKNです。前回 の続きとなります。 それではローカル環境にLocalSt...
公開日:2023.01.13 更新日:2023.01.13
tag : クラウド
-
WSL2でLocalStackを使ってLambda を実行してみる~構築編~
こんにちは。ラボ記事投稿2回目のmotoKNです。 私自身、今のところ業務でクラウド環境を使...
公開日:2022.09.23 更新日:2022.12.08
tag : クラウド
-
こんにちは!Matsuです。 Arduino、便利ですね。今年は久々に新機種も発売されてます...
公開日:2023.10.06 更新日:2023.10.06