Skip to content

MaxReit-dev/iot-smart-camping

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

IoT Smart Camping Device

A full-stack IoT weather station and smart home controller built on the ESP32 platform. This was my high school diploma thesis project (HTL Mössingerstraße, 2020–2021), written entirely from scratch — 775 lines of C/C++ before AI coding assistants existed.

Features

Environmental Monitoring

  • BME280 Sensor Integration: Real-time temperature (°C), atmospheric pressure (hPa), and humidity (%) readings
  • Light Sensor: Analog light level measurement with 4-tier classification (Dark → Dim → Bright → Too Bright)
  • Motion Detection: PIR-based motion sensing with binary state reporting

Connectivity & Communication

  • WiFi Auto-Provisioning: AutoConnect captive portal for zero-configuration network setup
  • MQTT Telemetry: Publishes all sensor data to configurable MQTT topics at 10-second intervals
  • NTP Time Sync: Automatic time synchronization with timezone selection across 24 global zones

Configuration & Management

  • Live Web Dashboard: Self-hosted web server with real-time sensor readings (auto-refresh)
  • Serial CLI Configurator: Full command-line interface for runtime MQTT topic/server reconfiguration
  • SPIFFS Persistent Storage: All configuration changes survive power cycles via flash filesystem

Serial CLI Commands

Command Description
help List all available commands
showIP Display current AutoConnect IP
set TemperatureTopic <topic> Change MQTT temperature topic
set MqttServer <host> Change MQTT broker address
reset MqttTopics Restore default MQTT topics
reset MqttServerSettings Restore default broker settings
stopMqtt / reconnectMqtt Stop/restart MQTT connection
formatSpiff Format SPIFFS filesystem

Hardware

  • MCU: ESP32 (dual-core, WiFi + Bluetooth)
  • Sensors: Adafruit BME280 (I²C), analog photoresistor, PIR motion sensor
  • Power: USB or battery-powered portable design

Architecture

┌─────────────┐    I²C     ┌──────────┐
│   ESP32     │ ←────────→ │ BME280   │
│             │            └──────────┘
│  WiFi       │    ADC     ┌──────────┐
│  MQTT       │ ←────────→ │ Light    │
│  WebServer  │            └──────────┘
│  SPIFFS     │    GPIO    ┌──────────┐
│  Serial CLI │ ←────────→ │ PIR      │
└─────────────┘            └──────────┘
       │
       ├──→ MQTT Broker (telemetry)
       ├──→ Web Dashboard (HTTP)
       └──→ Serial Monitor (CLI)

Dependencies

Build

Open FINALVersion2.ino in the Arduino IDE with ESP32 board support installed, then upload to your device.

License

MIT License

About

IoT Smart Camping Device - full-stack weather station and smart home controller with ESP32, MQTT, BME280, WiFi, SPIFFS, and serial CLI (C/C++, Arduino) - HTL Diploma Project 2020-2021

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages