Posted at

AWS IoT × Raspberrypi でやったことメモ

AWS IoTの使い方を知るために、Raspberrypiと繋げてみることにしました。

その際やったことをメモベースでまとめています。

基本的にRaspberrypi側の設定です。


参考ページ

以下のページを参考にしています。

Raspberry PiにUbuntu MATEをインストール + リモート接続

Raspberry Pi(Raspbian)Python3インストール

AWS IoT Device SDK for Pythonを使ってRaspberryPiとAWS IoTをつないでみる

AWS IoT にデバイスを登録してテストする

主にこちらを主軸に自分に当てはまる環境構築をしていきました。


pip3のインストール等

前準備で以下のコマンドを実行。

$ sudo apt-get update

$ sudo apt-get upgrade
$ sudo apt-get install build-essential tk-dev libncurses5-dev libncursesw5-dev libreadline6-dev libdb5.3-dev libgdbm-dev libsqlite3-dev libssl-dev libbz2-dev libexpat1-dev liblzma-dev zlib1g-dev libffi-dev libc6-dev

python3、pip3をインストール。

(インストールのバージョンは任意)

$ wget https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tgz

$ tar -zxvf Python-3.6.6.tgz
$ cd Python-3.6.6
$ ./configure --prefix=/usr/local
$ sudo make
$ sudo make install
$ sudo pip3 install -U pip
$ sudo pip3 install -U setuptools

自分がインストールしたバージョンか確認。

$ python3 -V

$ pip3 -v


動作環境構築

AWSの不足モジュールをインストール。

(既にある場合は無視)

$ wget https://pypi.python.org/packages/b8/41/ec9d0786b4ae9f6d205a68cf96ade89414337ebaabb88740f02477d840fa/AWSIoTPythonSDK-1.0.0.tar.gz

$ tar xfvz AWSIoTPythonSDK-1.0.0.tar.gz
$ cd AWSIoTPythonSDK-1.0.0
$ chmod +x setup.py
$ sudo python3 ./setup.py install

SDKをインストール。

$ sudo pip3 install AWSIoTPythonSDK

$ git clone https://github.com/aws/aws-iot-device-sdk-python.git
$ cd aws-iot-device-sdk-python
$ cd samples
$ mkdir cert

また、以下のようにcertの直下に証明書を置きます。

cert

|-- xxxxxxxxxx-certificate.pem.crt xxxxxxxx-private.pem.key rootCA.pem


動作確認

以下のコマンドでサンプルを動かすことで、AWS IoTとの接続が確認出来ます。

$ cd samples/basicPubSub

$ python basicPubSub.py --endpoint xxxxxxxxxxxx.iot.ap-northeast-1.amazonaws.com --rootCA ../cert/rootCA.pem --cert ../cert/xxxxxxx-certificate.pem.crt --key ../cert/xxxxxxx-private.pem.key

因みにエンドポイントは以下の場所に書いてありました。

aws-iot1.png


まとめ

スクリーンショット 2019-05-20 20.40.15.png

色々サンプルを動かしてみると、こんな感じで通信出来ていることが確認できました。

ただ、まだ繋いでしかいないので、AWSIoTを使って何かしらやってみたいと思います。