WebSockets2_Generic 通用WebSocket库 WebSockets2_Generic

ESP32 ⭐⭐☆☆☆ (2/5) 已发布
khoih-prog 90 Stars GPL-3.0 BOM 完整度: /5 教程完整度: /5

项目简介

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 语音控制集成
支持二进制数据传输
非阻塞消息接收模式(v1.0.6+)
丰富的示例代码,覆盖各种开发板和网络组合

技术规格

协议标准
帧类型支持
网络连接
安全连接
工作模式
消息模式
开发板支持
集成服务

项目资源

物料清单 (BOM)

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

所需工具

工具用途是否必需
Arduino IDE 编写、编译和上传代码 ✅ 是
USB 数据线 连接开发板到电脑 ✅ 是
焊台 焊接排针或网络模块(如使用独立模块) ▢ 推荐
串口调试工具 查看调试输出 ▢ 推荐

能力画像

记忆与知识检索
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 服务器实现设备间消息传递