无法使用基本发布/订阅示例将AWS IoT连接到Arduino云

无法使用基本发布/订阅示例将AWS IoT连接到Arduino云,arduino,arduino-yun,aws-iot,Arduino,Arduino Yun,Aws Iot,我正在尝试建立亚马逊网络服务IoT(物联网)与我的Arduino云的连接。我遵循了一个关于使用“BasicPubSub”Arduino示例发送和接收消息的教程,但它会说: Failed to Connect! -13 这意味着“未找到连接凭据”。我在头文件中有正确的凭据和信息,也有正确的文件,它们是:xxx-certificate.pem.crt、xxx-private.pem.key和root_certificate.pem,当我SSH到Arduino服务器时,它们位于目录“/root/ce

我正在尝试建立亚马逊网络服务IoT(物联网)与我的Arduino云的连接。我遵循了一个关于使用“BasicPubSub”Arduino示例发送和接收消息的教程,但它会说:

Failed to Connect!
-13
这意味着“未找到连接凭据”。我在头文件中有正确的凭据和信息,也有正确的文件,它们是:xxx-certificate.pem.crt、xxx-private.pem.key和root_certificate.pem,当我SSH到Arduino服务器时,它们位于目录“/root/certs/”中。以下是我的头文件:

#ifndef config_usr_h
#define config_usr_h

// Copy and paste your configuration into this file
//===============================================================
#define AWS_IOT_MQTT_HOST "xxx.iot.us-east-1.amazonaws.com" // endpoint
#define AWS_IOT_MQTT_PORT 8883
#define AWS_IOT_CLIENT_ID "client_id"   // client ID
#define AWS_IOT_MY_THING_NAME "thing_name"  // thing name
#define AWS_IOT_ROOT_CA_FILENAME "root_certificate.pem" // root-CA filename
#define AWS_IOT_CERTIFICATE_FILENAME "xxx-certificate.pem.crt"                 // your certificate filename
#define AWS_IOT_PRIVATE_KEY_FILENAME "xxx-private.pem.key" // private key
//===============================================================
// SDK config, DO NOT modify it
#define AWS_IOT_PATH_PREFIX "../certs/"
#define AWS_IOT_ROOT_CA_PATH AWS_IOT_PATH_PREFIX AWS_IOT_ROOT_CA_FILENAME           // use this in config call
#define AWS_IOT_CERTIFICATE_PATH AWS_IOT_PATH_PREFIX AWS_IOT_CERTIFICATE_FILENAME   // use this in config call
#define AWS_IOT_PRIVATE_KEY_PATH AWS_IOT_PATH_PREFIX AWS_IOT_PRIVATE_KEY_FILENAME   // use this in config call

#endif

因此,我的问题是Arduino云无法识别“/root/certs/”目录中的文件,其中的凭据将连接到AWS IoT。请在这个问题上帮助我。提前感谢您。

对于其他点击此按钮的人,我只是在运行基于ThingSample的以前工作的代码时遇到了这个问题。使用最新的api(2.1.0),据我所知,放置certs文件夹的位置似乎发生了变化。该文件夹应位于/root/AWS IoT Python Runtime/Runtime/certs中。很遗憾,安装脚本没有将证书放在该文件夹中

错误代码-13未找到连接凭据。可能您将证书放置在错误的位置,或者名称与上述代码不匹配?