首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >无法设置SSL连接,即使该连接似乎与NodeMCU ESP8266 to AWS连接

无法设置SSL连接,即使该连接似乎与NodeMCU ESP8266 to AWS连接
EN

Stack Overflow用户
提问于 2020-01-22 22:35:25
回答 1查看 571关注 0票数 0

我正在尝试连接NodeMCU ESP8266并上传阴影。我在跟着tutorial from IoT Design Pro走。当我第一次运行它时,我确实在AWS上看到了更新的阴影。在随后的循环中,它停止更新。现在我收到一条消息“无法建立SSL连接”。下面是我的代码和串行输出窗口:

代码语言:javascript
运行
AI代码解释
复制
#include <ESP8266WiFi.h>

#include <AmazonIOTClient.h>

#include "ESP8266AWSImplementations.h"

Esp8266HttpClient httpClient;

Esp8266DateTimeProvider dateTimeProvider;

AmazonIOTClient iotClient;

ActionError actionError;

char *ssid="xxxxxxxxxxxxxxxxxxx";

char *password="xxxxxxxxxxx";

void setup() {

  Serial.begin(115200);

  delay(10);

  // Connect to WAP

  Serial.print("Connecting to ");

  Serial.println(ssid);

  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {

    delay(500);

    Serial.print(".");

  }

  Serial.println("");

  Serial.println("WiFi connected");

  Serial.println("IP address: ");

  Serial.println(WiFi.localIP());



  iotClient.setAWSRegion("us-west-2");//axxxxxxxxxxxb-ats.iot.us-west-2.amazonaws.com

  iotClient.setAWSEndpoint("amazonaws.com");

  iotClient.setAWSDomain("axxxxxxxxxxxb-ats.iot.us-west-2.amazonaws.com");

  iotClient.setAWSPath("/things/MyThing/shadow");

  iotClient.setAWSKeyID("AxxxxxxxxxxxxxxxxxxW");

  iotClient.setAWSSecretKey("BxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxWmN1");

  iotClient.setHttpClient(&httpClient);

  iotClient.setDateTimeProvider(&dateTimeProvider);

}



void loop(){

  char* shadow = "{\"state\":{\"reported\": {\"Foobar\": \"bar\"}}}";

  char* result = iotClient.update_shadow(shadow, actionError);

  Serial.print(result);

  delay(500000);

}

使用串行输出:

代码语言:javascript
运行
AI代码解释
复制
WiFi connected
IP address: 
10.1.10.128
a2rl12mynda91b-ats.iot.us-west-2.amazonaws.com
443
POST /things/MyThing/shadow HTTP/1.1
Content-Type: application/json
Connection: close
Content-Length: 41
Host: axxxxxxxxxxxb-ats.iot.us-west-2.amazonaws.com
x-amz-content-sha256: d8af3f7d20512e6c2f9feddf0e729a9f9201023da39cde8ffa6826175c069174
x-amz-date: 20200122T221521Z
Authorization: AWS4-HMAC-SHA256 Credential=AxxxxxxxxxxxxxxxxxxW/20200122/us-west-2/iotdata/aws4_request,SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date,Signature=1d5e8b7d70a67d91704403796fd7bdae28b7f9396523314af98e3e1857b4368a

{"state":{"reported": {"Foobar": "bar"}}}




can't setup SSL connection

和亚马逊网络服务IoT阴影输出:

串行输出是否显示已连接?我认为使用授权行意味着它正在连接,不是吗?我看不出我哪里错了。

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2020-01-22 22:44:30

类似的问题也发生在我身上。

有两个板,ESP32和ESP8266,只有32个能够通过HTTPS提出请求。

选项1:不使用SSL发送请求

选项2:使用正确的指纹发送请求

一些有用的链接:

https://buger.dread.cz/simple-esp8266-https-client-without-verification-of-certificate-fingerprint.html

https://github.com/esp8266/Arduino/issues/3417

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59869229

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档