79 lines
1.5 KiB
Markdown
79 lines
1.5 KiB
Markdown
# smart-oil-heating-control-system
|
|
|
|
## Software
|
|
### Design
|
|
|
|
```mermaid
|
|
classDiagram
|
|
Inputs <|-- Control
|
|
Outputs <|-- Control
|
|
Inputs <|-- Safety
|
|
Outputs <|--|> Safety
|
|
|
|
Inputs <|-- HTTP_Metrics
|
|
Outputs <|-- HTTP_Metrics
|
|
Control <|-- HTTP_Metrics
|
|
Safety <|-- HTTP_Metrics
|
|
|
|
class Inputs{
|
|
+initInputs()
|
|
-taskInput()
|
|
+getChamberTemperature()
|
|
+getOutdoorTemperature()
|
|
+getInletFlowTemperature()
|
|
+getReturnFlowTemperature()
|
|
+getBurnerError()
|
|
}
|
|
|
|
class Outputs{
|
|
+initOutputs()
|
|
+getCirculationPumpState()
|
|
+setCirculationPumpState()
|
|
+getBurnerState()
|
|
+setBurnerState()
|
|
}
|
|
|
|
class Control{
|
|
+taskControl()
|
|
-timetable
|
|
}
|
|
|
|
class Safety{
|
|
+initSafety()
|
|
-taskSafety()
|
|
-setSafeState()
|
|
-checkSensorSanity()
|
|
+getSensorSanityStates()
|
|
+getSafetyState()
|
|
}
|
|
|
|
|
|
class Wifi{
|
|
+initWifi()
|
|
}
|
|
|
|
class SNTP{
|
|
+initSntp()
|
|
+getSntpState()
|
|
}
|
|
|
|
class Metrics{
|
|
+initMetrics()
|
|
-taskMetrics()
|
|
-metrics
|
|
+event_handler()
|
|
+connect_wifi()
|
|
+setMetrics()
|
|
}
|
|
```
|
|
|
|
### Hardware
|
|
|
|
|
|
| Function| ESP32 | ES32C14 |
|
|
|-----------------------|-------|---------------------------|
|
|
| CirculationPump | IO27 | Relay 1 NO1 |
|
|
| Burner | IO14 | Relay 1 NC2 |
|
|
| Burner Fault | IO19 | Digital Input IN1 |
|
|
| Temperature DS10B20 | IO04 | 1-Wire |
|