WebSockets2_Generic 通用WebSocket库
WebSockets2_Generic
ESP32
⭐⭐☆☆☆ (2/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 服务器实现设备间消息传递