V1.0 2018/02/06

はじめてのＡＷＳ ＩｏＴ開発キット～センサ、ＲａｓｐｂｅｒｒｙＰｉを使い、実体験。開発短縮～

実践編（抜粋版）

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

1

ＡＷＳ ＩｏＴ開発キット 目次

Pi運用マニュアルページ

ＡＷＳ ＩｏＴ開発

ページ

1.
2.
3.
4.

①
②
③
④

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

8
9
16
29

メニュー
ＡＷＳ設定
ＡＷＳ ＩｏＴ設定
ＬＥＤ点灯

30
31

• Ｒａｓｐｂｅｒｒｙ ＰｉのＩ／Ｏ• ブレッドボードの使い方

⑤

41

メール送信

43
46
51

• Ａｍａｚｏｎ ＳＮＳ設定• ＡＷＳ ＩｏＴルール設定• ＩＡＭ確認⑥3456

センサ情報リアルタイム表示

55

抜粋のためページがずれてます

66
69
74

• ＤｙｎａｍｏＤＢ確認• ＩＡＭユーザ追加• Ｃｌｏｕｄｗａｔｃｈ使い方
all rights reserved 2018 spectrum technology co.

2

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

2. Linux基本コマンド① システム関係• 起動：電源を入れると自動で起動します。
• 再起動：# reboot
又は、アプリケーション>ログアウト>再起動；左上のメニューから• 終了：# shutdown
又は、アプリケーション>ログアウト>シャットダウン；左上のメニューから• ログアウト # logout
又は、アプリケーション>ログアウト>ログアウト；左上のメニューから• 日本語／英語の入力切替：キーボードのctl+ｊを同時に押します。又は右上のアイコン（右から７個目）からプルダウンで選択

all rights reserved 2018 spectrum technology co.

3

Pi運用マニュアル
2.

Linux基本コマンド② ディレクトリ操作、コピー、移動、削除
root@:~# cd /root/Documents
ディレクトリの切り替え
root@:/root/Documents# ls
ファイルとディレクトリの表示（表示したら操作したいファイルを右クリックでコピペして操作します
root@:~# cp ファイル名 ディレクトリ
配下のディレクトリのファイルを別のディレクトリへコピー
root@:~# mv ファイル名 ディレクトリ
配下のディレクトリのファイルを別のディレクトリへ移動
root@:~# rm ファイル名
ファイルの削除
便利な機能 rm –help
コマンドのオプションが分からない場合は、ヘルプで問い合わせる。すべてのコマンド共通(マイナスを２個とhelp)③ ユーザ権限、プロセス他
root@:~ $ su スーパーユーザ（root)に切り替え、パスワードを入力
root@:~# ps a
現状の動いているプロセスを表示
root@:~# kill
特定のプロセスを強制終了
root@:~# apt-get install pkg
パッケージのインストールなどに使用
root@:~# date
日付、時間の設定を行います。
root@:~# leafpad /etc/network/interfaces インタフェースに記述してい内容を変更します。Viよりも使いやすいです。

④ モジュール、usb、メモリ、ＨＤＤなどの表示
root@:~# lsmod
root@:~# lsusb
root@:~# free -mt
root@:~# df -h

linuxのモジュールリスト表示
usbのデバイス表示
メモリ使用状態表示
ＨＤＤ（マイクロＳＤ）の使用状態表示

all rights reserved 2018 spectrum technology co.

4

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

ＶＮＣ
日本語入力
ＢＬＥ
ＷｉＦｉ
音量（ジャックで聴けます）
回線効率
時刻

all rights reserved 2018 spectrum technology co.

5

Pi運用マニュアル
4. 日常運用①

セキュリティ対策（アンチウイルス更新、スキャン）• アンチウイルス対策として無料のclamAVをインストールしてます。
• 手動での運用を基本としてます。

パターンファイル更新
手動スキャン時に更新されます
手動でスキャン
# clamscan --infected --remove --recursive
自動化可能ですが、バックグランドで重くなる可能性大。コマンド入力後約２５分位かかります。

all rights reserved 2018 spectrum technology co.

6

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

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

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

all rights reserved 2018 spectrum technology co.

7

ＡＷＳ ＩｏＴ開発①．メニューAWS IoT• ＡＷＳ設定ＡＷＳ ＩｏＴを実施するためのＡＷＳの設定
ＡＷＳの詳細説明は以下のＵＲＬへ
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• ＬＥＤ点灯ＡＷＳ ＩｏＴのｓｈａｄｏｗを使って、Ｒａｓｐｂｅｒｒｙ Ｐｉに接続したＬＥＤを遠隔から点灯させます• メール送信
タクトスイッチを使い、ＭＱＴＴプロトコルを介して、ＡＷＳ ＩｏＴに接続し、ＡＷＳ ＳＮＳからＥ－ｍａｉｌの送信を行います。上記同様単体試験などのプログラムを提供• センサ情報リアルタイム表示
ＢＭＰ２８０センサを使いＭＱＴＴプロトコルを介して、ＡＷＳ ＩｏＴに接続し、ＡＷＳ ＤｙｎａｍｏＤＢにデータを保存し、そのデータを外部ツールでリアルタイム表示します。またその過程の、Ｒａｓｐｂｅｒｒｙ Ｐｉでのセンサ単体試験、ＡＷＳ ＩｏＴ折り返し試験などのプログラムも提供。順序
だてて構築して行きます。

all rights reserved 2018 spectrum technology co.

8

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

all rights reserved 2018 spectrum technology co.

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

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

10

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

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

11

ＡＷＳ ＩｏＴ開発④．ＬＥＤ点灯AWS IoT

全体構成
開発キット

ＬＥＤAWS IoTＩｏＴ Ｓｈａｄｏｗのデータを書き換えて、遠隔のＬＥＤを点灯させます。
IoTshadow

all rights reserved 2018 spectrum technology co.

12

ＡＷＳ ＩｏＴ開発④．ＬＥＤ点灯AWS IoT

ＲａｓｐｂｅｒｒｙＰｉのＩ／Ｏ• 今回使用するピンは、９，１１番を使ってＬＥＤ接続します。
• 3.3Ｖ，5Ｖ接続時は注意しましょう。

all rights reserved 2018 spectrum technology co.

13

ＡＷＳ ＩｏＴ開発④．ＬＥＤ点灯
ブレッドボードの使い方

AWS IoT• 電源の＋、－は縦に接続されている。
• １－３０のラインは横に接続されている。

部品は縦に配置

ジャンパワイヤを使って電源を接続
all rights reserved 2018 spectrum technology co.

14

ＡＷＳ ＩｏＴ開発④．ＬＥＤ点灯AWS IoT

単体試験• Ｒａｓｐｂｅｒｒｙ ＰｉとＬＥＤの接続を確認します。
• Ｒａｓｂｅｒｒｙ ｐｉで以下のプログラム

rootで立ち上げ
以下のフォルダに移動し単体試験の実施# cd /home/pi/Documents/iot/device_led_py# python blink.py

ＬＥＤが点滅するとＯＫ

all rights reserved 2018 spectrum technology co.

15

ＡＷＳ ＩｏＴ開発④．ＬＥＤ点灯AWS IoT

LED shadow試験• Ｒａｓｐｂｅｒｒｙ ＰｉとＬＥＤの接続を確認します。
• ＡＷＳ ＩｏＴのコンソールからＳｈａｄｏｗコマンド送信しＬＥＤランプを点灯させる。
• 管理＞モノ（該当のモノ）＞シャドウ
ＬＥＤ ｏｎにします。
最初はＬＥＤ ｏｆｆです。
{ "desired": { "flash": 0 },"reported": { "flash": 1 },"delta": { "flash": 0 }}{ "desired": { "flash": 1 },"reported": { "flash": 0 },"delta": { "flash": 0 }}all rights reserved 2018 spectrum technology co.

16

ＡＷＳ ＩｏＴ開発④．ＬＥＤ点灯AWS IoT

LED shadow試験• Ｒａｓｐｂｅｒｒｙ ＰｉとＬＥＤの接続を確認します。
• Ｒａｓｂｅｒｒｙ ｐｉで以下のプログラム
rootで立ち上げ
以下のフォルダに移動し単体試験の実施# cd /home/pi/Documents/iot/device_led_py# python shadowLed.py
待ち状態になります。

ＬＥＤランプが点灯するとともにＰｉ側の画面にＯＮが表示されます

all rights reserved 2018 spectrum technology co.

17

ＡＷＳ ＩｏＴ開発⑤．メール送信AWS IoT

全体構成
開発キット

スイッチ

メール送信

AWS IoT

AmazonSNS

IAM

スイッチを押すと、ＡＷＳ ＩｏＴを介して、電子メールを送信します。
ＡＷＳ ＩｏＴボタンと同様の動きをシュミレーションします。

all rights reserved 2018 spectrum technology co.

18

ＡＷＳ ＩｏＴ開発⑤．メール送信AWS IoT

Ｒａｓｐｂｅｒｒｙ Ｐｉとスイッチの接続

メスーオスのジャンパで接続
ピン ブレッドボード
1-----＋
6-----－
36----スイッチ

all rights reserved 2018 spectrum technology co.

10kΩ

19

ＡＷＳ ＩｏＴ開発⑤．メール送信AWS IoT

Ａｍａｚｏｎ ＳＮＳ設定• ＡＷＳのトップ画面でＳＮＳを選択• ＳＮＳ＞トピック＞新しいトッピック作成

all rights reserved 2018 spectrum technology co.

20

ＡＷＳ ＩｏＴ開発⑤．メール送信
Ａｍａｚｏｎ ＳＮＳ設定• 新しいトッピック作成• トピック名• 表示名を入力します（トピック名と同じでもＯＫ）

all rights reserved 2018 spectrum technology co.

AWS IoT

例：myiot_sns1

21

ＡＷＳ ＩｏＴ開発⑤．メール送信AWS IoTAWS IoTのルール設定• ＡＷＳ ＩｏＴのコンソールからＡＣＴ＞ルール• ルール作成を押します。

all rights reserved 2018 spectrum technology co.

22

ＡＷＳ ＩｏＴ開発⑤．メール送信AWS IoT

ＩＡＭの確認• ＡＷＳのトップ画面からＩＡＭを選択• ＩＡＭで、ユーザ、ロールなどアクセス権限が一覧でわかります。

all rights reserved 2018 spectrum technology co.

23

ＡＷＳ ＩｏＴ開発⑤．メール送信AWS IoT

メール送信試験• Ｐｉからmqtt_publish_button.pyを動作させます。
• ブレッドボードのスイッチを押します。
# cd /home/pi/Documents/iot/iot_button# python mqtt_publish_button.py• 電子メールが送信されます。
スイッチ押下all rights reserved 2018 spectrum technology co.

24

ＡＷＳ ＩｏＴ開発⑥．センサ情報リアルタイム表示

AWS IoT

全体構成
開発キット

センサ
AWS IoT

AmazonDynamoDB

リアルタイムグラフ

ＢＭＰ２８０センサの気温、気圧データをＡＷＳ ＩｏＴに送信し、その内容がＤｙｎａｍｏＤＢに確保されます。ＤｙｎａｍｏＤＢの値を外部からリアルタイムのグラフ表示します。

all rights reserved 2018 spectrum technology co.

25

ＡＷＳ ＩｏＴ開発⑥．センサ情報リアルタイム表示

AWS IoT

Ｒａｓｐｂｅｒｒｙ Ｐｉとスイッチの接続

メスーオスのジャンパで接続
ピン ブレッドボード
２-----＋ ＶＩＮ
３-----ＳＤＩ
５-----ＳＣＫ
９----‐－ ＧＮＤ
all rights reserved 2018 spectrum technology co.

26

ＡＷＳ ＩｏＴ開発⑥．センサ情報リアルタイム表示

AWS IoTAWS IoTのルール設定• ＡＷＳ ＩｏＴのコンソールからＡＣＴ＞ルール• ルール作成を押します。（メール送信と同様）

all rights reserved 2018 spectrum technology co.

27

ＡＷＳ ＩｏＴ開発⑥．センサ情報リアルタイム表示

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

Ｐｉのコマンド画面からsubscriber, publisherのやりとりを実施
subscribe側に気温、気圧のデータが受信できていればＯｋ# cd /home/pi/Documents/paho# python mqtt_subscribe_json.py 受信側を先に立ち上げ
別のウインドを開き# python bmp280_mqtt_publish_json.py 送信側立ち上げ

all rights reserved 2018 spectrum technology co.

28

ＡＷＳ ＩｏＴ開発⑥．センサ情報リアルタイム表示

AWS IoTＡＷＳ ＤｙｎａｍｏＤＢでの確認• Ｐｉでその実施した内容をＤｙｎａｍｏＤＢで確認• ＡＷＳのトップから＞ＤｙｎａｍｏＤＢを選択• テーブル＞設定したテーブル＞概要

all rights reserved 2018 spectrum technology co.

29

ＡＷＳ ＩｏＴ開発⑥．センサ情報リアルタイム表示

AWS IoT

ＩＡＭでのユーザ追加• ＡＷＳトップ画面からＩＡＭへ• ユーザ＞ユーザ追加

all rights reserved 2018 spectrum technology co.

30

ＡＷＳ ＩｏＴ開発⑥．センサ情報リアルタイム表示
リアルタイム表示• ＩｏＴ．Ｋｙｏｔｏ様の利用＞グラフ• Ｄｅｖｉｃｅｉｄ：ＢＭＰ２８０（ｐｙｔｈｏｎで書き込み済）• 温度表示all rights reserved 2018 spectrum technology co.

AWS IoT

https://vis.iot.kyoto/

31

ＡＷＳ ＩｏＴ開発⑥．センサ情報リアルタイム表示
リアルタイム表示• ＩｏＴ．Ｋｙｏｔｏ様の利用＞グラフ• Ｄｅｖｉｃｅｉｄ：ＢＭＰ２８０（ｐｙｔｈｏｎで書き込み済）• 気圧表示all rights reserved 2018 spectrum technology co.

AWS IoT

https://vis.iot.kyoto/

32

ＡＷＳ ＩｏＴ開発⑥．センサ情報リアルタイム表示

AWS IoT

Ｃｌｏｕｄｗａｔｃｈの使い方• トラブル時のログ確認ができます。
• ＡＷＳのトップ画面＞Ｃｌｏｕｄｗａｔｃｈ

all rights reserved 2018 spectrum technology co.

33