抜粋版

V1.0 2020/3/1

新型肺炎対策：体温検知キット～顔認識、サーモセンサを使い、自動検温し、ＡＷＳにデータ蓄積、活用～

実践編

AWS IoT Core
スペクトラム・テクノロジー株式会社
https://spectrum-tech.co.jp
sales@spectrum-tech.co.jp
all rights reserved 2020 spectrum technology co.

1

体温検知キット 目次

Pi運用マニュアル
1.
2.
3.
4.

ページ

RaspberryPiについてLinux基本コマンド
基本操作
日常運用（ウイルススキャン、更新）

ＡＷＳ ＩｏＴ開発
①
②
③
④

全体構成
サーモセンサ概要
サーモセンサーRaspberryPi接続
サーモセンサ単体試験
サーモセンサ画像試験
Ｍｑｔｔプログラム設定ＡＷＳ ＩｏＴ折り返し試験
リアルタイム表示（グラフ）ＩｏＴイベント設定
ＩｏＴイベント試験
遠隔リアルタイムモニタ
ＣＳＶ取り出しＣＳＶ画像再生Ｏｐｅｎｃｖ開発
体温検知
1.
2.

ページ

メニュー
ＡＷＳ設定
ＡＷＳ ＩｏＴ設定
サーモセンサ情報収集、アラーム送付•••••••••••••

リアルタイム検知
データ活用

3456抜粋版
ページは一致しません

891629303132333436373947505153555759
all rights reserved 2020 spectrum technology co.

2

RaspberryPi運用マニュアル
1. Raspberry Piについて
既に全世界で1000万台以上販売された手のひらサイズのコンピュータです。
ＬｉｎｕｘベースのＲａｓｂｉａｎＯＳで動作しております。

2. Linux基本コマンド① システム関係• 起動：電源を入れると自動で起動します。
• 再起動：$ reboot
又は、menu>shutdown>reboot；左上のメニューから• 終了：$ shutdown
又は、menu>shutdown>shutdown；左上のメニューから• ログアウト $ exit
又は、menu>shutdown>logout；左上のメニューから• 日本語／英語の入力切替：キーボードのＣＴＬとｊを同時に押します（コントロール：左下とｊ）

all rights reserved 2020 spectrum technology co.

3

RaspberryPi運用マニュアル
デスクトップ上によく使うコマンド.txtがあります。
コピペして使ってください

3. Raspberry Piの基本操作① 表示画面と内容トップ画面（上段のタスクバーで選択）• メニュー• ブラウザ• ファイルマネジャ• ターミナル• マルチ画面選択

•
•
•
••
•
•

ＶＮＣ
日本語入力
ＢＬＥWiFi
音量
ＣＰＵ使用率時刻

all rights reserved 2020 spectrum technology co.

4RaspberryPi運用マニュアル
4. 日常運用②

インストール済パッケージの更新リスト、アップグレード• Linuxの場合は、頻繁に更新が発生します。アップグレードを定期的に実施してください。
• 更新前には、バックアップを取ることをお勧めします。特にアップグレードはまれに動作不良、戻せない状態が発生します。自己責任で実施してください。

更新リスト取得$ sudo apt-get update
アップグレード実施$ sudo apt-get upgrade

all rights reserved 2020 spectrum technology co.

5

ＡＷＳ ＩｏＴ開発①．メニューAWS IoT Core• ＡＷＳ設定ＡＷＳ ＩｏＴを実施するためのＡＷＳの設定
ＡＷＳの詳細説明は以下のＵＲＬへ
https://aws.amazon.com/jp/cloud/?nc2=h_l2_cc• ＡＷＳ ＩｏＴ設定
ＡＷＳ ＩｏＴのデバイス、証明書、ポリシー、ルールなどの設定を行います。
開発者ガイトは以下のＵＲＬへ
https://docs.aws.amazon.com/ja_jp/iot/latest/developerguide/what-is-aws-iot.html• ＬＥＤ点灯ＡＷＳ ＩｏＴのｓｈａｄｏｗを使って、Ｒａｓｐｂｅｒｒｙ Ｐｉに接続したＬＥＤを遠隔から点灯させます• メール送信
タクトスイッチを使い、ＭＱＴＴプロトコルを介して、ＡＷＳ ＩｏＴに接続し、ＡＷＳ ＳＮＳからＥ－ｍａｉｌの送信を行います。上記同様単体試験などのプログラムを提供• センサ情報リアルタイム表示
ＢＭＰ２８０センサを使いＭＱＴＴプロトコルを介して、ＡＷＳ ＩｏＴに接続し、ＡＷＳ ＤｙｎａｍｏＤＢにデータを保存し、そのデータを外部ツールでリアルタイム表示します。またその過程の、Ｒａｓｐｂｅｒｒｙ Ｐｉでのセンサ単体試験、ＡＷ
Ｓ ＩｏＴ折り返し試験などのプログラムも提供。順序だてて構築して行きます。

（参考）• Ｇｉｔｈｕｂなど• https://github.com/aws/aws-iot-device-sdk-python（一部のプログラムはＴＬＳエラーで動きません）• https://github.com/eclipse/paho.mqtt.python• ＭＱＴＴ• https://www.ibm.com/developerworks/jp/iot/library/iot-mqtt-why-good-for-iot/（ＩＢＭの資料でわかりやすい）all rights reserved 2020 spectrum technology co.

6

ＡＷＳ ＩｏＴ開発②．ＡＷＳ設定• 手順１：アカウントの作成• https://aws.amazon.com/jp/register-flow/• 必要なメールアドレス、パスワードなどを入力します。

all rights reserved 2020 spectrum technology co.

7

ＡＷＳ ＩｏＴ開発②．ＡＷＳ設定• ＡＷＳトップ画面• 利用する場合に、地域を意識して設定してください。地域毎に料金が変わったり、利用できるサービスが限定されている場合があります。

all rights reserved 2020 spectrum technology co.

8

ＡＷＳ ＩｏＴ開発③．ＡＷＳ ＩｏＴ設定

AWS IoT Core

• 画面説明１• ＡＷＳトップ画面からＡＷＳ ＩｏＴのサービスを選択します。
• モニタリング：接続状況がひとめで分かりますall rights reserved 2020 spectrum technology co.

9ＡＷＳ ＩｏＴ開発③．ＡＷＳ ＩｏＴ設定

AWS IoT Core

• 画面説明２• オンボード：特に使用しません• 管理：モノall rights reserved 2020 spectrum technology co.

10

ＡＷＳ ＩｏＴ開発③．ＡＷＳ ＩｏＴ設定AWS IoT Core• ポリシー作成１• 安全性＞ポリシーの作成を押します。

all rights reserved 2020 spectrum technology co.

11

ＡＷＳ ＩｏＴ開発③．ＡＷＳ ＩｏＴ設定

AWS IoT Core• ポリシー作成３• 安全性＞証明書＞モノの登録で作成した証明書にポリシーをアタッチします。
• 右クリックして＞ポリシーのアタッチを押します

all rights reserved 2020 spectrum technology co.

12

ＡＷＳ ＩｏＴ開発AWS IoT Core

④サーモセンサ情報収集、アラーム送付
全体構成

日時、氏名、体温記録

体温検知キット
ＣＳＶ抽出

Ｗｅｂカメラ（オプション）
IoT MQTT
protocolAWS IoT Core Amazon DynamoDB
CSV再生

サーモセンサアラームメール

サーモ画像モニタAWS IoT Events Amazon Simple Notification
Serviceall rights reserved 2020 spectrum technology co.

13

ＡＷＳ ＩｏＴ開発④サーモセンサ情報収集、アラーム送付
Ｒａｓｐｂｅｒｒｙ ＰｉとＡＭＧ８８３３の接続

メスーオスのジャンパで接続
Ｐｉ ブレッドボード ＡＭＧ8833
１-----＋VDD
３-----------------------SDA
５----------------------- SCL
９-----ーGND
all rights reserved 2020 spectrum technology co.

AWS IoT Core

上（取付はこの方向）

グリッド番号14ＡＷＳ ＩｏＴ開発# cd/home/pi/Documents/Adafruit_AMG88xx_p
AWS IoT Coreython/examples# python thermal_cam.py④サーモセンサ情報収集、アラーム送付

ＡＭＧ８８３３ 画像試験
• Ｐｉコンソールでpython thermal_cam.pyを動作させます。
• ２４０ｘ２４０ピクセルの画面で表示されます。
• プログラムで、最低：２０度、最高：３２度に設定しています。適宜数字を変えてください。設定温度が実態と乖離していると同じ色になります。設定を実態と近づけてください。
• 現在の温度は、python thermistor_test.pyでテストしてください。

手をかざした状態

all rights reserved 2020 spectrum technology co.

15

ＡＷＳ ＩｏＴ開発④サーモセンサ情報収集、アラーム送付

AWS IoT CoreＡＷＳ ＩｏＴ折り返し試験••

Ｐｉのコマンド画面からsubscriber, publisherのやりとりを実施
subscribe側に温度のデータ（リスト形式；６４個）が受信できていればＯｋ,
なおテスト用で最高温度のデータをグラフ表示のため取り出し# cd pi>Documents>Adafruit_AMG88xx_python>aws_mqtt# python mqtt_subscribe_json.py 受信側を先に立ち上げ
別のウインドを開き# python amg88_mqtt_publish_json.py 送信側立ち上げ

all rights reserved 2020 spectrum technology co.

16

ＡＷＳ ＩｏＴ開発④サーモセンサ情報収集、アラーム送付

AWS IoT Core

リアルタイム表示• ＩｏＴ．Ｋｙｏｔｏ様の利用＞グラフ• Ｄｅｖｉｃｅｉｄ：amg88（ｐｙｔｈｏｎで書き込み済）• 表示対象をチェックすると自動で表示されます。
8x8=64個のデータのうち、最大値のデー
タのみ表示。他はリスト形式でＤＢに確保max_temp

all rights reserved 2020 spectrum technology co.

17

ＡＷＳ ＩｏＴ開発④サーモセンサ情報収集、アラーム送付
ＩｏＴイベント設定• 指定設定温度で、メール送信するため、ＩｏＴイベントを設定します。
• 探知器モデル＞探知器モデルの作成• 新しく作成する

all rights reserved 2020 spectrum technology co.

AWS IoT CoreＩｏＴ ｅｖｅｎｔは料金が発生します。適宜請求額を確認

18

ＡＷＳ ＩｏＴ開発④サーモセンサ情報収集、アラーム送付

AWS IoT CoreＩｏＴイベント試験••••

探知器モデル＞サンプルデータの送信
入力名：inputevent
max_temp:25,番号と入力し、プレビュー
データの送信
料金の発生を防ぐために、使用しない時は、エクスポートしましょう。

all rights reserved 2020 spectrum technology co.

19

ＡＷＳ ＩｏＴ開発④サーモセンサ情報収集、アラーム送付

AWS IoT Core

ＩｏＴイベント試験• Ａｍｇ８８３３で手をかざして温度を２０度以上にします。
イベントがNormalにも• メールの受信を確認
どっていないと、メールは受信できません。

all rights reserved 2020 spectrum technology co.

20

ＡＷＳ ＩｏＴ開発④サーモセンサ情報収集、アラーム送付
遠隔リアルタイム・モニタ

AWS IoT Core

$ cd/home/pi/Documents/Adafruit_AMG88xx_python/aws_mqtt$ python mqtt_subscribe_mon.py• Ｍｑｔｔのｓｕｂｓｃｒｉｂｅ機能を使って、遠隔地でリアルタイムにサーモセンサの画像のモニタを行います。Ｍｑｔｔの送信タイミングの１０秒毎受信• python mqtt_subscribe_mon.py

サーモセンサ画像の温度は、10-32度で設定しています。プログラムで修正してください
all rights reserved 2020 spectrum technology co.

21

ＡＷＳ ＩｏＴ開発④サーモセンサ情報収集、アラーム送付

AWS IoT Core

ＣＳＶの画像再生• ＤｙｎａｍｏＤＢのＣＳＶエキスポートしたoutput.csvを画像再生します$ cd• python thermal_csv.py/home/pi/Documents/Adafruit_AMG88xx_python/DynamoDB
toCSV$ python thermal_csv.py

all rights reserved 2020 spectrum technology co.

22

Ｏｐｅｎｃｖ開発
1. Ｏｐｅｎｃｖ①顔検出（カメラ）コマンド$ cd /home/pi/Documents/OpenCV-FaceRecognition/FaceDetection• Ｏｐｅｎｃｖを使ったｗｅｂカメラでの顔検出です。
• https://www.instructables.com/id/Real-time-Face-Recognition-an-End-to-endProject/• python3 faceDetection.py• python3 faceEyedetection.py

all rights reserved 2020 spectrum technology co.

23

Ｏｐｅｎｃｖ開発
1. Ｏｐｅｎｃｖ②顔認識（カメラ）コマンド$ cd /home/pi/Documents/OpenCV-FaceRecognition/FacialRecognition• Ｏｐｅｎｃｖを使った、ｗｅｂカメラでの登録した顔を認識します。
• https://www.instructables.com/id/Real-time-Face-Recognition-an-End-to-end-Project/• 顔の登録• python3 01_face_dataset.py• Face id：0-3までを入力してください。
• 自動で顔のスキャンが始まります。数分で終了しｊます。
• python3 02_face_training.py• python3 03_face_recognition.py• カメラで認識します、名前は２６行目で変更可能

all rights reserved 2020 spectrum technology co.

24

体温検知
1. リアルタイム検出①顔、体温検出AWS IoT Coreコマンド
$ cd /home/pi/Documents/OpenCV-FaceRecognition/FacialRecognition• ｗｅｂカメラでの登録した顔、体温を検出し、ＡＷＳに送信します。
• python3 04_face_recognition_thermo.py• 同じフォルダにtest.aviで動画保存。保存しない場合は、83行をコメントアウト。

体温は、サーモセンサの最高温度

all rights reserved 2020 spectrum technology co.

25

体温検知
1. リアルタイム検出②ＭＱＴＴ送信、モニタ

AWS IoT Coreコマンド
$ cd /home/pi/Documents/OpenCV-FaceRecognition/FacialRecognition• ｗｅｂカメラでの登録した顔、体温を検出し、ＡＷＳに送信します。
• python3 face_recognition_thermo_mqtt_publish.py• 約１０秒毎にデータをＡＷＳ ＩｏＴに送信します。

３４ページを参考に証明書の情報などを記入し、フォルダに関係の証明書をコピーしてください$ cdpi>Documents>Adafruit_AMG88xx_
python>aws_mqtt$ python3 mqtt_subscribe_mon.py
受信側を先に立ち上げ

all rights reserved 2020 spectrum technology co.

26

体温検知
2. データ活用①ＣＳＶ抽出、サーモ画像再生

AWS IoT Core• ＤｙｎａｍｏＤＢに蓄積したデータをＣＳＶで抽出：５２ページ参照• サーモ画像再生：５４ページ参照

all rights reserved 2020 spectrum technology co.

27