WebSockets_Generic 通用WebSocket库
WebSockets_Generic
ESP32
⭐☆☆☆☆ (1/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 的实时数据监控和仪表盘
多设备间的消息推送和状态同步