AWS IoTの使い方を知るために、Raspberrypiと繋げてみることにしました。
その際やったことをメモベースでまとめています。
基本的にRaspberrypi側の設定です。
参考ページ
以下のページを参考にしています。
Raspberry PiにUbuntu MATEをインストール + リモート接続
Raspberry Pi(Raspbian)Python3インストール
AWS IoT Device SDK for Pythonを使ってRaspberryPiと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