テックブログ

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

投稿日:2019年5月20日 更新日:

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を使って何かしらやってみたいと思います。

-テックブログ
-, , ,

執筆者:

関連記事

Raspberry PiでAWS GreenGrassをセットアップし、AWS Lambda 関数を設定するまで

最近、組み込み×クラウドの話をよく耳にします。自分でも、どんな取り組みがあるのかと調べては試してを繰り返しています。 そんな中、AWS Summit で「IoT GreenGrass」を見て便利そうだ …

no image

Go言語で数値かどうかを判定する

実装で気になったところをメモ程度に残していく。 正規表現による方法 正規表現を使うと処理速度は遅くなるので、ループを多く回す時には不向きかもしれない。(個人的にはあまり気にならなかった) flag, …

no image

Go言語 × AWSIoT × Raspberrypi やってみた

前の記事ではRaspberrypiとAWSIoTを通信させる時、サンプルのPythonプログラムで動かしました。その際、他にも通信をする方法あるのかなと探してみたところ、Goでも出来そうだったので試し …

トップ