LoginSignup
5
7

More than 5 years have passed since last update.

AWS IOTを使いRaspberry Piからデータを送信する

Posted at

さくらVPS上のRailsアプリのREST APIでデータを溜めてみていたが、AWS IoTを試してみたく設定をしてみる。

Raspberri Pi2 BからAWS IoTへ接続まで。

  1. AWSの管理画面からIoTを選択。
    スクリーンショット 2016-12-23 16.40.46.png

  2. Thingsを作成する。今回はBaobabの名前で作成。
    スクリーンショット 2016-12-23 18.25.48.png
    スクリーンショット 2016-12-23 18.25.34.png

  3. AWS IoTへ接続するための証明書を作成してActivateとダウンロードしておく。
    スクリーンショット 2016-12-23 16.44.20.png
    スクリーンショット 2016-12-23 16.44.44.png

  4. Raspberry PiからAWS IoTへ接続するSDKをダウンロードするが、
    この画面のHTTPSエンドポイントもコピーしておく。
    スクリーンショット_2016-12-23_18_31_29.jpg
    今回はLINUX/OSX -> Pythonを選択。Python 2.7+ or Python 3.3+に対応している。
    スクリーンショット 2016-12-23 18.32.25.png

使い方はこちらが参考になった。
https://github.com/aws/aws-iot-device-sdk-python

  1. 3.でダウンロードしたキーと4.でダウンロードしたSDKをRaspbery PiへSCPやFTPソフトでアップロード。

  2. AWS IoT root CAは鍵と同じディレクトリに準備する。

curl https://www.symantec.com/content/en/us/enterprise/verisign/roots/VeriSign-Class%203-Public-Primary-Certification-Authority-G5.pem -o rootCA.pem

7.Raspberry Piへターミナルでログインし、SDKをインストール。

$ pip install AWSIoTPythonSDK

8.サンプルプログラムで接続の確認。

$ python basicPubSub.py -e <endpoint> -r <rootCAFilePath> -c <certFilePath> -k <privateKeyFilePath>

鍵ファイルはフルパスで記載。

2016-12-23 18:40:01,310 - AWSIoTPythonSDK.core.protocol.mqttCore - DEBUG - Publish request 2 succeeded.
Received a new message: 
New Message 0
from topic: 
sdk/test/Python
--------------


2016-12-23 18:40:02,315 - AWSIoTPythonSDK.core.protocol.mqttCore - DEBUG - Try to put a publish request 3 in the TCP stack.
2016-12-23 18:40:02,317 - AWSIoTPythonSDK.core.protocol.mqttCore - DEBUG - Publish request 3 succeeded.
Received a new message: 
New Message 1
from topic: 
sdk/test/Python
--------------

接続できた。

9.ダッシュボードでも確認できます。

スクリーンショット 2016-12-23 18.46.46.png

前回のPythonプログラムを作り変えつつ、
LambdaでDBへ繋ぐなど全体の設計を見直してみる。

5
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
7