マイクロコントローラーなどのリソースが限られたデバイスで動作し、ハードウェアアクセス用モジュールを備えた軽量なPython 3実装。
cesanta/mongoose
マイコン向けに、TCP/IPスタック、TLS 1.3、HTTP、WebSocket、MQTT、ファームウェアのOTA更新を提供するC製の2ファイル構成ネットワーキングライブラリ。
- スター
- 13,105
- フォーク
- 2,955
- 未解決の Issue
- 3
- 最終コミット
- 一昨日
これは何?
Mongooseは、組み込みC/C++プロジェクト向けのネットワーキングライブラリです。TCP/IPスタックとドライバー、TLS 1.3、HTTP、WebSocket、MQTT、ファームウェアのOTA更新を、外部依存なしでmongoose.cとmongoose.hの2つのソースファイルにまとめています。ベアメタルでもRTOS上でも動作し、lwIPやZephyrなど既存のスタック上で利用することもできます。
STM32、NXP i.MX RT、MCX、RW612各ファミリーから、ESP32、Raspberry Pi RP2040/RP2350、Renesas RA、TIの各種製品まで、幅広いマイコンを対象としています。また、Linux、macOS、Windowsにも対応します。イベント駆動型APIでは、単一のイベントマネージャーループを使い、接続ごとにハンドラー関数を設定します。組み込みプロトコルには、TCP/UDPのほか、SNTP、非同期DNS、Modbus-TCPも含まれます。
プロジェクトはGPLv2または商用ライセンスのデュアルライセンスで提供されており、商用ユーザー向けに有償サポートとセキュリティアップデートも提供しています。
主な機能
- 01多くのMCU用EthernetチップおよびWi-Fiチップのドライバーを備えたTCP/IPスタックを内蔵
- 02TLS 1.3を内蔵するほか、外部のmbedTLSやOpenSSLも利用可能
- 03HTTPサーバーとクライアント、WebSocket、MQTTに対応
- 04複数のSTM32、RP2040/2350、ESP32、NXPプラットフォーム向けのファームウェアOTA更新
- 05外部依存のない純粋なISO C/C++ソース
ユースケース
- マイコンベースのデバイスにWeb設定ダッシュボードを追加する
- IoTデバイスからMQTTブローカーへテレメトリーを送信する
- 組み込みハードウェアにOTAでファームウェア更新を配信する
- リソースが限られたボード上で小規模なREST APIを提供する
クイックスタート
- 1
mongoose.c と mongoose.h をプロジェクトにコピーします
- 2
mongoose.h をインクルードし、イベントループを設定する main.c を作成します
- 3
C コンパイラでプログラムをビルドします
cc main.c mongoose.c
使う前に知っておきたいこと
- GPLv2 または商用ライセンスのデュアルライセンスです。そのため、クローズドソース製品には有償の商用ライセンスが必要です。
- 商用サポートとセキュリティ修正の先行提供は、有償ライセンスでのみ利用できます。
収録されている特集
トピック
よくある質問
- mongoose とは?
- マイコン向けに、TCP/IPスタック、TLS 1.3、HTTP、WebSocket、MQTT、ファームウェアのOTA更新を提供するC製の2ファイル構成ネットワーキングライブラリ。 Mongooseは、組み込みC/C++プロジェクト向けのネットワーキングライブラリです。TCP/IPスタックとドライバー、TLS 1.3、HTTP、WebSocket、MQTT、ファームウェアのOTA更新を、外部依存なしでmongoose.cとmongoose.hの2つのソースファイルにまとめています。ベアメタルでもRTOS上でも動作し、lwIPやZephyrなど既存のスタック上で利用することもできます。
- mongoose は無料で使えますか?ライセンスは?
- mongoose は Other ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- mongoose は今もメンテナンスされていますか?
- 活発にメンテナンス中。mongoose の最終コミットは 2026年10月23日 です。
- mongoose は何に使えますか?
- マイコンベースのデバイスにWeb設定ダッシュボードを追加する IoTデバイスからMQTTブローカーへテレメトリーを送信する 組み込みハードウェアにOTAでファームウェア更新を配信する リソースが限られたボード上で小規模なREST APIを提供する
- mongoose のインストール方法は?
- mongoose.c と mongoose.h をプロジェクトにコピーします mongoose.h をインクルードし、イベントループを設定する main.c を作成します C コンパイラでプログラムをビルドします: cc main.c mongoose.c
- mongoose はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/cesanta/mongoose
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
LLVMを基盤とするGoコンパイラ。マイクロコントローラー、WebAssembly(WASM/WASI)、コマンドラインツール向けにビルドできます。
ESP32、ESP8266、BK72xx、RP2040を、Home Assistantなどのホームオートメーションシステムから操作できるスマートデバイスに変える、設定ベースのシステムです。
ESP32-CAMを使って水道・ガス・電力のアナログメーターを撮影し、オンデバイスAIで読み取り値をデジタル化するデバイスです。
HTTP/1、HTTP/2、WebSocketの通信を調査できる、コンソール・コマンドライン・Webインターフェースを備えたTLS対応の対話型HTTPプロキシ。
xiaozhi-esp32のESP32音声デバイス向けPython/Java/Vueバックエンド。MQTT+UDP、WebSocket、MCP、声紋認識、ナレッジベースに対応。