コアMQTTライブラリ - 無料RTOS

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

コアMQTTライブラリ

注記

このページのコンテンツは ではない場合があります up-to-date。最新の更新については、Free RTOS.org ライブラリページを参照してください。

序章

コアMQTTライブラリは、 MQTT (Message Queue Telemetry Transport) 標準のクライアント実装です。このMQTT標準では、TCP/IP 上で実行され、マシンツーマシン (M2MPubSub) およびモノのインターネット (IoT) のユースケースでよく使用される、軽量のパブリッシュ/サブスクライブ (または ) メッセージングプロトコルが用意されています。

コアMQTTライブラリは 3.1.1 MQTT プロトコル標準に準拠しています。このライブラリは、低メモリフットプリントに最適化されています。このライブラリの設計には、QoS 0 MQTT PUBLISH メッセージのみを使用するリソースに制約のあるプラットフォームから、QoS 2 MQTT PUBLISH over TLS (Transport Layer Security) 接続を使用するリソース豊富なプラットフォームまで QoS 、さまざまなユースケースが取り入れられています。ライブラリには組み合わせ可能な関数メニューが用意されており、特定のユースケースのニーズに正確に適合するように選択して組み合わせることができます。

ライブラリは C で記述され、ISOC90 および MISRAC:2012 に準拠するように設計されています。このMQTTライブラリは、以下を除き、追加のライブラリに依存しません。

  • 標準 C ライブラリ

  • お客様が実装したネットワークトランスポートインターフェイス

  • (オプション) ユーザーが実装したプラットフォーム時間関数

ライブラリは、単純な送受信トランスポートインターフェイス仕様を提供することにより、基盤となるネットワークドライバーから疎結合化されます。アプリケーションライターは、既存のトランスポートインターフェイスを選択したり、アプリケーションに応じて独自のトランスポートインターフェイスを実装したりできます。

ライブラリは、MQTTブローカーへの接続、トピックのサブスクライブ/サブスクライブ解除、トピックへのメッセージの発行、受信メッセージの受信APIを行うための概要を提供します。これにより、上記のトランスポートインターフェイスがパラメータとしてAPI取得され、これを使用してMQTTブローカーとの間でメッセージを送受信します。

ライブラリは、低レベルのシリアライザー/デシリアライザー も公開しますAPI。これはAPI、他のオーバーヘッドなしで、必要なMQTT機能のサブセットのみで構成されるシンプルな IoT アプリケーションを構築するために使用できます。シリアライザー/デシリアライザーはAPI、ソケットなどの使用可能なトランスポートレイヤー と組み合わせて使用して、ブローカーとの間でメッセージを送受信APIできます。

IoT アプリケーションでMQTT接続を使用する場合は、TLSプロトコルを使用するなどの安全なトランスポートインターフェイスを使用することをお勧めします。

このMQTTライブラリには、スレッド接続や同期などのプラットフォーム依存関係はありません。このライブラリには、安全にメモリを使用し、ヒープ割り当てがないことを示すプルーフがあります。そのため、IoT マイクロコントローラーに適しています。また、他のプラットフォームに完全に移植することもできます。自由に使用でき、MITオープンソースライセンス で配布されます。

コアMQTTのコードサイズ (GCC例: ARM for Cortex-M で生成)
File -O1 最適化を使用 -Os 最適化を使用
core_mqtt.c 4.0K 3.4K
core_mqtt_state.c 1.7 K 1.3K
core_mqtt_serializer.c 2.8K 2.2 K
合計 (概算) 8.5K 6.9 K