FiFiWiki2

FiFiWikiの第2版

ユーザ用ツール

サイト用ツール


raspberry_pi:aws_iot

差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

次のリビジョン
前のリビジョン
次のリビジョン 両方とも次のリビジョン
raspberry_pi:aws_iot [2017/10/22 02:52]
fifi 作成
raspberry_pi:aws_iot [2017/10/26 05:01]
fifi
ライン 24: ライン 24:
      - private.pem.key,​ public.pem.key,​ certificate.pem.crt,​ root-CA.crt ​      - private.pem.key,​ public.pem.key,​ certificate.pem.crt,​ root-CA.crt ​
    - __done__ これで、Raspberry Pi は AWS IoT Device SDK for C を使用して AWS IoT に接続されました。    - __done__ これで、Raspberry Pi は AWS IoT Device SDK for C を使用して AWS IoT に接続されました。
 +   - ルールを作成する
  
 + - __失敗__ [IoTを使って畑を監視する 2015.12.20](https://​tech.recruit-mp.co.jp/​iot/​farm-monitoring-with-iot/​)
 +   - iot_client.jsが動かない。nodojsが分からないのでエラーの原因が分からん。古そう。
 +   - __here__ pythonでやってみる。
 +     - [AWS IOT SDK](https://​aws.amazon.com/​jp/​iot/​sdk/​)
 +     - できた!! requre('​sys'​)を消すことでうごいた!
 +     - __失敗__ DynamoDBの使い方が分からない。基本からチュートリアルをしないとだめ。一旦中断
  
- - ルールを作成する+## 成功方法 
 +``` 
 +モノを作成 
 +名前:raspi_41_1 
 +ルールを作成 
 +名前:raspiRule_41_1 
 +メッセージのリソース 
 +属性:*, トピックフィルター:topic/​sns,​ 条件:空欄 
 +[アクションの追加]クリック 
 +「SNSプッシュ通知としてメッセージを送信する」を選択 
 +SNSターゲット:iot-sns_test (作成する) 
 +次のページ 
 +メッセージ形式:初期値のまま(JSONにした方が良かった?) 
 +IAMロール名:[新しいロールの作成]クリック 
 +[新しいロールの作成]クリック 
 +IAMロール名:aws_iot_sns_test 
 +[新しいロールの作成]クリック 
 +[ルールを作成する]クリック 
 + 
 +SNSトピックの作成 
 +SNSターゲットで[新しいリソースを作成する]クリック 
 +[Create new topic]クリック 
 +Topic name:iot-sns_test 
 +[Create Topic]クリック 
 +リストから iot-sns_test を選択 
 +[Create subscription]クリック 
 +Topic ARN:初期値のまま 
 +Protocol:Email 
 +Endpoint:(送信先のメールアドレス) 
 +[Create subscription]クリック 
 +受信したメールの Confirm Subscription をクリック 
 +ポリシーの作成 
 +名前:raspiPolicy 
 +アクション:iot:​* 
 +リソースARN:* 
 +許可:ON 
 +[作成]クリック 
 + 
 + 
 + 
 +証明書の作成 
 +1-Click証明書作成の[証明書の作成]クリック 
 +生成された「このモノの証明書」「プライベートキー」をダウンロード 
 +ルートCA証明書もダウンロード (名前を rootCA.pem にした) 
 +[ポリシーのアタッチ]クリック 
 +raspiPolicyを選択して[完了]クリック 
 +左のメニュー セキュリティ/​証明書 から証明書を選択 
 +アクション - モノをアタッチする で raspi_41_1 をアタッチ 
 +アクション - 有効化 
 + 
 + 
 +Raspberry Pi 3 からデータ送信 
 +Mosquittoクライアントを使用 
 +sudo apt-get install -y mosquitto-clients 
 +5分毎に気温、気圧、湿度を取得して送信 
 +   
 + 
 +import time 
 +from subprocess import check_call 
 +from sense_hat import SenseHat 
 +sense = SenseHat() 
 + 
 +while True: 
 +    t = round(sense.get_temperature(),​ 1) 
 +    p = round(sense.get_pressure(),​ 1) 
 +    h = round(sense.get_humidity(),​ 1) 
 + 
 +    msg = "​{'​message':"​ + "'​Temperature:​%s,​ Pressure:​%s,​ Humidity:​%s'"​ % (t,p,h) + "​}"​ 
 + 
 +    check_call(["​mosquitto_pub",​ "​--cafile",​ "​rootCA.pem",​ "​--cert",​ "​4f2df38695-certificate.pem.crt",​ "​--key",​ "​4f2df38695-private.pem.key",​ 
 +    "​-h",​ "​ajm28n1yz8oj0.iot.ap-northeast-1.amazonaws.com",​ "​-p",​ "​8883",​ "​-q",​ "​1",​ "​-d",​ "​-t",​ "​topic/​sns",​ "​-m",​ msg]) 
 + 
 +    sense.show_message(msg,​ scroll_speed=0.05) 
 +    sense.clear() 
 + 
 +    time.sleep(300) 
 + 
 + 
 + 
 + 
 + 
 +  -> 登録したメールアドレスにメールが送られてきた! 
 +  {'​message':'​Temperature:​35.3,​ Pressure:​1016.9,​ Humidity:​46.6'​} 
 + 
 +```
  
raspberry_pi/aws_iot.txt · 最終更新: 2017/11/01 00:17 by fifi