【问题标题】:fatal error: mbedtls/config.h: No such file or directory致命错误:mbedtls/config.h:没有这样的文件或目录
【发布时间】:2021-12-17 20:45:35
【问题描述】:

我正在尝试将 Arduino UNO WiFi rev 2 与 AWS IoT 连接。 目前,我只想每 1000 毫秒发送一个随机数。

#include <WiFi.h>
#include <AWS_IOT.h>

#define WIFI_SSID "_____" // SSID of your WIFI
#define WIFI_PASSWD "_____" //your wifi password

#define CLIENT_ID "Tester"// thing unique ID, this id should be unique among all things associated with your AWS account.
#define MQTT_TOPIC "$aws/things/IOT_test/shadow/update" //topic for the MQTT data
#define AWS_HOST "______________________" // your host for uploading data to AWS,

AWS_IOT aws;

void setup(){
  Serial.begin(9600);
  Serial.println("Initializing thing for AWS");

  Serial.print("Initializing WIFI: Connecting to: ");
  Serial.println(WIFI_SSID);
  WiFi.begin(WIFI_SSID, WIFI_PASSWD);
  Serial.print("  ");
  while(WiFi.status() != WL_CONNECTED){
    Serial.print(".");
    delay(500);
  }
  Serial.println("\n  Connected.\n  Done");

  Serial.print("\n  Initializing program...");

  Serial.println("\n  Initializing connetction to AWS....");
  if(aws.connect(AWS_HOST, CLIENT_ID) == 0){ // connects to host and returns 0 upon success
    Serial.println("  Connected to AWS\n  Done.");
  }
  else {
    Serial.println("  Connection failed!\n check for MQTT problems");
  }
  Serial.println("  Done.\n");
}

void loop(){
  // read temperature and humidity
  float number = random(1, 50);

    //create string payload for publishing
    String random_number = "Random number: ";
    random_number += String(number);
    random_number += " %";

    char payload[25];
    random_number.toCharArray(payload, 25);

    Serial.println("Publishing:- ");
    Serial.println(payload);
     if(aws.publish(MQTT_TOPIC, payload) == 0){// publishes payload and returns 0 upon success
      Serial.println("Success\n");
    }
    else{
      Serial.println("Failed!\n");
    }
  }

  delay(1000);
}

我正在关注tutorial for the NodeMCU-ESP32

编译代码后,出现以下错误:

In file included from /Users/jesuschueca/Documents/Arduino/libraries/AWS_IOT/src/network_interface.h:35:0,
                 from /Users/jesuschueca/Documents/Arduino/libraries/AWS_IOT/src/aws_iot_mqtt_client.h:57,
                 from /Users/jesuschueca/Documents/Arduino/libraries/AWS_IOT/src/AWS_IOT.cpp:39:
/Users/jesuschueca/Documents/Arduino/libraries/AWS_IOT/src/network_platform.h:20:10: fatal error: mbedtls/config.h: No such file or directory
 #include "mbedtls/config.h"
          ^~~~~~~~~~~~~~~~~~
compilation terminated.
exit status 1
Error compilando para la tarjeta Arduino Uno WiFi Rev2.

知道我可能做错了什么,或者我所遵循的教程不兼容吗?

谢谢。

【问题讨论】:

  • 你为 Uno WiFi 上的 esp32 Nina 模块写草图?主 MCU 上的 WiFiNINA 库 应与板载 esp32 模块中的 Arduino nina 固件一起使用。
  • 好吧,我应该把它改成#include ,对吗?
  • 我改了,问题依旧。

标签: arduino wifi aws-iot


【解决方案1】:

问题似乎与mbedtls 3.0.0有关。

在 2.27.0 下,包含目录下存在 mbedtls/config.h,但在 3.0.0 下则没有。

因此,我无法使用 mbedtls 3.0.0 编译 curl - 但我可以使用 mbedtls 2.27.0 编译 curl。

当您切换到 mbedtls 2.27.0 时,也许您的问题已解决。

【讨论】:

    猜你喜欢
    • 2017-05-09
    • 2021-05-15
    • 2014-10-31
    • 2022-01-11
    • 2021-09-19
    • 2016-06-23
    • 2015-05-16
    相关资源
    最近更新 更多