Aws-iot-device-sdk-python-v2: Websocket рдкрд░ MQTT рдХрдиреЗрдХреНрдЯ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛

рдХреЛ рдирд┐рд░реНрдорд┐рдд 28 рдЕрдкреНрд░реИрд▓ 2020  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: aws/aws-iot-device-sdk-python-v2

рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдпрд╣ рдПрдХ рдмрдЧ рд╣реИ, рдиреАрдЪреЗ [ ] рдХреЛ [x] рдореЗрдВ рдмрджрд▓рдХрд░ рдкреБрд╖реНрдЯрд┐ рдХрд░реЗрдВ:

рдмрдЧ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВ
рд╡реЗрдмрд╕реЛрдХреЗрдЯ рдХрдиреЗрдХреНрд╢рди рдкрд░ MQTT рдХрдиреЗрдХреНрдЯ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛, рднрд▓реЗ рд╣реА рдПрдХ рд╕рд╛рдорд╛рдиреНрдп MQTT рдареАрдХ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реЛред

рдПрд╕рдбреАрдХреЗ рд╕рдВрд╕реНрдХрд░рдг рд╕рдВрдЦреНрдпрд╛
awscrt==0.5.13
awsiotsdk==1.0.6

рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдо/рдУрдПрд╕/рдбрд┐рд╡рд╛рдЗрд╕
MAC

рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рдордирд╛рдпрд╛ рд╡реНрдпрд╡рд╣рд╛рд░)

  1. рдПрдЖрд░рдПрди рдХреЗ рд▓рд┐рдП рдкреЙрд▓рд┐рд╕реА рдЖрдИрдУрдЯреА:* рдФрд░ * рдХреЗ рд╕рд╛рде рдПрдХ рдирдИ рдЪреАрдЬ рдмрдирд╛рдПрдВред
    2.- websocket рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде pubsub рдЙрджрд╛рд╣рд░рдг рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ, рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

рдЕрдкреЗрдХреНрд╖рд┐рддреН рд╡реНрдпрд╡рд╣рд╛рд░
рдпрдерд╛рд╕рдВрднрд╡ рд╕реБрдЪрд╛рд░реВ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП

рд▓реЙрдЧ/рдЖрдЙрдЯрдкреБрдЯ

рдкреВрд░реНрдг рд▓реЙрдЧ рдпрд╣рд╛рдВ рдкрд╛рдП рдЬрд╛ рд╕рдХрддреЗ

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

рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдВрджрд░реНрдн
рд╡реЗрдмрд╕реЛрдХреЗрдЯ рдХреЗ рдмрд┐рдирд╛ рдХрдиреЗрдХреНрдЯ рд╣реЛрдиреЗ рдкрд░ рдпрд╣ рдЕрдкреЗрдХреНрд╖рд╛ рдХреЗ рдЕрдиреБрд░реВрдк рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рд╕рднреА 3 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЖрдк рдЗрд╕реЗ рдмрдВрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ IAM рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдЕрдиреБрдорддрд┐рдпреЛрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдЕрдиреБрдорддрд┐рдпреЛрдВ рдореЗрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдереА, рдЗрд╕рд▓рд┐рдП рдХреБрдЫ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛:

  1. рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рддреНрд░реБрдЯрд┐ рдЗрд╕рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХреБрдЫ рджрд┐рдЦрд╛рддреА рд╣реИ рдФрд░ рдирд╣реАрдВ:
    awscrt.exceptions.AwsCrtError: AwsCrtError(name='AWS_ERROR_MQTT_UNEXPECTED_HANGUP', message='The connection was closed unexpectedly.', code=5134)
    2.- рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЖрдк рд▓реЛрдЧреЛрдВ рдХреЛ рдЙрд╕ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреА рдУрд░ рдЗрдВрдЧрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдБ рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рдХрд┐рди рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдореИрдВрдиреЗ AWSIOTFullAccess рджрд┐рдпрд╛, рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░ рдЧрдпрд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд┐рди рд▓реЛрдЧреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рд╣рд╛рдп, рдХреНрд╖рдорд╛ рдХрд░реЗрдВ II рдХреЛ рдпрд╣ рдирд╣реАрдВ рдорд┐рд▓рд╛ рдХрд┐ рдЖрдкрдиреЗ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХреИрд╕реЗ рдХрд┐рдпрд╛ред рдХреНрдпрд╛ рдЖрдк рдФрд░ рдЕрдзрд┐рдХ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдирдореВрдирд╛ Shadow.py рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдореБрдЭреЗ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ рдФрд░ рдореИрдВ рдПрдХ рдиреМрд╕рд┐рдЦрд┐рдпрд╛ рд╣реВрдВ

рдЕрдирдкреЗрдХреНрд╖рд┐рдд рд╣реИрдВрдЧрдЕрдк рдХреЗ рдХрдИ рдХрд╛рд░рдг рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡рд┐рдХреНрдЯрд░-рд╕рд░реНрд╡реЗрдВрдЯ рдиреЗ AWSIOTFullAccess рдирд╛рдордХ рдПрдХ рд╕реБрдкрд░ рдЕрдиреБрдореЗрдп IAM рдиреАрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд┐рдпрд╛ред рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦ рд░рд╣рд╛ рд╣реИ:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "iot:*"
            ],
            "Resource": "*"
        }
    ]
}

рдЕрдкрдирд╛ рдХреЛрдб рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдкреЙрд▓рд┐рд╕реА рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЛ рдХреЗрд╡рд▓ рд╡рд╣реА рдХрд░рдирд╛ рд╣реИ рдЬреЛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЕрдЧрд░ рдЖрдкрдХреЛ рдЕрднреА рднреА рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдкрд░реЗрд╢рд╛рдиреА рд╣реЛ рд░рд╣реА рд╣реИ, рддреЛ рдореИрдВ рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рдЦреЛрд▓рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдХреНрдпрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдЖрдк рдХрд╣рд╛рдВ рдлрдВрд╕ рдЧрдП рд╣реИрдВред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕