WebSockets_Generic 通用WebSocket库 WebSockets_Generic

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

项目简介

WebSocket / Socket.IO Server and Client for Arduino based on RFC6455. Now supporting Adafruit nRF52, Portenta_H7, STM32F


WebSockets_Generic 是一个专为 Arduino 生态打造的通用 WebSocket 库,旨在解决传统 WebSocket 库在非 ESP 开发板上支持不足、兼容性差的问题。该库基于 RFC6455 标准,提供了完整的 WebSocket 客户端与服务器功能,支持包括握手、数据帧收发、Ping/Pong 心跳保活等核心特性。

标签

项目特点

支持 WebSocket 和 Socket.IO 协议(基于 RFC6455)
同时支持服务器和客户端模式
兼容多种 Arduino 开发板(nRF52、STM32、Teensy、SAMD、RP2040、ESP32、ESP8266 等)
支持多种网络连接方式(WiFi101、WiFiNINA、以太网 W5x00、ENC28J60 等)
支持 SSL/TLS 加密连接(wss)
支持异步 WebSocket(ESP8266 Async WebSocket)
提供丰富的示例代码和调试输出
支持通过 Alexa 进行语音控制
可配置的 Socket.IO 心跳间隔、超时和断开连接计数

技术规格

协议支持
工作模式
加密支持
支持开发板
网络模块
开发环境
许可证

项目资源

物料清单 (BOM)

物料名称 数量 参考价格 备注
Arduino 兼容开发板(如 nRF52、STM32、Teensy、ESP32 等) 1 根据需求选择
WiFi 模块(WiFiNINA、WiFi101)或以太网模块(W5x00、ENC28J60) 1 根据连接方式选择
USB 数据线 1 用于编程和供电
5V/3.3V 电源适配器 1 根据开发板需求

所需工具

工具用途是否必需
Arduino IDE 或 PlatformIO 编写、编译和上传代码 ✅ 是
USB 数据线 连接开发板到电脑 ✅ 是
网络连接(WiFi 或有线以太网) 测试 WebSocket 通信 ✅ 是
Node.js 运行 Socket.IO 测试服务器 ▢ 推荐

能力画像

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

所需技能

🔧 **动手能力**:需要连接开发板、网络模块和电源,进行硬件设置和调试。 💻 **编程能力**:需要熟悉 Arduino 编程,理解 WebSocket 和 Socket.IO 协议,能够配置网络参数和编写通信逻辑。 ⚡ **电子电路**:基本了解开发板引脚和网络模块的连接方式。

适用场景

物联网设备与 Web 服务之间的实时双向通信
智能家居设备(如窗帘、灯光)的远程控制和语音控制(通过 Alexa)
嵌入式系统的 WebSocket 服务器或客户端应用
基于 Socket.IO 的实时数据监控和仪表盘
多设备间的消息推送和状态同步