рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдпрд╣ рдПрдХ рдмрдЧ рд╣реИ, рдиреАрдЪреЗ [ ] рдХреЛ [x] рдореЗрдВ рдмрджрд▓рдХрд░ рдкреБрд╖реНрдЯрд┐ рдХрд░реЗрдВ:
рдмрдЧ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВ
рд╡реЗрдмрд╕реЛрдХреЗрдЯ рдХрдиреЗрдХреНрд╢рди рдкрд░ MQTT рдХрдиреЗрдХреНрдЯ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛, рднрд▓реЗ рд╣реА рдПрдХ рд╕рд╛рдорд╛рдиреНрдп MQTT рдареАрдХ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реЛред
рдПрд╕рдбреАрдХреЗ рд╕рдВрд╕реНрдХрд░рдг рд╕рдВрдЦреНрдпрд╛
awscrt==0.5.13
awsiotsdk==1.0.6
рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдо/рдУрдПрд╕/рдбрд┐рд╡рд╛рдЗрд╕
MAC
рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рдордирд╛рдпрд╛ рд╡реНрдпрд╡рд╣рд╛рд░)
рдЕрдкреЗрдХреНрд╖рд┐рддреН рд╡реНрдпрд╡рд╣рд╛рд░
рдпрдерд╛рд╕рдВрднрд╡ рд╕реБрдЪрд╛рд░реВ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
рд▓реЙрдЧ/рдЖрдЙрдЯрдкреБрдЯ
рдкреВрд░реНрдг рд▓реЙрдЧ рдпрд╣рд╛рдВ рдкрд╛рдП рдЬрд╛ рд╕рдХрддреЗ
python pubsub.py --endpoint xxxxxxxx-ats.iot.us-east-2.amazonaws.com --root-ca AmazonRootCA1.pem --cert Certificate.crt --key PrivateKey.pem.key --use-websocket --signing-region us-east-2 --verbosity Debug
рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдВрджрд░реНрдн
рд╡реЗрдмрд╕реЛрдХреЗрдЯ рдХреЗ рдмрд┐рдирд╛ рдХрдиреЗрдХреНрдЯ рд╣реЛрдиреЗ рдкрд░ рдпрд╣ рдЕрдкреЗрдХреНрд╖рд╛ рдХреЗ рдЕрдиреБрд░реВрдк рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдЖрдк рдЗрд╕реЗ рдмрдВрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ IAM рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдЕрдиреБрдорддрд┐рдпреЛрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдЕрдиреБрдорддрд┐рдпреЛрдВ рдореЗрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдереА, рдЗрд╕рд▓рд┐рдП рдХреБрдЫ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛:
awscrt.exceptions.AwsCrtError: AwsCrtError(name='AWS_ERROR_MQTT_UNEXPECTED_HANGUP', message='The connection was closed unexpectedly.', code=5134)
рд╣рд╛рдп, рдХреНрд╖рдорд╛ рдХрд░реЗрдВ II рдХреЛ рдпрд╣ рдирд╣реАрдВ рдорд┐рд▓рд╛ рдХрд┐ рдЖрдкрдиреЗ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХреИрд╕реЗ рдХрд┐рдпрд╛ред рдХреНрдпрд╛ рдЖрдк рдФрд░ рдЕрдзрд┐рдХ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдирдореВрдирд╛ Shadow.py рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдореБрдЭреЗ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ рдФрд░ рдореИрдВ рдПрдХ рдиреМрд╕рд┐рдЦрд┐рдпрд╛ рд╣реВрдВ
рдЕрдирдкреЗрдХреНрд╖рд┐рдд рд╣реИрдВрдЧрдЕрдк рдХреЗ рдХрдИ рдХрд╛рд░рдг рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡рд┐рдХреНрдЯрд░-рд╕рд░реНрд╡реЗрдВрдЯ рдиреЗ AWSIOTFullAccess рдирд╛рдордХ рдПрдХ рд╕реБрдкрд░ рдЕрдиреБрдореЗрдп IAM рдиреАрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд┐рдпрд╛ред рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦ рд░рд╣рд╛ рд╣реИ:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"iot:*"
],
"Resource": "*"
}
]
}
рдЕрдкрдирд╛ рдХреЛрдб рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдкреЙрд▓рд┐рд╕реА рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЛ рдХреЗрд╡рд▓ рд╡рд╣реА рдХрд░рдирд╛ рд╣реИ рдЬреЛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЕрдЧрд░ рдЖрдкрдХреЛ рдЕрднреА рднреА рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдкрд░реЗрд╢рд╛рдиреА рд╣реЛ рд░рд╣реА рд╣реИ, рддреЛ рдореИрдВ рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рдЦреЛрд▓рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдХреНрдпрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдЖрдк рдХрд╣рд╛рдВ рдлрдВрд╕ рдЧрдП рд╣реИрдВред