跳转至

模塊地圖

該庫通過三個標題之一包含:

#include <idryer_core.h>         // 必需核心
#include <idryer_uart.h>         // 可選:UART 橋
#include <idryer_integrations.h> // 可選:HA / Bambu / Moonraker

模塊表

模塊 標題 目的 必需
core core/config.h, core/types.h 基本常量(IDRYER_MAX_*、超時)和結構體 DeviceIdentityWifiCredentialsCommandCallback 總是
hal hal/hal_types.h, hal/hal_arduino.h 時間和日誌記錄抽象(ITimeILoggerHAL_LOG_* 宏)。Arduino 實現:ArduinoTimeArduinoLoggerArduinoSerial 總是
device/interfaces device/interfaces/ 平台接口:IWifiManagerIHttpClientICredentialStore 總是
platform/arduino platform/arduino/ 接口的 Arduino 實現:ArduinoWifiManagerArduinoCredentialStoreArduinoHttpClientArduinoWifiStore 總是(ESP32/Arduino)
mqtt mqtt/mqtt_client.h, mqtt/idryer_topics.h 基於 PubSubClient 的 MQTT 客戶端:連接、訂閱 commands/#、發佈所有主題 總是
cloud cloud/cloud_state_machine.h, cloud/http_api.h, cloud/action_dispatcher.h 雲連接狀態機(WiFi → Provision → Claim → MQTT)。配置的 HTTP API。invoke/set 命令調度程序 總是
profiles profiles/IProfile.h IProfile 接口 — 庫和產品之間的契約 總是
runtime runtime/idryer_runtime.h IdryerRuntime — 頂級協調器:將 CloudStateMachineActionDispatcherIProfileMqttClient 連接到統一的 begin()/loop() 總是
uart uart/uart_bridge.h, uart/uart_protocol.h 雙向 UART 橋,用於雙 MCU 設備(ESP32 + RP2040)。幀協議、CRC-16、ACK/重試 可選(雙 MCU 設備)
config config/config_manager.h ConfigReceiver/ConfigSender — 通過 UART 組裝和傳輸分段 JSON 配置 可選(帶 uart)
integrations integrations/common/, integrations/bambu/, integrations/home_assistant/, integrations/moonraker/ LinkIntegrationsManager + 三個客戶端(Bambu LAN MQTT、HA MQTT、Moonraker WebSocket)。NVS 中的集成配置存儲 可選

模塊依賴關係

IProfile ──→ IdryerRuntime ←── CloudStateMachine ←── IWifiManager
                                                  ←── ICredentialStore
                                                  ←── HttpApi ←── IHttpClient
                                                  ←── MqttClient

ActionDispatcher ──→ IdryerRuntime

UartBridgeLinkIntegrationsManager 通過產品的 CommandHandlersetCommandHandler())連接,不是核心依賴項。