OSS探訪

小さなMQTT packet serialize/deserialize層とpluggable network向けC/C++ clientを組み込み環境へ提供するlibrary

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
1,544
主要言語
C
ライセンス
EPL-2.0 OR BSD-3-Clause
リポジトリ最終更新
2026/07/03
ページ内ナビ

概要

Eclipse Paho MQTT Embedded Cはresource制約のあるplatform向けMQTT client sourceです。最小のMQTTPacket packet serialization/deserialization層、network abstractionを差し替えられるC++ MQTTClient、C版MQTTClient-Cの三層を提供し、embedded OSや独自network stackへportできます。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

MQTTPacketだけを使って小さなprotocol layerを組み込む

MQTTPacketはnetwork I/Oをapplication側へ委ね、MQTT packetのserialize/deserializeとhelper functionに集中する最小dependency layerです。

出典:[1][2]

pluggable network abstractionでC/C++ clientをportする

higher-level C++ clientとC clientはnetwork処理を分離しており、Linux、Arduino、mbed等の実装例を基にtarget固有networkへ差し替えられます。

出典:[1]

CMakeでpacket libraryやclient subprojectを個別buildする

top-level CMakeはMQTTPacket、MQTTClient、MQTTClient-Cをsubprojectとしてbuildし、paho-embed-mqtt3c等のtargetを生成します。

出典:[2][3]

向いている用途

small footprintとnetwork portabilityを優先するembedded MQTT clientに向く

full desktop client libraryより小さなprotocol componentが必要なmicrocontroller、RTOS、custom TCP stack等へのportで選択肢になります。

出典:[1]

導入前の確認

latest tagged releaseが2017年のためrelease freshnessだけで保守判断しない

GitHubのlatest release/tagはv1.1.0(2017年)ですがmasterは2026年にも修正されています。新規採用ではtagだけでなくcurrent master historyとtarget platform testを確認します。

出典:[5][4]

current masterはformal releaseではないためcommit SHAを固定する

2026年10月4日時点のmaster headは6035ea2です。current fixを採用する場合はfloating masterではなくreview済みcommit SHAへ固定して再現性を確保します。

出典:[4]

network I/Oとbuffer ownershipはplatform側の責務が大きい

特にMQTTPacket層はread/writeをcallerへ委ねるため、timeout、partial I/O、buffer size、disconnect/error handlingをtarget network implementationで検証する必要があります。

出典:[1]

参考にした公式資料

  1. [1]Paho MQTT Embedded C master README(2026-10-04)
  2. [2]Paho MQTT Embedded C current CMake configuration(2026-10-04)
  3. [3]MQTTPacket CMake target(2026-10-04)
  4. [4]Current master commit 6035ea2(2026-10-04)
  5. [5]Paho MQTT Embedded C v1.1.0 release(2026-10-04)
  6. [6]Paho declared project licenses(2026-10-04)
編集部からの補足

latest tagged releaseは2017年のv1.1.0ですが、repository masterは2026年7月まで更新されています。そのため新規採用ではrelease tagだけで保守状況を判断せず、masterのfixと自分のtarget platformでのtest結果を確認してください。編集部情報は再現性のためcurrent master commit 6035ea2も基準として記録します。

3ステップで試す

  1. 1

    current master snapshotを取得してcommitへ固定する

    latest tagが2017年のため、2026年10月4日時点でreviewしたmaster commitへ明示的に固定します。

    git clone https://github.com/eclipse-paho/paho.mqtt.embedded-c.git paho-embedded && git -C paho-embedded checkout 6035ea2d4922bb7558b444fb2a051743f3f1974b
  2. 2

    CMake projectをconfigureする

    MQTTPacket、C++ MQTTClient、C MQTTClientのsubprojectを含むbuild treeを生成します。

    cmake -S paho-embedded -B paho-embedded/build
  3. 3

    最小MQTTPacket libraryだけをbuildする

    network brokerへ接続せず、packet serialize/deserialize層のshared libraryをcompileしてtoolchainを確認します。

    cmake --build paho-embedded/build --target paho-embed-mqtt3c
公式READMEで確認

成長

成長の推移 · 直近30日

1,544 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
0
Open PR
16

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

カテゴリ

タグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • eclipseiot
  • mqtt
  • iot
  • embedded
  • internet-of-things
Stars
1,544
Forks
793
Watchers
106
Open Issues
78
Contributors
13
所有者種別
Organization
主要言語
C
リポジトリ最終更新
2026/07/03

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?
Eclipse Paho MQTT Embedded Cとは?組み込み向けMQTT Client | OSS探訪