【AWS IoT】Raspberry PiとAWS IoTを接続してみた ~その1 AWS IoTのはなし~

はじめに

こんにちは、がんがんです。最近はAWSをよく触っております。理由としては、今後扱おうとしている通信モジュールの無料対象がAWS IoTだったからです。
今月開催されたJAWS-UG 鹿児島に参加し、AWSに対するモチベーションは非常に高いです。

AWS IoTの実験を一通り試してみたので、自身の備忘録としてまとめていきます。
今回はAWS IoTの導入についてまとめていきます。

目的

  • AWS IoTを触ってみる(今回)
  • AWS IoT SDKの導入(今回)
  • DynamoDBを触ってみる
  • AWS LambdaおよびAPI Gatewayを触ってみる

環境

  • OS:Raspbian(Stretch)
  • 言語:Python
  • 利用サービス:AWS IoT・DynamoDB

IoTについて

公式のドキュメントとAWSのUser GroupであるJAWS
docs.aws.amazon.com

jawsdays2019.jaws-ug.jp

AWS IoTの導入

今回はSDKを用いて実験を行っていきます。まずは以下の画面よりSDKの設定を行います。
f:id:gangannikki:20191029022441j:plain

遷移した以下の画面を経て、OSや言語の設定画面に遷移します。
f:id:gangannikki:20191029022536j:plain

今回は対象OS:Linux、対象言語:Pythonで実験を行います。
f:id:gangannikki:20191029022549j:plain


手順としては以下の通りです。
1. テバイスの登録および接続キットのダウンロード
2. ラズパイへのscp送信およびデバイスの設定

1. テバイスの登録および接続キットのダウンロード

まずはデバイスの登録とダウンロードを行います。デバイスについては既存のものでも大丈夫です。
接続キットのダウンロードについてもこちらを参考にしてダウンロードします。

2. ラズパイへのscp送信およびデバイスの設定

次に、ラズパイでの設定を行います。scpコマンドを用いてラズパイへと転送し、解凍を行っていきます。

f:id:gangannikki:20191029024221j:plain
STEP3の表示画面

コマンドは以下の通りです。

# scp ~/Downloads/connect_device_package.zip pi@xxx.xxx.xxx.xxx:~/
# unzip connect_device_package.zip
# sudo chmod +x start.sh
# ./start.sh

うまく接続ができるとメッセージが送信されます。

f:id:gangannikki:20191029024329j:plain
送信結果

sdkのエラー

shellの実行時にPermissionによるエラーが起きました。解決方法を探してみると、同様の問題を起きている方がいました。こちらの方はpyenvを導入して改善していました。

qiita.com

まとめ

今回はAWS IoT SDKの導入を行いました。次回はラズパイからのセンサ情報をDynamoDBへと格納していきます。