software and system v1
This commit is contained in:
@@ -68,39 +68,72 @@ The ASF Sensor Hub follows a **Layered Architecture** with the following charact
|
||||
graph TB
|
||||
subgraph "Application Layer"
|
||||
subgraph "Business Stack"
|
||||
STM[State Manager<br/>STM]
|
||||
EventSys[Event System]
|
||||
SensorMgr[Sensor Manager]
|
||||
MCMgr[MC Manager]
|
||||
ActuatorMgr[Actuator Manager]
|
||||
OTAMgr[OTA Manager]
|
||||
MainHubAPI[Main Hub APIs]
|
||||
STM[System State Manager<br/>C-STM-001]
|
||||
EventSys[Event System<br/>C-EVENT-001]
|
||||
SensorMgr[Sensor Manager<br/>C-SENSOR-001]
|
||||
CommMgr[Communication Manager<br/>C-COM-001]
|
||||
MCMgr[Machine Constants Manager<br/>C-MC-001]
|
||||
OTAMgr[OTA Manager<br/>C-OTA-001]
|
||||
SecMgr[Security Manager<br/>C-SEC-001]
|
||||
DiagMgr[Diagnostics Manager<br/>C-DIAG-001]
|
||||
HMICtrl[HMI Controller<br/>C-HMI-001]
|
||||
end
|
||||
|
||||
subgraph "Services Stack"
|
||||
TimeSync[Time Sync Service<br/>C-TIME-SYNC-001]
|
||||
WatchdogMgr[Watchdog Manager<br/>C-WATCHDOG-001]
|
||||
end
|
||||
|
||||
subgraph "DP Stack"
|
||||
DataPool[Data Pool]
|
||||
Persistence[Persistence]
|
||||
DataPool[Data Pool<br/>C-DATA-POOL]
|
||||
Persistence[Data Persistence<br/>C-DP-001]
|
||||
end
|
||||
|
||||
DiagTask[Diagnostics Task]
|
||||
ErrorHandler[Error Handler]
|
||||
subgraph "Utilities Stack"
|
||||
Logger[Logger<br/>C-LOGGER-001]
|
||||
TimeUtils[Time Utils<br/>C-TIME-001]
|
||||
CryptoUtils[Crypto Utils<br/>C-CRYPTO-001]
|
||||
MsgFormatter[Message Formatter<br/>C-MSG-FMT-001]
|
||||
FilterEngine[Filter Engine<br/>C-FILTER-001]
|
||||
DataValidation[Data Validation<br/>C-VALIDATION-001]
|
||||
end
|
||||
|
||||
ErrorHandler[Error Handler<br/>C-ERROR-001]
|
||||
end
|
||||
|
||||
subgraph "Drivers Layer"
|
||||
SensorDrivers[Sensor Drivers<br/>I2C/SPI/UART/ADC]
|
||||
NetworkStack[Network Stack<br/>Wi-Fi/ESP-NOW]
|
||||
StorageDrivers[Storage Drivers<br/>SD/NVM]
|
||||
DiagProtocol[Diagnostic Protocol]
|
||||
subgraph "Sensor Drivers"
|
||||
TempDriver[Temperature SHT40<br/>C-SENSOR-DRV-TEMP]
|
||||
HumDriver[Humidity SHT40<br/>C-SENSOR-DRV-HUM]
|
||||
CO2Driver[CO2 SCD40<br/>C-SENSOR-DRV-CO2]
|
||||
NH3Driver[NH3 Analog<br/>C-SENSOR-DRV-NH3]
|
||||
VOCDriver[VOC SGP40<br/>C-SENSOR-DRV-VOC]
|
||||
PMDriver[PM SPS30<br/>C-SENSOR-DRV-PM]
|
||||
LightDriver[Light TSL2591<br/>C-SENSOR-DRV-LIGHT]
|
||||
end
|
||||
subgraph "Network Stack"
|
||||
WiFiMgr[Wi-Fi Manager<br/>C-NET-WIFI]
|
||||
MQTTClient[MQTT Client<br/>C-NET-MQTT]
|
||||
TLSManager[TLS Manager<br/>C-NET-TLS]
|
||||
ESPNowHandler[ESP-NOW Handler<br/>C-NET-ESPNOW]
|
||||
end
|
||||
subgraph "Storage Drivers"
|
||||
SDDriver[SD Card Driver<br/>C-STORAGE-SD]
|
||||
NVMDriver[NVM Driver<br/>C-STORAGE-NVM]
|
||||
end
|
||||
end
|
||||
|
||||
subgraph "ESP-IDF Wrappers (OSAL)"
|
||||
I2CWrapper[I2C Wrapper]
|
||||
SPIWrapper[SPI Wrapper]
|
||||
UARTWrapper[UART Wrapper]
|
||||
ADCWrapper[ADC Wrapper]
|
||||
WiFiWrapper[WiFi Wrapper]
|
||||
TaskWrapper[Task Wrapper]
|
||||
TimerWrapper[Timer Wrapper]
|
||||
I2CWrapper[I2C Wrapper<br/>C-OSAL-I2C]
|
||||
SPIWrapper[SPI Wrapper<br/>C-OSAL-SPI]
|
||||
UARTWrapper[UART Wrapper<br/>C-OSAL-UART]
|
||||
ADCWrapper[ADC Wrapper<br/>C-OSAL-ADC]
|
||||
GPIOWrapper[GPIO Wrapper<br/>C-OSAL-GPIO]
|
||||
WiFiWrapper[WiFi Wrapper<br/>C-OSAL-WIFI]
|
||||
TaskWrapper[Task Wrapper<br/>C-OSAL-TASK]
|
||||
TimerWrapper[Timer Wrapper<br/>C-OSAL-TIMER]
|
||||
MutexWrapper[Mutex Wrapper<br/>C-OSAL-MUTEX]
|
||||
QueueWrapper[Queue Wrapper<br/>C-OSAL-QUEUE]
|
||||
end
|
||||
|
||||
subgraph "ESP-IDF Framework (HAL)"
|
||||
@@ -124,28 +157,63 @@ graph TB
|
||||
|
||||
%% Layer Dependencies (downward only)
|
||||
STM --> EventSys
|
||||
SensorMgr --> SensorDrivers
|
||||
SensorMgr --> TempDriver
|
||||
SensorMgr --> HumDriver
|
||||
SensorMgr --> CO2Driver
|
||||
SensorMgr --> EventSys
|
||||
DataPool --> Persistence
|
||||
Persistence --> StorageDrivers
|
||||
MainHubAPI --> NetworkStack
|
||||
SensorMgr --> FilterEngine
|
||||
CommMgr --> WiFiMgr
|
||||
CommMgr --> MQTTClient
|
||||
CommMgr --> MsgFormatter
|
||||
OTAMgr --> TLSManager
|
||||
SecMgr --> CryptoUtils
|
||||
DiagMgr --> WatchdogMgr
|
||||
HMICtrl --> I2CWrapper
|
||||
HMICtrl --> GPIOWrapper
|
||||
|
||||
SensorDrivers --> I2CWrapper
|
||||
SensorDrivers --> SPIWrapper
|
||||
NetworkStack --> WiFiWrapper
|
||||
StorageDrivers --> SPIWrapper
|
||||
DataPool --> Persistence
|
||||
Persistence --> SDDriver
|
||||
Persistence --> NVMDriver
|
||||
|
||||
TimeSync --> WiFiMgr
|
||||
TimeSync --> TimeUtils
|
||||
|
||||
TempDriver --> I2CWrapper
|
||||
HumDriver --> I2CWrapper
|
||||
CO2Driver --> I2CWrapper
|
||||
NH3Driver --> ADCWrapper
|
||||
VOCDriver --> I2CWrapper
|
||||
PMDriver --> UARTWrapper
|
||||
LightDriver --> I2CWrapper
|
||||
|
||||
WiFiMgr --> WiFiWrapper
|
||||
MQTTClient --> TLSManager
|
||||
TLSManager --> CryptoUtils
|
||||
ESPNowHandler --> WiFiWrapper
|
||||
|
||||
SDDriver --> SPIWrapper
|
||||
NVMDriver --> ESPIDFNVS[ESP-IDF NVS]
|
||||
|
||||
I2CWrapper --> I2CHAL
|
||||
SPIWrapper --> SPIHAL
|
||||
UARTWrapper --> UARTHAL
|
||||
ADCWrapper --> ADCHAL
|
||||
GPIOWrapper --> GPIOHAL[GPIO HAL]
|
||||
WiFiWrapper --> WiFiHAL
|
||||
TaskWrapper --> FreeRTOS
|
||||
TimerWrapper --> TimerHAL[Timer HAL]
|
||||
|
||||
I2CHAL --> ESP32S3
|
||||
SPIHAL --> ESP32S3
|
||||
UARTHAL --> ESP32S3
|
||||
ADCHAL --> ESP32S3
|
||||
GPIOHAL --> ESP32S3
|
||||
WiFiHAL --> ESP32S3
|
||||
FreeRTOS --> ESP32S3
|
||||
TimerHAL --> ESP32S3
|
||||
|
||||
ESP32S3 --> Sensors
|
||||
ESP32S3 --> SDCard
|
||||
ESP32S3 --> OLED
|
||||
ESP32S3 --> Buttons
|
||||
```
|
||||
Reference in New Issue
Block a user