- 追加された行はこの色です。
- 削除された行はこの色です。
// 下階層用テンプレート
#topicpath
----
//ここにコンテンツを記述します。
#contents
AWS IoTは、ラズパイなどのハードウェアなどからAWSに接続して、AWSの様々なサービスを呼び出すためのプラットフォームです。デバイスの認証認可が行え、証明書を持たないデバイスからの通信は受け付けないとか、その辺がいい感じみたいですね。
*** AWS IoT の設定追加 [#c50493bc]
-[[AWS IoTとRaspberry PiではじめるIoT超入門 (1/4):CodeZine(コードジン)>http://codezine.jp/article/detail/9530]] この記事をひたすらトレース。。とても参考になりました。。
topic/sns というTopicにメッセージを送信すると、所定のアドレスにそのメッセージがメールされるようになりました。
ここまでで、topic/sns というTopicにメッセージを送信すると、所定のアドレスにそのメッセージがメールされるようになりました。
*** Mosquitto Clientsのインストール [#re82a64b]
ラズパイに MQTT をしゃべらせるためのライブラリを入れます。
sudo apt-get install mosquitto-clients
これでインストールは完了なんですが、どうも疎通確認をしたところバージョンが古くてダメらしく、、 [[Installing MQTT Broker(Mosquitto) on Raspberry Pi>http://www.instructables.com/id/Installing-MQTT-BrokerMosquitto-on-Raspberry-Pi/]] を参考にしながら最新版に差し替えました。
*** 証明書の配置 [#ue133270]
さて、IoTの設定画面から
- xxxx-certificate.pem.crt
- xxxxx-private.pem.key
をダウンロードしてカレントに配置しておきます。また [[Getting Started with AWS IoT on Raspberry Pi and the AWS IoT Device SDK for JavaScript - AWS IoT>http://docs.aws.amazon.com/iot/latest/developerguide/iot-device-sdk-node.html]] のDownload a root CA certificate from here から、CAの証明書をダウンロードして rootCA.pem として配置しておきます。
をダウンロードしてカレントディレクトリに配置しておきます。また [[Getting Started with AWS IoT on Raspberry Pi and the AWS IoT Device SDK for JavaScript - AWS IoT>http://docs.aws.amazon.com/iot/latest/developerguide/iot-device-sdk-node.html]] のDownload a root CA certificate from here から、CAの証明書をダウンロードして rootCA.pem として配置しておきます。
***疎通 [#x59fc681]
さいごに下記のコマンドで、メールが送られてくれば成功です。
mosquitto_pub --cafile rootCA.pem --cert xxxx-certificate.pem.crt
--key xxxxx-private.pem.key -h xxxxxx.iot.ap-northeast-1.amazonaws.com
-p 8883 -q 1 -d -t topic/sns -m '{"foo":"bar"}'
*** Pythonから呼び出し [#u0c85ff4]
SDKをインストールします
sudo pip install AWSIoTPythonSDK
つぎにGithubから
-[[SDKs | The Internet of Things on AWS – Official Blog>https://aws.amazon.com/jp/blogs/iot/category/aws-iot/sdks/]] を見ながらサンプルなどをインストール。
git clone https://github.com/aws/aws-iot-device-sdk-python.git
cd aws-iot-device-sdk-python
python setup.py install ← もしくは sudo python3 setup.py install とか。
これでサンプルを疎通しようとしたのですが、具体的には
cd samples/basicPubSub/
sudo python3 basicPubSub.py ........
としようとしたところエラー。どうもpython3から実行するには、[[ImportError with Python 3>https://github.com/aws/aws-iot-device-sdk-python/issues/23]] によると、basicPubSub.py をすこしいじる必要があるっぽい。サイトの通りに変更したところ正しく動くようになりました。
実行したサンプルは以下の通り:
さて実行したサンプルは以下の通り:
sudo python3 basicPubSub.py -e xxxxxx.iot.ap-northeast-1.amazonaws.com
-r /home/pi/aws-iot/rootCA.pem
-c /home/pi/aws-iot/xxx-certificate.pem.crt
-k /home/pi/aws-iot/xxxxx-private.pem.key
これでデフォでは1秒に一回、サーバにメッセージが送信されます((あ、サンプルはTopic名が別だったり、1秒に一回でバンバンメール来ちゃったりとか、いくつか要修正ですね))。
このサンプルは初期の状態では1秒に一回、Topicにメッセージを投げるようになっています。サンプルはTopic名が上記の topic/sns とは別なのでそれを変更すると、1秒に一回の頻度でバンバンメールを飛ばして来ちゃいます。loopの秒数は替えて実行したほうがよいですのでご注意を。
**関連リンク [#tbed3c0d]
-[[Installing MQTT Broker(Mosquitto) on Raspberry Pi>http://www.instructables.com/id/Installing-MQTT-BrokerMosquitto-on-Raspberry-Pi/]] デフォルトのMosquittoではうまく動かなかったので、最新版に差し替える件
-[[AWS IoT Device SDK for PythonをRaspberryPiで動かす - Qiita>http://qiita.com/YamauchiHideki/items/13e1e6a28d4b71f7d159]] Python版のIoT SDKを説明
-[[SDKs | The Internet of Things on AWS – Official Blog>https://aws.amazon.com/jp/blogs/iot/category/aws-iot/sdks/]] Python版SDKの公式Web
- https://github.com/aws/aws-iot-device-sdk-python/issues/23 Python3でSDKを使う場合はさらにこれ。
-[[AWS IoTとRaspberry PiではじめるIoT超入門 (1/4):CodeZine(コードジン)>http://codezine.jp/article/detail/9530]] 設定が詳しく書いてある
-[[AWS IoTを使って、 Intel Edisonで取得した光センサデータがしきい値を下回った際にメール通知する。 - Qiita>http://qiita.com/akinchu/items/ff6ceea076785d84bf31]] JavaScript SDKや、先のデフォのMosquittoのバージョンじゃダメな件が書いてある
----
この記事は
#vote(おもしろかった,そうでもない)
#comment
#topicpath
SIZE(10){現在のアクセス:&counter;}