Компактная реализация Python 3 для микроконтроллеров и других устройств с ограниченными ресурсами, с модулями для работы с аппаратурой.
cesanta/mongoose
Сетевая библиотека для встроенных систем на C из двух файлов: стек TCP/IP, TLS 1.3, HTTP, WebSocket, MQTT и OTA-обновления прошивки для микроконтроллеров.
- Звёзды
- 13,105
- Форки
- 2,955
- Открытые issues
- 3
- Последний коммит
- позавчера
Что это?
Mongoose — сетевая библиотека для встроенных проектов на C/C++. В двух исходных файлах, mongoose.c и mongoose.h, без внешних зависимостей собраны стек TCP/IP с драйверами, TLS 1.3, HTTP, WebSocket, MQTT и поддержка OTA-обновлений прошивки. Библиотека работает как на bare metal, так и под управлением RTOS, а также может использовать существующий стек, например lwIP или Zephyr.
Библиотека предназначена для микроконтроллеров семейств STM32, NXP i.MX RT, MCX и RW612, а также ESP32, Raspberry Pi RP2040/RP2350, Renesas RA и микроконтроллеров TI. Кроме того, она поддерживает Linux, macOS и Windows. API построен на событийной модели с единым циклом event manager и обработчиком для каждого соединения. Среди встроенных протоколов также есть обычные TCP/UDP, SNTP, асинхронный DNS и Modbus-TCP.
Проект распространяется по двойной лицензии: GPLv2 или коммерческой. Для коммерческих пользователей поставщик предлагает платную поддержку и обновления безопасности.
Ключевые возможности
- 01Встроенный стек TCP/IP с драйверами для множества Ethernet- и Wi-Fi-чипов для MCU
- 02Встроенный TLS 1.3 или внешние mbedTLS и OpenSSL
- 03Поддержка HTTP-сервера и клиента, WebSocket и MQTT
- 04OTA-обновления прошивки для ряда платформ STM32, RP2040/2350, ESP32 и NXP
- 05Исходный код на чистом ISO C и C++ без внешних зависимостей
Сценарии использования
- Добавление панели веб-настройки в устройство на базе микроконтроллера
- Отправка телеметрии с IoT-устройства на MQTT-брокер
- Доставка OTA-обновлений прошивки на встроенное оборудование
- Запуск небольшого REST API на плате с ограниченными ресурсами
Быстрый старт
- 1
Скопируйте mongoose.c и mongoose.h в проект
- 2
Создайте main.c, который подключает mongoose.h и настраивает цикл обработки событий
- 3
Соберите программу с помощью компилятора C
cc main.c mongoose.c
Что важно знать
- Проект распространяется по двойной лицензии — GPLv2 или коммерческой. Поэтому для продуктов с закрытым исходным кодом требуется платная коммерческая лицензия.
- Коммерческая поддержка и раннее получение исправлений безопасности доступны только по платной лицензии.
В подборках
Темы
Частые вопросы
- Что такое mongoose?
- Сетевая библиотека для встроенных систем на C из двух файлов: стек TCP/IP, TLS 1.3, HTTP, WebSocket, MQTT и OTA-обновления прошивки для микроконтроллеров. Mongoose — сетевая библиотека для встроенных проектов на C/C++. В двух исходных файлах, mongoose.c и mongoose.h, без внешних зависимостей собраны стек TCP/IP с драйверами, TLS 1.3, HTTP, WebSocket, MQTT и поддержка OTA-обновлений прошивки. Библиотека работает как на bare metal, так и под управлением RTOS, а также может использовать существующий стек, например lwIP или Zephyr.
- mongoose можно использовать бесплатно? Какая у него лицензия?
- mongoose распространяется с открытым исходным кодом под лицензией Other. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- mongoose всё ещё поддерживается?
- Активно поддерживается. Последний коммит в mongoose — 23 окт. 2026 г..
- Для чего можно использовать mongoose?
- Добавление панели веб-настройки в устройство на базе микроконтроллера Отправка телеметрии с IoT-устройства на MQTT-брокер Доставка OTA-обновлений прошивки на встроенное оборудование Запуск небольшого REST API на плате с ограниченными ресурсами
- Как установить mongoose?
- Скопируйте mongoose.c и mongoose.h в проект Создайте main.c, который подключает mongoose.h и настраивает цикл обработки событий Соберите программу с помощью компилятора C: cc main.c mongoose.c
- Где скачать mongoose?
- Исходный код и инструкции по установке — на GitHub: https://github.com/cesanta/mongoose
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Компилятор Go на базе LLVM для микроконтроллеров, WebAssembly (WASM/WASI) и инструментов командной строки.
Система на основе конфигураций, которая превращает микроконтроллеры ESP32, ESP8266, BK72xx и RP2040 в умные устройства для управления через Home Assistant и другие системы автоматизации дома.
Устройство на базе ESP32-CAM фотографирует аналоговые счетчики воды, газа и электроэнергии и с помощью встроенного ИИ преобразует показания в цифровые значения.
Интерактивный прокси для перехвата HTTP-трафика с поддержкой TLS и интерфейсами для консоли, командной строки и браузера.
Python/Java/Vue-сервер для голосовых устройств xiaozhi-esp32 на ESP32 с поддержкой MQTT+UDP, WebSocket, MCP, распознавания голоса и базы знаний.