Skip to content

codebanglailp/WiFi_Controlled_Remote_Terminal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 

Repository files navigation

πŸš€ WiFi Controlled Remote Terminal (ESP8266)

A Production-Grade Web-Based Remote Terminal for ESP8266 Control, Monitor & Manage your device directly from the browser.


πŸ“Œ Project Overview

WiFi Controlled Remote Terminal is a secure, web-based terminal system built for ESP8266 (NodeMCU / D1 Mini).

It allows you to:

  • Execute safe predefined commands
  • Monitor system information
  • Scan nearby WiFi networks
  • View real-time device status
  • Manage your ESP8266 remotely
  • Display live status on OLED screen

All without any extra components (except optional OLED).


🧠 How It Works

Browser (index.html)
        ↓
HTTP POST /execute
        ↓
ESP8266 Command Parser
        ↓
JSON Response
        ↓
Terminal Output in Browser

OLED shows:

  • Device Name
  • IP Address
  • Connected Clients
  • Last Command
  • Uptime

πŸ“‚ Project Structure

WiFi_Controlled_Remote_Terminal/
β”‚
β”œβ”€β”€ WiFi_Controlled_Remote_Terminal.ino
└── data/
     └── index.html

Only 2 files required.


βš™οΈ Features

🌐 Web Terminal

  • Dark premium terminal UI
  • Smooth animations
  • Command history support
  • Loading animation
  • JSON-based response handling
  • Fully responsive design

πŸ›  Safe Command System

Command Function
help Show available commands
info Show system information
wifi-scan Scan nearby WiFi networks
uptime Show device uptime
heap Show free heap memory
restart Restart ESP8266
clear Clear terminal screen

⚠️ No raw system-level command execution for security.


πŸ“Ί OLED Display (128x64)

Displays:

  • Device Name
  • IP Address
  • Client Count
  • Last Command
  • Uptime

πŸ” Security

  • Whitelisted command execution
  • Structured JSON responses
  • Optional password authentication
  • Safe input handling

🎨 UI Color Grading

Dark Terminal Theme:

Element Color
Background #0f172a
Card #1e293b
Accent Cyan Glow
Text #e2e8f0
Success #00ff99
Error #ff4d4d

Modern, premium, hacker-style interface.


🧰 Required Libraries

Install in Arduino IDE:

  • ESP8266WiFi
  • ESP8266WebServer
  • LittleFS
  • ArduinoJson
  • Adafruit SSD1306
  • Adafruit GFX
  • ESP8266mDNS (optional)

πŸ”Œ Setup Guide

1️⃣ Upload Frontend

  • Place index.html inside data/
  • Use LittleFS Data Upload Tool

2️⃣ Flash Firmware

  • Open WiFi_Controlled_Remote_Terminal.ino
  • Select board (NodeMCU / D1 Mini)
  • Upload firmware

3️⃣ Connect

  • Connect ESP to WiFi (or fallback AP mode)
  • Open IP address in browser
  • Start using the terminal

πŸ“‘ WiFi Behavior

  • Attempts STA connection
  • If fails β†’ starts AP mode
  • AP SSID example: ESP-Terminal

πŸ“Š API Endpoints

Route Method Description
/ GET Load UI
/execute POST Execute command
/info GET System info
/reboot GET Restart device

πŸ§ͺ Tested On

  • NodeMCU ESP8266
  • LOLIN D1 Mini
  • ESP8266MOD

πŸš€ Why This Project?

  • Learn embedded web servers
  • Understand secure command parsing
  • Build production-style firmware
  • Create reusable IoT management systems
  • Improve UI/UX + firmware integration skills

πŸ›£ Future Improvements

  • OTA Firmware Update
  • Authentication system
  • WebSocket real-time terminal
  • Multi-device control
  • Theme toggle
  • Logging system
  • Remote monitoring dashboard

πŸ“œ License

MIT License – Free to use and modify.


πŸ‘¨β€πŸ’» Author

Created by CODE Bangla GitHub: https://github.com/codebanglailp


⭐ If you like this project, give it a star on GitHub!

About

Production-grade Web-Based Remote Terminal for ESP8266 with OLED support, secure command system, and premium UI.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors