Как исправить AWSIoTPythonSdk.exception.AWSIoTException.subscribeTimeoutException - PullRequest
0 голосов
/ 06 января 2019

Я пытаюсь запустить скрипт для подключения к теме iot на aws, которая имеет обратный вызов обычного сообщения, но соединение не происходит и выдает ошибку, упомянутую в вопросе

Это для raspberry pi, который использует aws iot для подписки на тему и получения настраиваемого сообщения. Я проверил правильность конечной точки. Я дал только частичный код ниже

this is the error

# Custom MQTT message callback
def photoVerificationCallback(client, userdata, message):
print("Received a new message: ")
data = json.loads(message.payload)
try:
    similarity = data[1][0]['Similarity']
    print("Received similarity: " + str(similarity))
    if(similarity >= 90):
        print("Access allowed, opening doors.")
        print("Thank you!")
except:
    pass
print("Finished processing event.")

def checkRFIDNumber(rfidnumber):
return rfidnumber == '0004098554'

# Connect and subscribe to AWS IoT
myAWSIoTMQTTClient.connect()
myAWSIoTMQTTClient.subscribe("rekognition/result", 1, 
photoVerificationCallback)
time.sleep(2)


# Publish to the same topic in a loop forever
while True:
print("waiting..")
scan = waitForRFIDScan()
print(scan)
if(checkRFIDNumber(scan)):
    print("RFID correct, taking photo...")
    uploadToS3(scan)
else:
    print("Bad RFID - Access Denied")

1 Ответ

0 голосов
/ 04 марта 2019

Проблема была не в программе, а в конфигурации на стороне aws, как только я исправил политику, она начала работать

Мне пришлось исправить мою политику iot, которая прикрепляется к сертификатам с iot: * для действий

...