Mongoose 嵌入式网络库
mongoose
智能家居
🧩 软硬件结合
已发布
项目简介
Embedded web server, with TCP/IP network stack, MQTT and Websocket
Embedded web server, with TCP/IP network stack, MQTT and Websocket
标签
项目特点
**极简集成**:仅需两个源文件(`mongoose.c` 和 `mongoose.h`),即可为任何 C/C++ 项目添加完整的网络功能。
**跨平台支持**:支持 Linux/UNIX、macOS、Windows、Android 以及 STM32、NXP、ESP32、Nordic、TI、Microchip、Infineon、Renesas 等众多芯片平台。
**内置协议丰富**:原生支持 TCP/UDP、SNTP、HTTP、MQTT、WebSocket、Modbus-TCP 等协议。
**自带 TCP/IP 栈**:提供独立的 TCP/IP 协议栈,可在裸机或 RTOS 环境下运行,也可基于 lwIP、Zephyr 等现有栈运行。
**内置 TLS 1.3**:自带 ECC 加密栈,同时支持集成 mbedTLS、OpenSSL 等外部 TLS 库。
**固件 OTA 更新**:内置对 STM32 H5/H7、NXP IMXRT、RP2040/2350、ESP32 等芯片的固件远程更新支持。
**异步 DNS 解析器**:内置异步 DNS 客户端,无需额外依赖。
**商业级安全**:持续集成测试、Google OSS-Fuzz 模糊测试、定期安全审计,并提供商业支持与 CRA 合规。
技术规格
| 编程语言 | |
|---|---|
| 集成方式 | |
| 支持协议 | |
| TLS 支持 | |
| TCP/IP 栈 | |
| 支持平台 | |
| 许可证 | |
| 首次发布 |
项目资源
物料清单 (BOM)
| 物料名称 | 数量 | 参考价格 | 备注 |
|---|---|---|---|
| mongoose.c | 1 | — | 核心源文件 |
| mongoose.h | 1 | — | 核心头文件 |
| 微控制器开发板(如 STM32, ESP32) | 1 | — | 根据目标平台选择 |
| 以太网模块(如 W5500)或 WiFi 模块 | 1 | — | 如使用内置 TCP/IP 栈 |
| C/C++ 编译器(如 GCC, ARMCC) | 1 | — | 编译项目 |
| 调试器/编程器(如 J-Link, ST-Link) | 1 | — | 烧录与调试 |
能力画像
⚪ 记忆与知识检索: 2/5
🔵 逻辑推演: 3/5
⚪ 表达与交流: 2/5
⚪ 感知与观察: 2/5
⚪ 数理与计算: 2/5
🔵 动手与操作: 3/5
⚪ 狂热与坚持: 2/5
⚪ 创造与创新: 3/5
项目图库
所需技能
🔧 **动手能力**:需要能够搭建嵌入式开发环境(如 STM32、ESP32 开发板),连接以太网或 WiFi 模块,并烧录固件进行测试。
💻 **编程能力**:需要掌握 C 语言基础,理解事件驱动编程模型(事件循环、回调函数),能够阅读和修改示例代码。
⚡ **电子电路**:了解基本的嵌入式硬件连接(如 UART、SPI、以太网 PHY),能够阅读原理图和 datasheet。
适用场景
**物联网设备**:为传感器、执行器等设备添加网络连接能力,实现数据采集与远程控制。
**嵌入式 Web 服务器**:在资源受限的微控制器上搭建 HTTP 服务器,提供 Web 管理界面或 REST API。
**MQTT 遥测**:实现 MQTT 客户端,用于设备与云平台之间的消息发布与订阅。
**固件 OTA 更新**:通过 HTTP 或 MQTT 协议远程更新设备固件,降低维护成本。
**设备仪表盘**:结合 WebSocket 实现实时数据展示与交互式控制面板。
**工业自动化**:支持 Modbus-TCP 协议,用于 PLC、RTU 等工业设备的网络通信。