Finalize Design & Components Apr 24 2025
β’ Total time: 4 hours
Challenges:
- Developing a functional and realistic plan that integrates the garage controller with sensor feedback and real-time status updates.
β’ Total time: 4 hours
Challenges:
 
          Block diagram of our hardware.
β’ Total time: 10 hours
Challenges:
 
          3D rendering of our PCB.
β’ Total time: 4 hours
Challenges:
 
          Final CAD design of the enclosure.
β’ Read about publish/subscribe architecture and retained messages.
β’ Understood how a broker/client model fits our garage sensor use case (ESP32 & Web UI).
 
          Client-server diagram of our project.
β’ Verified reed switch connectivity on the ESP32
β’ Verified MQ-9B Gas Sensor on ESP32
β’ Verified STTS22H IΒ²C Temperature Sensor on ESP32 (test code below)
            
            #include < Wire.h >
            #include "STTS22HSensor.h"
            TwoWire        I2CBus = TwoWire(0);
            STTS22HSensor  Temp(&I2CBus);
            void setup() {
            Serial.begin(115200);
            delay(100);
            Serial.println("STTS22H Temperature Test");
            // GPIO37=SDA, GPIO38=SCL
            I2CBus.begin(37, 38, 400000);
            if (Temp.begin() != 0) {
                Serial.println("ERROR: STTS22H not found.");
                while (1) delay(1000);
            }
            Temp.Enable();
            Serial.println("STTS22H initialized!");
            }
            void loop() {
            float temperature;
            if (Temp.GetTemperature(&temperature) == 0) {
                Serial.printf("Temperature: %.2f Β°C\n", temperature);
            } else {
                Serial.println("Read error");
            }
            delay(1000);
            }
            
        
        β’ Total time: 10 hours
            β’ First got the Express/MQTT web client and ESP32 firmware
            communicating over our local network (e.g.,
            http://192.168.x.x:3000) so any phone or computer on
            Wi-Fi could see real-time door/temperature/gas updates.
            β’ Then purchased βgaragecontroller.comβ and a VPS from DigitalOcean
          
Challenges:
 
          Demo simulation of our MQTT connection.
β’ Total time: 3 hours
Challenges:
 
          Final assembly of the garage controller.
β’ Total time: 10 hours
β’ Created a responsive UI (HTML/CSS/JS) that:
wss://garagecontroller.com:9001).
             
          Final website design with all features.
β’ Set up Express for the login page.
β’ Verified end-to-end flow: ESP32 β Mosquitto β Web UI.
β’ Username and Password: admin
 
        β’ Implement push notifications for unsafe temperature and gas levels.
β’ Ensured real-time updates for critical safety conditions.
β’ Presented a live completely functional demo to the class.
β’ Special thanks to the following people:
Professor Karcher, Juliana, Leo and Cannon
 
          Group photo after the demo.
