idryer-core — ライブラリドキュメント¶
idryer-core — ESP32ベースのiDryerデバイス向けC++ライブラリ(Arduino/PlatformIO)。WiFi、MQTT、クラウド状態マシン、およびコマンドルーティングを管理します。製品はデバイス固有の動作のみを実装します。
これは**ライブラリ**のドキュメントであり、特定の製品のドキュメントではありません。
製品ドキュメントはdocs/ru/にあります。
クイックスタート¶
実装する3つのもの:
IProfileを実装する — 5つのメソッド(config、info、loop)。main.cppを組み立てる — 静的オブジェクト、コンストラクタ経由で依存関係を渡します。handleCommandを登録する — MQTT用および、オプションでローカルWS用の単一ハンドラ。
ライブラリが行う3つのこと:
- WiFi → プロビジョニング → MQTTセッションを管理します。
- 受信コマンドを
handleCommandにルーティングします(pingを除く、これは内部で処理されます)。 - 適切なタイミングで
IProfileメソッドを呼び出します。
変更しないでおくことができるもの:
ArduinoWifiManager、ArduinoCredentialStore、およびその他のArduino*クラス — そのまま使用、サブクラス化は不要です。CloudStateMachine— それを作成してIdryerRuntimeに渡します。そこから自動管理されます。ActionDispatcher— invoke/setの互換性フォールバック。新しい製品の場合、コマンド処理はActionDispatcherではなくsetCommandHandler()を経由します。
実践ガイド: 09-add-product/01-add-new-product.md
動作する例: examples/
セクション¶
| セクション | 説明 |
|---|---|
| 01-overview/01-what-is-idryer-core | ライブラリの目的、実装されていないもの、使用者 |
| 01-overview/02-module-map | すべてのモジュールの表:目的、オプション性 |
| 02-getting-started | 新しい開発者向けの短い入門:配線、フラッシュ、期待値 |
| 05-architecture/01-composition-root | 製品がスタックを組み立てる方法:オブジェクト作成順序、main.cppパターン |
| 05-architecture/02-library-vs-product-boundary | ライブラリに存在するもの、製品に存在するもの |
| 05-architecture/03-data-flow | 稼働中デバイスのデータフロー:受信コマンド、送信メッセージ、接続 |
| 06-mqtt/01-mqtt-client | MqttClientクラス:コンストラクタ、接続、発行 |
| 06-mqtt/02-topics-and-messages | すべてのMQTTトピック:文字列、ペイロード、保持、QoS |
| 04-runtime/01-idryer-runtime | IdryerRuntime:コーディネート内容、処理するコマンド |
| 05-uart/01-uart-layer | デュアルMCUデバイス用UARTブリッジ |
| 06-integrations/01-integrations-overview | Bambu、Home Assistant、Moonraker:セットアップ、制限事項 |
| 07-platform-arduino/01-arduino-platform | デバイスインターフェースのArduino実装 |
| 08-profiles-and-products/01-profiles-model | IProfileインターフェース、コールバック、LedStripProfileの例 |
| 09-contracts/01-mqtt-contract | mqtt_contract.yaml:目的および変更ルール |
| 10-how-to-add-product/01-add-new-product | idryer-coreの上に新しい製品を構築するためのチェックリスト |
| 10-troubleshooting | 一般的な問題:WiFi、プロビジョニング、MQTT、コマンド、LocalAccess |
| 04-patterns/01-add-sensor | センサー(データソース)を追加し、その読み取り値を発行する方法 |
| 04-patterns/02-add-peripheral | ペリフェラルを追加し、コマンドを受け取る方法 |
| 04-patterns/03-add-transport | 並列トランスポート(BLE、HTTP、カスタム)を追加する方法 |
| 04-patterns/04-data-flow | センサー/ペリフェラル/プロファイル/パブリッシャー間のデータ渡しの実践的レシピ |