コンテンツにスキップ

idryer-core — ライブラリドキュメント

idryer-core — ESP32ベースのiDryerデバイス向けC++ライブラリ(Arduino/PlatformIO)。WiFi、MQTT、クラウド状態マシン、およびコマンドルーティングを管理します。製品はデバイス固有の動作のみを実装します。

これは**ライブラリ**のドキュメントであり、特定の製品のドキュメントではありません。 製品ドキュメントはdocs/ru/にあります。


クイックスタート

実装する3つのもの:

  1. IProfileを実装する — 5つのメソッド(config、info、loop)。
  2. main.cppを組み立てる — 静的オブジェクト、コンストラクタ経由で依存関係を渡します。
  3. handleCommandを登録する — MQTT用および、オプションでローカルWS用の単一ハンドラ。

ライブラリが行う3つのこと:

  1. WiFi → プロビジョニング → MQTTセッションを管理します。
  2. 受信コマンドをhandleCommandにルーティングします(pingを除く、これは内部で処理されます)。
  3. 適切なタイミングでIProfileメソッドを呼び出します。

変更しないでおくことができるもの:

  • ArduinoWifiManagerArduinoCredentialStore、およびその他の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 センサー/ペリフェラル/プロファイル/パブリッシャー間のデータ渡しの実践的レシピ