자유게시판
저는 예제의 Step9에서 넘어가지 못하여 하루를 허비 했네요.
분명 똑같이 했는데 ???? 왜 연결이 되지 않을까????
Step 9: Adding the Baltimore Certificate Azure
IoT Hub 에서 Pico W 를 신뢰할 수 있도록 볼티모어 SSL 인증서를 사용하여 MQTT 연결을 암호화합니다. 여러분 사이에서 눈길을 끄는 독수리는 우리가 이미이 인증서를 코드에서 참조하고 있다는 것을 알게 될 것이므로 이제 Pico W 에 이것을 추가해야합니다. 새 파일을 만들고 다음을 붙여 넣습니다.
-----BEGIN CERTIFICATE-----
MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJ RTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYD VQQDExlCYWx0aW1vcmUgQ3liZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoX DTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMCSUUxEjAQBgNVBAoTCUJhbHRpbW9y ZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFsdGltb3JlIEN5YmVy VHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKMEuyKr mD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjr IZ3AQSsBUnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeK mpYcqWe4PwzV9/lSEy/CG9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSu XmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9XbIGevOF6uvUA65ehD5f/xXtabz5OTZy dc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjprl3RjM71oGDHweI12v/ye jl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoIVDaGezq1 BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3 DQEBBQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT92 9hkTI7gQCvlYpNRhcL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3Wgx jkzSswF07r51XgdIGn9w/xZchMB5hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0 Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsaY71k5h+3zvDyny67G7fyUIhz ksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9HRCwBXbsdtTLS R9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp
-----END CERTIFICATE-----
원인은 새파일을 만들고 붙여넣는 위치에 있었습니다.
당연히 Certificate문서도 /lib에 있어야 한다고 생각해서 /lib folder에 붙여 넣기를 했습니다.
이것이 패착이였습니다.
Certificate문서는 반드시 RicoW의 Root에 붙여넣기를 하시기 바랍니다.
다른 방법으로는 Path를 변경해 주시면 됩니다.
def mqtt_connect():
certificate_path = "/lib/baltimore.cer"
AWS연결 에서도 *.der file을 Root에 넣어 주셔야 연결이 됩니다.
아니면 하기와 같이 AWS의 Key File과 Certi file의 위치의 Path를 변경하여 주시기 바랍니다.
# downloaded from AWS website is in pem format
keyfile = 'lib/certs/private.der'
certfile = "lib/certs/certificate.der"
로그인 후
참가 상태를 확인할 수 있습니다.