WebSockets_Generic 通用WebSocket库 WebSockets_Generic

ESP32 1/5 已发布
khoih-prog 98 Stars GPL-3.0 BOM 完整度: 0/5 教程完整度: 0/5
WebSockets_Generic 通用WebSocket库

项目简介

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 的实时数据监控和仪表盘
多设备间的消息推送和状态同步