Repolode
cesanta

cesanta/mongoose

Biblioteca de rede embarcada em C, distribuída em dois arquivos, com pilha TCP/IP, TLS 1.3, HTTP, WebSocket, MQTT e atualizações OTA de firmware para microcontroladores.

Estrelas
13,105
Forks
2,955
Issues abertas
3
Último commit
anteontem

O que é?

Mongoose é uma biblioteca de rede para projetos embarcados em C/C++. Ela reúne uma pilha TCP/IP com drivers, TLS 1.3, HTTP, WebSocket, MQTT e atualizações OTA de firmware em dois arquivos-fonte, mongoose.c e mongoose.h, sem dependências externas. Pode rodar em bare metal ou sob um RTOS, e também funcionar sobre uma pilha existente, como lwIP ou Zephyr.

A biblioteca atende microcontroladores das famílias STM32, NXP i.MX RT, MCX e RW612, além de ESP32, Raspberry Pi RP2040/RP2350, Renesas RA e componentes da TI, bem como Linux, macOS e Windows. Sua API orientada a eventos usa um único loop de gerenciamento de eventos, com uma função handler por conexão. Os protocolos integrados também incluem TCP/UDP sem criptografia, SNTP, DNS assíncrono e Modbus-TCP.

O projeto é distribuído sob licença dupla: GPLv2 ou uma licença comercial. O fornecedor oferece suporte pago e atualizações de segurança para usuários comerciais.

Recursos principais

  • 01Pilha TCP/IP integrada com drivers para vários chips Ethernet e Wi-Fi de MCU
  • 02TLS 1.3 integrado ou uso externo de mbedTLS e OpenSSL
  • 03Suporte a servidor e cliente HTTP, WebSocket e MQTT
  • 04Atualizações OTA de firmware para diversas plataformas STM32, RP2040/2350, ESP32 e NXP
  • 05Código-fonte em C puro, compatível com ISO, e C++, sem dependências externas

Casos de uso

  • Adicionar um painel web de configuração a um dispositivo baseado em microcontrolador
  • Enviar telemetria de um dispositivo IoT para um broker MQTT
  • Distribuir atualizações de firmware OTA para hardware embarcado
  • Disponibilizar uma pequena API REST em uma placa com recursos limitados

Início rápido

  1. 1

    Copie mongoose.c e mongoose.h para o seu projeto

  2. 2

    Escreva um main.c que inclua mongoose.h e configure um loop de eventos

  3. 3

    Compile o programa com o compilador C

    cc main.c mongoose.c

Antes de usar

  • O projeto é oferecido sob licença dupla, GPLv2 ou licença comercial; portanto, produtos de código fechado precisam de uma licença comercial paga.
  • O suporte comercial e as correções de segurança antecipadas estão disponíveis apenas por meio de uma licença paga.

Em coleções

Tópicos

Perguntas frequentes

O que é mongoose?
Biblioteca de rede embarcada em C, distribuída em dois arquivos, com pilha TCP/IP, TLS 1.3, HTTP, WebSocket, MQTT e atualizações OTA de firmware para microcontroladores. Mongoose é uma biblioteca de rede para projetos embarcados em C/C++. Ela reúne uma pilha TCP/IP com drivers, TLS 1.3, HTTP, WebSocket, MQTT e atualizações OTA de firmware em dois arquivos-fonte, mongoose.c e mongoose.h, sem dependências externas. Pode rodar em bare metal ou sob um RTOS, e também funcionar sobre uma pilha existente, como lwIP ou Zephyr.
mongoose é gratuito? Qual é a licença?
mongoose é open source sob a licença Other. Confira os termos da licença antes de usá-lo em produtos comerciais.
mongoose ainda é mantido?
Manutenção ativa. O último commit de mongoose foi em 23 de out. de 2026.
Para que posso usar mongoose?
Adicionar um painel web de configuração a um dispositivo baseado em microcontrolador Enviar telemetria de um dispositivo IoT para um broker MQTT Distribuir atualizações de firmware OTA para hardware embarcado Disponibilizar uma pequena API REST em uma placa com recursos limitados
Como instalar mongoose?
Copie mongoose.c e mongoose.h para o seu projeto Escreva um main.c que inclua mongoose.h e configure um loop de eventos Compile o programa com o compilador C: cc main.c mongoose.c
Onde consigo mongoose?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/cesanta/mongoose

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados