MqTT 连接问题 Uno R4 Wifi

问题描述 投票:0回答:1

我正在尝试制作一个 Alexa 控制的按钮按压器,并用伺服器来驱动按钮。我正在使用 Uno R4 Wifi,但遇到了此错误:

ArduinoIoTCloudTCP::handle_ConnectMqttBroker 无法连接到 mqtts-up.iot.arduino.cc:8884 ArduinoIoTCloudTCP::handle_ConnectMqttBroker 在滴答时间 27850 进行 1 次连接尝试

这是我的代码:

#include "thingProperties.h"
#include "WiFiS3.h"
#include "Servo.h"
#include "Arduino_WiFiConnectionHandler.h"

char ssid[] = "ASK4 Wireless";

int status = WL_IDLE_STATUS;

WiFiServer server(80);
Servo myservo;

void setup() {
  //Initialize serial and wait for port to open:
  Serial.begin(9600);
  delay(1500);
  myservo.attach(7);

  //initProperties();
  ArduinoCloud.begin(ArduinoIoTPreferredConnection);
  setDebugMessageLevel(2);
  ArduinoCloud.printDebugInfo();

  while (!Serial) {
    ;  // wait for serial port to connect. Needed for native USB port only
  }

  // check for the WiFi module:
  if (WiFi.status() == WL_NO_MODULE) {
    Serial.println("Communication with WiFi module failed!");
    // don't continue
    while (true)
      ;
  }

  String fv = WiFi.firmwareVersion();
  if (fv < WIFI_FIRMWARE_LATEST_VERSION) {
    Serial.println("Please upgrade the firmware");
  }

  // attempt to connect to WiFi network:
  while (status != WL_CONNECTED) {
    Serial.print("Attempting to connect to SSID: ");
    Serial.println(ssid);
    // Connect to WPA/WPA2 network. Change this line if using open or WEP network:
    status = WiFi.begin(ssid);

    // wait 10 seconds for connection:
    delay(10000);
  }
  server.begin();
  // you're connected now, so print out the status:
  printWifiStatus();
  
  while (ArduinoCloud.connected() == false) {
    ArduinoCloud.update();
    delay(500);
  }
}

void printWifiStatus() {
  // print your board's IP address:
  IPAddress ip = WiFi.localIP();
  Serial.print("IP Address: ");
  Serial.println(ip);

  // print the received signal strength:
  long rssi = WiFi.RSSI();
  Serial.print("signal strength (RSSI):");
  Serial.print(rssi);
  Serial.println(" dBm");
}

void loop() {
  // put your main code here, to run repeatedly:
  //Serial.print("Test");
  ArduinoCloud.update();
  delay(2500);
}

void onFanChange()  {
  // Add your code here to act upon ExtractorFan change
  myservo.write(0);
  delay(1000);
  myservo.write(120);
}

这是我多年来的第一个合适的项目,因此感谢所有建议。

(仅供参考,我住在使用 ASK4 互联网的建筑物中。对于此服务,您必须将设备的 MAC 地址添加到您的帐户才能连接。我已通过监视器确认它确实连接到 wifi但也会出现此错误。我可以将设备添加到我的 Alexa 帐户,但没有任何反应。)

TIA :)

我尝试浏览网络和各种论坛。没有任何帮助。

wifi alexa-skills-kit arduino-uno
1个回答
0
投票

我从遇到的错误中了解到,这主要与使用 Arduino Uno R4 Wifi 连接到 mqtts 有关。下面的教程使用 ArduinoMqttClient 和 WiFiNINA 库以及 uno-wifi-r2 通过 MQTT 发送数据,我希望这可能有助于成功实现与 Mqtts 的连接:

我注意到您可以通过 Alexa 应用程序上的 Arduino 技能添加设备,因此我怀疑与 mqtts 代理正确建立连接时仍然存在问题,您可能会通过查看 Arduino 找到有关 arduino 和 mqtts 相关问题、配置的更多资源论坛和文档解决类似问题

就 Alexa 而言,我知道您肯定正在使用 Arduino 技术来正确发现设备,但无法继续和控制设备,一旦在您的设置中解决了 mqtts 连接错误,这个问题可能会得到解决。

© www.soinside.com 2019 - 2024. All rights reserved.