Arduino WiFi101 ConnectSSL无法连接

xmjla07d  于 2022-11-14  发布在  其他
关注(0)|答案(2)|浏览(180)

求助!我正在尝试使用Arduino WiFi 101库连接到一个现有的SSL服务器。故障排除-我实际上连接到www.howsmyssl.com。无论我使用IP地址还是主机名,每次连接都失败。我正在使用的板卡是Adafruit Feather M0 Wifi。我使用固件更新程序将www.howsmyssl.com的证书上传到板卡。代码如下:

#include <stdint.h>
#include <WiFi101.h>
#include <stdlib.h>

WiFiSSLClient client;

char ssid[] = "SciAv";       
char pass[] = "FlyAcclaim";  

void setup() {
    WiFi.setPins(8,7,4,2);
    while ( WiFi.begin(ssid, pass) != WL_CONNECTED) {
      Serial.println("Connecting to SciAv");
      delay(10000);
    }
    Serial.println("WiFi Connected");
    if (!client.connectSSL("www.howsmyssl.com",443)) {
      Serial.println("Connection Failed");
    }
    else {
      Serial.println("Connected");
    }
}

void loop() {
    if (client.connected()) {
      Serial.println("Connect to host");
    }
}
q8l4jmvw

q8l4jmvw1#

是否验证证书是否成功上传到单板?因为要连接ssl连接,需要在屏蔽板上加载ssl证书。您可以尝试在Wifi网络连接之前添加此验证:

// check for the presence of the shield:
if (WiFi.status() == WL_NO_SHIELD) {
    Serial.println("WiFi shield not present");
    // don't continue:
    while (true);
}

或者,您可以尝试使用方法'connect(“www.howsmyssl.com“,443)'而不是'connectSSL..'。如果您有一个只接受普通客户端的库,但您想强制它使用SSL,并保持非SSL客户端的相同方法名称,这将非常有用。

k97glaaz

k97glaaz2#

我在NANO33 IoT板上也遇到了同样的问题。我发现SSL连接在带有最新微码的板上失败(修订版1.4.8),但使用的是具有后端微码的主板(修订版1.2.3)。只需更换NANO33板即可使问题出现或消失。如果您需要SSL互联网连接,请将微码刷新为工作的后台版本。或者等待Arduino在下一个微码版本中修复他们的bug。

相关问题