Skip to content

AidenDJ/ESP-01S-Relay-Controller

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ESP8266 继电器控制系统(带登录功能)

这是一个基于Flask的Web应用,用于远程控制ESP8266继电器,并包含用户认证功能。

功能特性

  • 🔐 用户登录认证
  • 🎛️ 继电器远程控制(开启/关闭)
  • 📊 实时状态监控
  • 📱 响应式Web界面
  • 🔒 会话管理

安装和运行

1. 安装依赖

pip install -r requirements.txt

2. 运行应用

python app.py

应用将在 http://localhost:25556 启动。

默认登录信息

  • 用户名: admin
  • 密码: admin123

使用说明

  1. 访问 http://localhost:25556
  2. 系统会自动跳转到登录页面
  3. 使用默认凭据登录
  4. 登录后可以控制继电器和查看状态

配置

ESP8266 地址配置

config.json 文件中修改 esp_url 字段:

{
    "esp_url": "http://你的ESP8266的IP地址:端口"
}

用户管理

用户信息现在存储在 config.json 配置文件中,而不是硬编码在程序中。你可以使用提供的用户管理脚本来管理用户:

使用用户管理脚本

# 交互模式
python user_manager.py

# 命令行模式
python user_manager.py add <用户名> <密码> [显示名]
python user_manager.py delete <用户名>
python user_manager.py password <用户名> <新密码>
python user_manager.py list

手动编辑配置文件

你也可以直接编辑 config.json 文件:

{
    "users": {
        "admin": {
            "password": "240be518fabd2724ddb6f04eeb1da5967448d7e831c08c8fa822809f74c720a9",
            "name": "管理员"
        },
        "user1": {
            "password": "ef92b778bafe771e89245b89ecbc08a44a4e166c06659911881f383d4473e94f",
            "name": "用户1"
        }
    },
    "esp_url": "http://192.168.10.21:25555"
}

注意: 密码字段是SHA256哈希值,不是明文密码。

安全说明

  • 密码使用SHA256哈希存储
  • 所有控制接口都需要登录验证
  • 会话使用随机密钥加密

API接口

  • GET / - 主控制页面(需要登录)
  • GET /login - 登录页面
  • POST /login - 登录处理
  • GET /logout - 登出
  • GET /control/<cmd> - 控制继电器(需要登录)
  • GET /status - 获取状态(需要登录)

注意事项

  • 确保ESP8266设备在指定IP地址上运行
  • 网络连接稳定以确保正常通信
  • 建议在生产环境中使用数据库存储用户信息

ESP8266硬件部分

本项目包含ESP8266硬件控制器,详细说明请参考:

快速开始

  1. 按照 ESP8266_README.md 配置硬件
  2. 上传 esp8266_http.ino 到ESP8266
  3. 记录ESP8266的IP地址
  4. config.json 中配置ESP8266地址
  5. 运行Flask应用进行控制

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors