求助在EC600U上跑ussl案例!直接报错!

ussl – SSL/TLS Protocol - QuecPython 使用这个链接的例子跑在EC600U上显示如下问题
import example
example.exec(‘/usr/ussl_test.py’)
INFO:SOCKET:Network connection successful!
Traceback (most recent call last):
File “/usr/ussl_test.py”, line 33, in
OSError: [Errno 103] ECONNABORTED
不知道什么原因引起的?我应该如何解决呢?

该报错属于连接已建立后被对端中止,常见发生在 TLS 握手阶段或 HTTPS 请求阶段。EC600U 网络已注册成功,但 SSL 连接未正常完成。

建议按以下方向排查:

  1. 检查示例中的服务器地址和端口

    • 确认域名、端口可用,一般 HTTPS 使用 443。
    • 若示例中的测试服务器不可访问或已关闭,会触发 ECONNABORTED。
  2. 使用域名时建议带 server_hostname
    TLS 证书校验/SNI 场景下,建议写法类似:

import usocket
import ussl

host = "你的HTTPS域名"
port = 443

addr = usocket.getaddrinfo(host, port)[0][-1]
sock = usocket.socket()
sock.connect(addr)

ssl_sock = ussl.wrap_socket(sock, server_hostname=host)

req = "GET / HTTP/1.1\r\nHost: {}\r\nConnection: close\r\n\r\n".format(host)
ssl_sock.write(req.encode())

print(ssl_sock.read())

ssl_sock.close()
  1. 确认模块时间是否正确
    访问需要证书校验的 HTTPS 服务时,系统时间异常可能导致握手失败。可先同步网络时间后再测试。

  2. 确认固件支持当前 ussl 用法
    不同 QuecPython 固件版本对 TLS、证书、加密套件支持可能存在差异。若同一脚本在其他环境正常、EC600U 固件上失败,建议升级到对应型号较新的 QuecPython 固件后再验证。

  3. 若使用自签名证书或私有服务器
    需要确认服务器 TLS 版本、证书链、加密套件是否被模块支持。建议先用公网标准 HTTPS 服务测试,确认 ussl 基础能力正常,再切换到目标服务器。

可以优先修改示例中的 HTTPS 域名,并在 ussl.wrap_socket() 中加入 server_hostname=host 进行验证。

本回答仅供参考。若问题已解决,可标记为 :white_check_mark:解决方案 ;若仍有疑问,请等待官方技术人员回复,最终请以专业解答为准。

在EC600U上使用这个固件QPY_OCPU_V0001_EC600U_CNLB_BT_FW,我看是支持ussl,但是跑ussl的例子和import usocket
import ussl

host = “你的HTTPS域名”
port = 443

addr = usocket.getaddrinfo(host, port)[0][-1]
sock = usocket.socket()
sock.connect(addr)

ssl_sock = ussl.wrap_socket(sock, server_hostname=host)

req = “GET / HTTP/1.1\r\nHost: {}\r\nConnection: close\r\n\r\n”.format(host)
ssl_sock.write(req.encode())

print(ssl_sock.read())

ssl_sock.close()
这个例子(域名是myssl.com,用浏览器打开能正常访问)会报错,错误是Traceback (most recent call last):
File “/usr/test_ussl_simple.py”, line 11, in
OSError: [Errno 103] ECONNABORTED
和上边报一样的错误。然后我更换了QPY_OCPU_V0004_EC600U_CNLB_FW固件,依旧不行。
麻烦帮我查下可能得原因,或者有最新固件,麻烦发我一份

Error103是软件主动断开的连接. 是本地达到最大重连次数之后, 服务器没回复SYN连接包ack. 本地认为网络&环境有问题, 主动断开的连接.
请确认测试服务器是否正常.