- How to Implement MQTT with TLS Client Authentication on Port 443 from Client Devices (Python)
- Use AWS IoT Core MQTT broker with standard MQTT libraries
- AWS IoT + Rules + Lambda Function + DynamoDB
在 AWS 服務上,已經啟動,所以只要取得和他 (IOT broker) 溝通的 url 就可以。
到 aws iot core 管理網頁(Settings),就會知道你的帳號的 endpoint 位址是什麼。
可以 ping 看看...
aws iot 是 mqtt over tls,所以需要 一個 pem.
aws iot console 頁面會自動幫你產生一組 ca pem, pub/priv key.
在左邊 "security -- certificate" ,右邊就會出現在所有的 certification,
用 add certificate -- create new 就會新產生一組。
之後的 download 頁面,把每一個 key, cert, pem file 都 download 下來,只有這一次機會,頁面關掉就沒了。
之後的 certification 頁面就會多出這一個 entry.
AWS IOT 的各個 topic 的 sub/pub/con 都是可以設定/限制的,用 Policy (一個 json file)
進入 某格 certfication entry 後,用 attach policies 來決定讓這個 cert 用那一個 policy .
如果沒有現成的 policy,就要 create 一個,一樣,左邊欄的 "Security -- Policy"
一個沒有任何限制的 policy json file 會是:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iot:*", "Resource": "*" } ] }
上面列的 ref 中有 python + paho tls 的 example code.
把source 中的 key, crt, pem path 換成自己的 path, endpoint 也改成自己的 url,就可以 run 了。
他會向 test/date 送出 payload 是 date-time 的字串,所以用 aws iot console -- MQTT test client 的 subscribe 時,要把 MQTT payload display 改成 string,才會正常顯示 (default 是 json)
沒有留言:
張貼留言