μWebSockets mWebSockets

ESP32, 机器人 2/5 已发布
skaarj1989 122 Stars MIT BOM 完整度: 0/5 教程完整度: 0/5
μWebSockets

项目简介

WebSockets用于微控制器。


μWebSockets 是一个专为微控制器设计的轻量级 WebSocket 库,旨在让资源受限的嵌入式设备也能轻松实现实时双向通信。它解决了传统 WebSocket 库在 Arduino、ESP8266、ESP32 等平台上内存占用高、配置复杂的问题,提供了一套简洁易用的 API,让开发者能够快速为物联网设备添加 WebSocket 服务端或客户端功能。

标签

项目特点

**简单易用**:提供简洁的 API,方便快速集成 WebSocket 功能。
**多平台支持**:兼容 Arduino、PlatformIO、Visual Micro 等主流 IDE。
**广泛 MCU 兼容**:支持 ATmega、SAMD、STM32、ESP8266、ESP32 等多种微控制器。
**多种网络控制器**:支持 W5100、W5500、ENC28j60 以太网模块以及 WiFi。
**低内存占用**:针对资源受限的微控制器进行了优化,内存占用低。
**完整功能**:支持 WebSocket 服务器和客户端,包括子协议协商、客户端验证、数据帧收发等。
**调试友好**:提供可选的调试输出,方便开发调试。

技术规格

支持 IDE Arduino, PlatformIO, Visual Micro
支持 MCU ATmega328P, ATmega2560, Renesas RA4M1, SAMD21, STM32, ESP8266, ESP32
网络控制器 W5100, W5500, ENC28j60, WiFi
兼容浏览器 Chrome, Edge, Firefox, Opera
协议 WebSocket (RFC 6455)
缓冲区大小 可配置,默认 256 字节
许可证 MIT

项目资源

物料清单 (BOM)

物料名称 数量 参考价格 备注
Arduino Uno / Pro Mini / Mega2560 / Zero / Uno R4 / STM Nucleo / ESP8266 / ESP32 1 任选其一
Arduino Ethernet Shield (W5100/W5500) / ENC28j60 模块 / WiFi 模块 1 根据开发板选择
杜邦线 若干 用于连接开发板和网络模块

能力画像

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

所需技能

🔧 **动手能力**:需要连接开发板和网络模块的硬件接线能力。 💻 **编程能力**:需要具备 C/C++ 基础,熟悉 Arduino 编程环境。 ⚡ **电子电路**:了解基本的电路连接知识,如 SPI 接口。

适用场景

**物联网设备**:让微控制器通过 WebSocket 与云平台或手机应用实时通信。
**智能家居**:控制灯光、传感器等设备,并实时获取状态更新。
**远程监控**:将传感器数据通过 WebSocket 实时推送到 Web 界面。
**嵌入式 Web 应用**:在资源受限的设备上实现 WebSocket 服务器,提供实时交互功能。