求助!我正在尝试使用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");
}
}
2条答案
按热度按时间q8l4jmvw1#
是否验证证书是否成功上传到单板?因为要连接ssl连接,需要在屏蔽板上加载ssl证书。您可以尝试在Wifi网络连接之前添加此验证:
或者,您可以尝试使用方法'connect(“www.howsmyssl.com“,443)'而不是'connectSSL..'。如果您有一个只接受普通客户端的库,但您想强制它使用SSL,并保持非SSL客户端的相同方法名称,这将非常有用。
k97glaaz2#
我在NANO33 IoT板上也遇到了同样的问题。我发现SSL连接在带有最新微码的板上失败(修订版1.4.8),但使用的是具有后端微码的主板(修订版1.2.3)。只需更换NANO33板即可使问题出现或消失。如果您需要SSL互联网连接,请将微码刷新为工作的后台版本。或者等待Arduino在下一个微码版本中修复他们的bug。