# agodoi/m04-semana06 architecture

> Architecture diagram of the GitHub repository agodoi/m04-semana06, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-15). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/agodoi/m04-semana06
- Repository: https://github.com/agodoi/m04-semana06

## Overview

This repository is a lesson, not an executable application: README.md teaches an ESP32 sensor-to-actuator workflow and I2C fundamentals, with a relay example and MQTT/Node-RED as related integration topics. The documented workflow is sensor response → actuation rules → actuator; the lesson also describes ESP32 as the I2C bus master and gives examples for scanning, sending, and receiving. No source code is present, so the graph reflects documented concepts rather than inspected runtime modules; broker monitoring is presented as a project question, not a demonstrated integration.

Main entry points: [`README.md`](https://github.com/agodoi/m04-semana06/blob/main/README.md) (ESP32 master)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_lesson["Actuation lesson"]
  node_sensors["Sensors<br/>[README.md]"]
  node_rules["Actuation rules<br/>[README.md]"]
  node_actuators["Actuators<br/>[README.md]"]
  node_relay["Relay example<br/>[README.md]"]
end

subgraph group_i2c["I2C communication"]
  node_esp32["ESP32 master<br/>[README.md]"]
  node_i2c_bus["I2C bus<br/>[README.md]"]
  node_scanner["Address scanner<br/>[README.md]"]
  node_wire_examples["Wire send/receive<br/>[README.md]"]
  node_serial_monitor(("Serial monitor"))
end

subgraph group_integration["Monitoring integration"]
  node_mqtt_flow["Broker monitoring<br/>[README.md]"]
  node_broker["Mosquitto / Node-RED"]
end

node_learner(("Project builder"))

node_learner -->|"configures"| node_esp32
node_sensors -->|"inform"| node_rules
node_rules -->|"authorize"| node_actuators
node_actuators -->|"may use"| node_relay
node_esp32 -->|"masters"| node_i2c_bus
node_i2c_bus -->|"connects"| node_sensors
node_esp32 -->|"scans"| node_scanner
node_scanner -->|"reports addresses"| node_serial_monitor
node_esp32 -->|"sends and receives"| node_wire_examples
node_learner -->|"considers"| node_mqtt_flow
node_mqtt_flow -.->|"may monitor through"| node_broker

click node_sensors "https://github.com/agodoi/m04-semana06/blob/main/README.md"
click node_rules "https://github.com/agodoi/m04-semana06/blob/main/README.md"
click node_actuators "https://github.com/agodoi/m04-semana06/blob/main/README.md"
click node_relay "https://github.com/agodoi/m04-semana06/blob/main/README.md"
click node_esp32 "https://github.com/agodoi/m04-semana06/blob/main/README.md"
click node_i2c_bus "https://github.com/agodoi/m04-semana06/blob/main/README.md"
click node_scanner "https://github.com/agodoi/m04-semana06/blob/main/README.md"
click node_wire_examples "https://github.com/agodoi/m04-semana06/blob/main/README.md"
click node_mqtt_flow "https://github.com/agodoi/m04-semana06/blob/main/README.md"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_sensors,node_rules,node_actuators,node_relay toneBlue
class node_esp32,node_i2c_bus,node_scanner,node_wire_examples,node_serial_monitor toneAmber
class node_mqtt_flow,node_broker toneMint
class node_learner toneIndigo
```

## Components

### Actuation lesson

- [Sensors](https://github.com/agodoi/m04-semana06/blob/main/README.md): `README.md`
- [Actuation rules](https://github.com/agodoi/m04-semana06/blob/main/README.md): `README.md`
- [Actuators](https://github.com/agodoi/m04-semana06/blob/main/README.md): `README.md`
- [Relay example](https://github.com/agodoi/m04-semana06/blob/main/README.md): `README.md`

### I2C communication

- [ESP32 master](https://github.com/agodoi/m04-semana06/blob/main/README.md): `README.md`
- [I2C bus](https://github.com/agodoi/m04-semana06/blob/main/README.md): `README.md`
- [Address scanner](https://github.com/agodoi/m04-semana06/blob/main/README.md): `README.md`
- [Wire send/receive](https://github.com/agodoi/m04-semana06/blob/main/README.md): `README.md`
- **Serial monitor**

### Monitoring integration

- [Broker monitoring](https://github.com/agodoi/m04-semana06/blob/main/README.md): `README.md`
- **Mosquitto / Node-RED**

### Other components

- **Project builder**

## Connections

- Project builder → ESP32 master: configures (evidence: `README.md`)
- Sensors → Actuation rules: inform (evidence: `README.md`)
- Actuation rules → Actuators: authorize (evidence: `README.md`)
- Actuators → Relay example: may use (evidence: `README.md`)
- ESP32 master → I2C bus: masters (evidence: `README.md`)
- I2C bus → Sensors: connects (evidence: `README.md`)
- ESP32 master → Address scanner: scans (evidence: `README.md`)
- Address scanner → Serial monitor: reports addresses (evidence: `README.md`)
- ESP32 master → Wire send/receive: sends and receives (evidence: `README.md`)
- Project builder → Broker monitoring: considers (evidence: `README.md`)
- Broker monitoring → Mosquitto / Node-RED: may monitor through (evidence: `README.md`)
