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 心跳间隔、超时和断开连接计数
技术规格
| 协议支持 | WebSocket (RFC6455), Socket.IO |
|---|---|
| 工作模式 | 服务器 / 客户端 |
| 加密支持 | SSL/TLS (wss) |
| 支持开发板 | Adafruit nRF52, Portenta_H7, STM32F/L/H/G/WB/MP1, Teensy, SAM DUE, SAMD21, SAMD51, Arduino SAMD21 (Nano 33 IoT), MKR1000/MKR1010WiFi, RP2040, ESP32, ESP8266, WT32_ETH01 等 |
| 网络模块 | WiFi101, WiFiNINA, WiFi, Ethernet (W5x00, ENC28J60), WT32_ETH01, NativeEthernet, QNEthernet, Portenta_H7 WiFi/Ethernet |
| 开发环境 | Arduino IDE, PlatformIO |
| 许可证 | MIT |
项目资源
搜索资源
物料清单 (BOM)
| 物料名称 | 数量 | 参考价格 | 备注 |
|---|---|---|---|
| Arduino 兼容开发板(如 nRF52、STM32、Teensy、ESP32 等) | 1 | — | 根据需求选择 |
| WiFi 模块(WiFiNINA、WiFi101)或以太网模块(W5x00、ENC28J60) | 1 | — | 根据连接方式选择 |
| USB 数据线 | 1 | — | 用于编程和供电 |
| 5V/3.3V 电源适配器 | 1 | — | 根据开发板需求 |
能力画像
⚪ 记忆与知识检索: 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 的实时数据监控和仪表盘
多设备间的消息推送和状态同步