SNSトピックの作成 SNSターゲットで[新しいリソースを作成する]クリック [Create new topic]クリック Topic name:iot-snstest [Create Topic]クリック リストから iot-snstest を選択 [Create subscription]クリック Topic ARN:初期値のまま Protocol:Email Endpoint:(送信先のメールアドレス) [Create subscription]クリック 受信したメールの Confirm Subscription をクリック ポリシーの作成 名前:raspiPolicy アクション:iot: リソースARN: 許可:ON [作成]クリック
証明書の作成 1-Click証明書作成の[証明書の作成]クリック 生成された「このモノの証明書」「プライベートキー」をダウンロード ルートCA証明書もダウンロード (名前を rootCA.pem にした) [ポリシーのアタッチ]クリック raspiPolicyを選択して[完了]クリック 左のメニュー セキュリティ/証明書 から証明書を選択 アクション - モノをアタッチする で raspi411 をアタッチ アクション - 有効化
Raspberry Pi 3 からデータ送信 Mosquittoクライアントを使用 sudo apt-get install -y mosquitto-clients 5分毎に気温、気圧、湿度を取得して送信
import time from subprocess import checkcall from sensehat 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'}