WebSockets2_Generic 通用WebSocket库 WebSockets2_Generic

ESP32 2/5 已发布
khoih-prog 90 Stars GPL-3.0 BOM 完整度: 0/5 教程完整度: 0/5
WebSockets2_Generic 通用WebSocket库

项目简介

A WebSocket Server and Client library for Arduino, based on RFC6455, for writing modern Websockets applications. Now sup


WebSockets2_Generic 是一个专为 Arduino 生态打造的通用 WebSocket 库,旨在解决传统 WebSocket 库在不同开发板与网络模块之间兼容性差、移植困难的问题。该库基于 RFC6455 和 RFC2616 标准实现,提供了完整的 WebSocket 客户端与服务器功能,支持文本与二进制消息的发送与接收,并具备非阻塞模式,确保在实时性要求较高的场景下也能稳定运行。

标签

项目特点

支持广泛的开发板:nRF52、SAMD21、SAMD51、SAM DUE、STM32F/L/H/G/WB/MP1、Teensy、RP2040、ESP8266、ESP32 等
支持多种网络连接方式:原生 WiFi、WiFiNINA、WiFi101、以太网 W5x00/ENC28J60/LAN8742A/LAN8720、Teensy 4.1 NativeEthernet/QNEthernet、ESP8266/ESP32-AT 模块
支持 WebSocket 服务器和客户端模式
支持 RFC6455 标准:文本帧、二进制帧、连接关闭、Ping/Pong、延续帧
支持 RFC2616 标准:消息头字段名不区分大小写
支持 SSL/WSS 安全连接(ESP8266/ESP32)
支持 Sinric/Alexa/Google Home 语音https://raw.githubusercontent.com/khoih-prog/WebSockets2_Generic/main/changelog.md)非阻塞消息接收模式(v1.0.6+)
丰富的示例代码,覆盖各种开发板和网络组合

技术规格

协议标准 RFC6455(WebSocket)、RFC2616(HTTP)
帧类型支持 文本帧、二进制帧、连接关闭、Ping、Pong、延续帧
网络连接 WiFi、WiFiNINA、WiFi101、以太网(W5x00/ENC28J60/LAN8742A/LAN8720)、NativeEthernet、QNEthernet、ESP-AT
安全连接 SSL/WSS(ESP8266/ESP32)
工作模式 服务器模式、客户端模式
消息模式 阻塞模式、非阻塞模式(v1.0.6+)
开发板支持 nRF52、SAMD21、SAMD51、SAM DUE、STM32F/L/H/G/WB/MP1、Teensy 3.x/4.x、RP2040、ESP8266、ESP32、Portenta_H7、WT32_ETH01 等
集成服务 Sinric、SinricPro、Alexa、Google Home、Blynk

项目资源

物料清单 (BOM)

物料名称 数量 参考价格 备注
兼容开发板(如 ESP32、ESP8266、STM32、nRF52、SAMD、Teensy、RP2040 等) 1 根据项目需求选择
WiFi 模块(如 ESP8266/ESP32-AT)或以太网模块(W5x00/ENC28J60/LAN8720/LAN8742A) 1 可选,取决于开发板内置网络
USB 电源线或电池 1 为开发板供电
杜邦线/跳线 若干 用于连接网络模块

能力画像

⚪ 记忆与知识检索: 2/5
🔵 逻辑推演: 3/5
⚪ 表达与交流: 1/5
⚪ 感知与观察: 2/5
⚪ 数理与计算: 2/5
⚪ 动手与操作: 3/5
⚪ 狂热与坚持: 2/5
⚪ 创造与创新: 3/5

所需技能

🔧 **动手能力**:需要基本的硬件连接能力,如连接开发板与网络模块、焊接排针等 💻 **编程能力**:需要 Arduino 编程基础,理解 WebSocket 协议概念,能够配置网络参数和编写简单的客户端/服务器代码 ⚡ **电子电路**:了解基本的电路连接知识,如电源、串口通信、GPIO 引脚连接

适用场景

IoT 物联网设备与云平台之间的实时双向通信
智能家居控制,通过 Sinric/SinricPro 集成 Alexa 或 Google Home 语音控制
远程监控和数据采集系统,需要实时推送传感器数据
Web 控制面板与嵌入式设备之间的交互界面
多设备协同工作场景,如通过 WebSocket 服务器实现设备间消息传递