Repolode
cesanta

cesanta/mongoose

Biblioteca de redes embebidas en C, distribuida en dos archivos, con stack TCP/IP, TLS 1.3, HTTP, WebSocket, MQTT y actualizaciones OTA de firmware para microcontroladores.

Estrellas
13,105
Forks
2,955
Issues abiertos
3
Último commit
anteayer

¿Qué es?

Mongoose es una biblioteca de redes para proyectos embebidos en C/C++. Incluye un stack TCP/IP con drivers, TLS 1.3, HTTP, WebSocket, MQTT y actualizaciones OTA de firmware en dos archivos fuente, mongoose.c y mongoose.h, sin dependencias externas. Puede ejecutarse directamente sobre el hardware o con un RTOS, y también puede funcionar sobre un stack existente, como lwIP o Zephyr.

La biblioteca está dirigida a microcontroladores de las familias STM32, NXP i.MX RT, MCX y RW612, así como ESP32, Raspberry Pi RP2040/RP2350, Renesas RA y componentes de TI; también es compatible con Linux, macOS y Windows. Su API basada en eventos utiliza un único bucle del gestor de eventos y una función manejadora por conexión. Los protocolos integrados también incluyen TCP/UDP sin cifrar, SNTP, DNS asíncrono y Modbus-TCP.

El proyecto cuenta con una doble licencia: GPLv2 o una licencia comercial. El proveedor ofrece soporte de pago y actualizaciones de seguridad para usuarios comerciales.

Funciones clave

  • 01Stack TCP/IP integrado con drivers para numerosos chips Ethernet y Wi-Fi para MCU
  • 02TLS 1.3 integrado, o uso de mbedTLS y OpenSSL externos
  • 03Compatibilidad con servidor y cliente HTTP, WebSocket y MQTT
  • 04Actualizaciones OTA de firmware para varias plataformas STM32, RP2040/2350, ESP32 y NXP
  • 05Código fuente en ISO C y C++ puro, sin dependencias externas

Casos de uso

  • Añadir un panel web de configuración a un dispositivo basado en microcontrolador
  • Enviar telemetría desde un dispositivo IoT a un broker MQTT
  • Distribuir actualizaciones OTA de firmware a hardware embebido
  • Ofrecer una API REST pequeña desde una placa con recursos limitados

Inicio rápido

  1. 1

    Copia mongoose.c y mongoose.h en tu proyecto

  2. 2

    Escribe un main.c que incluya mongoose.h y configure un bucle de eventos

  3. 3

    Compila el programa con el compilador de C

    cc main.c mongoose.c

Antes de usarlo

  • Está disponible bajo una licencia dual, GPLv2 o una licencia comercial, por lo que los productos de código cerrado necesitan una licencia comercial de pago.
  • El soporte comercial y las correcciones de seguridad anticipadas solo están disponibles mediante una licencia de pago.

En colecciones

Temas

Preguntas frecuentes

¿Qué es mongoose?
Biblioteca de redes embebidas en C, distribuida en dos archivos, con stack TCP/IP, TLS 1.3, HTTP, WebSocket, MQTT y actualizaciones OTA de firmware para microcontroladores. Mongoose es una biblioteca de redes para proyectos embebidos en C/C++. Incluye un stack TCP/IP con drivers, TLS 1.3, HTTP, WebSocket, MQTT y actualizaciones OTA de firmware en dos archivos fuente, mongoose.c y mongoose.h, sin dependencias externas. Puede ejecutarse directamente sobre el hardware o con un RTOS, y también puede funcionar sobre un stack existente, como lwIP o Zephyr.
¿mongoose es gratuito? ¿Qué licencia tiene?
mongoose es open source bajo la licencia Other. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿mongoose sigue mantenido?
Mantenimiento activo. El último commit de mongoose fue el 23 oct 2026.
¿Para qué puedo usar mongoose?
Añadir un panel web de configuración a un dispositivo basado en microcontrolador Enviar telemetría desde un dispositivo IoT a un broker MQTT Distribuir actualizaciones OTA de firmware a hardware embebido Ofrecer una API REST pequeña desde una placa con recursos limitados
¿Cómo se instala mongoose?
Copia mongoose.c y mongoose.h en tu proyecto Escribe un main.c que incluya mongoose.h y configure un bucle de eventos Compila el programa con el compilador de C: cc main.c mongoose.c
¿Dónde consigo mongoose?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/cesanta/mongoose

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados