武威市网站建设_网站建设公司_Tailwind CSS_seo优化
2025/12/20 17:36:15 网站建设 项目流程

智能衣柜—穿搭助手系统

一、核心代码(模块化设计)

1. 配置文件(

"config.py")

集中管理常量与参数,便于扩展。

# 配置模块:系统常量与参数

class Config:

# 温湿度阈值(湿度>70%启动除湿)

HUMIDITY_THRESHOLD = 70

TEMP_THRESHOLD = 30 # 温度阈值(可选扩展制冷)

# 衣物属性字段

CLOTHING_FIELDS = ["id", "name", "category", "last_worn", "wear_count", "season"]

# 退出命令

EXIT_CMD = "退出"

WELCOME_MSG = "欢迎使用智能衣柜—穿搭助手!"

2. 传感器模拟模块(

"sensor_simulator.py")

模拟温湿度传感器数据读取(实际可对接DHT11等硬件)。

# 传感器模拟:生成随机温湿度数据(实际替换为硬件读取)

import random

from config import Config

def read_sensor_data():

"""模拟读取温湿度传感器数据"""

humidity = random.randint(50, 90) # 湿度50%-90%

temperature = random.randint(20, 35) # 温度20-35℃

return {"humidity": humidity, "temperature": temperature}

3. 除湿控制模块(

"dehumidifier.py")

根据湿度阈值控制除湿功能。

# 除湿控制:湿度超标时启动除湿

from sensor_simulator import read_sensor_data

from config import Config

def check_humidity_and_control():

"""检查湿度并控制除湿"""

data = read_sensor_data()

humidity = data["humidity"]

if humidity > Config.HUMIDITY_THRESHOLD:

print(f"⚠️ 湿度过高({humidity}%),启动除湿功能...")

return {"status": "运行中", "humidity": humidity}

else:

print(f"✅ 湿度正常({humidity}%),无需除湿")

return {"status": "待机", "humidity": humidity}

4. 衣物管理模块(

"wardrobe_manager.py")

用类封装衣物信息,支持增删改查与穿着记录。

# 衣物管理:记录衣物属性与穿着历史

import json

from datetime import datetime

from config import Config

class Wardrobe:

def __init__(self):

self.clothes = [] # 衣物列表,每个元素为字典

self.load_data() # 初始化时加载数据(模拟文件存储)

def add_clothing(self, name, category, season):

"""添加新衣物"""

new_id = len(self.clothes) + 1

self.clothes.append({

"id": new_id,

"name": name,

"category": category, # 如上衣/裤子

"last_worn": None, # 上次穿着时间(YYYY-MM-DD)

"wear_count": 0, # 穿着次数

"season": season # 适用季节:春/夏/秋/冬

})

self.save_data()

def record_wear(self, clothing_id):

"""记录衣物穿着"""

for item in self.clothes:

if item["id"] == clothing_id:

item["last_worn"] = datetime.now().strftime("%Y-%m-%d")

item["wear_count"] += 1

self.save_data()

return True

return False # 未找到衣物

def get_least_worn(self, limit=3):

"""推荐久未穿的衣物(按last_worn升序)"""

sorted_clothes = sorted(

self.clothes,

key=lambda x: x["last_worn"] or "1970-01-01" # 未穿过排最前

)

return sorted_clothes[:limit] # 返回前limit件

def save_data(self):

"""模拟保存数据到文件(实际用json.dump)"""

pass # 简化为内存存储,实际可扩展文件读写

def load_data(self):

"""模拟加载数据(初始为空列表)"""

self.clothes = []

5. 推荐算法模块(

"recommender.py")

基于穿着频率推荐久未穿衣物。

# 推荐算法:调用Wardrobe的get_least_worn方法

from wardrobe_manager import Wardrobe

def recommend_outfit(wardrobe, limit=3):

"""推荐久未穿的衣物"""

return wardrobe.get_least_worn(limit)

6. 用户交互模块(

"user_interface.py")

命令行交互,整合各模块功能。

# 用户交互:处理输入输出与功能调度

from dehumidifier import check_humidity_and_control

from wardrobe_manager import Wardrobe

from recommender import recommend_outfit

from config import Config

def display_menu():

print("\n===== 功能菜单 =====")

print("1. 查看温湿度并控制除湿")

print("2. 添加衣物到衣柜")

print("3. 记录衣物穿着")

print("4. 获取穿搭推荐(久未穿)")

print(f"输入'{Config.EXIT_CMD}'退出")

def run_interaction():

wardrobe = Wardrobe() # 初始化衣柜

print(Config.WELCOME_MSG)

while True:

display_menu()

choice = input("\n请选择功能:").strip()

if choice == Config.EXIT_CMD:

print("感谢使用,再见!")

break

elif choice == "1":

check_humidity_and_control()

elif choice == "2":

name = input("衣物名称:")

category = input("类别(如上衣/裤子):")

season = input("适用季节(春/夏/秋/冬):")

wardrobe.add_clothing(name, category, season)

print(f"✅ 已添加:{name}")

elif choice == "3":

cid = int(input("衣物ID:"))

if wardrobe.record_wear(cid):

print("✅ 穿着记录已更新")

else:

print("❌ 未找到该衣物")

elif choice == "4":

recs = recommend_outfit(wardrobe)

print("\n📌 推荐久未穿的衣物:")

for item in recs:

print(f"ID:{item['id']} {item['name']}(上次穿:{item['last_worn'] or '从未'})")

else:

print("❌ 无效选择,请重试")

7. 程序入口(

"main.py")

整合模块启动系统。

# 程序入口

from user_interface import run_interaction

if __name__ == "__main__":

try:

run_interaction()

except Exception as e:

print(f"程序出错:{e}")

二、README文件(

"README.md")

# 智能衣柜—穿搭助手

## 项目简介

基于Python的智能衣柜系统,集成温湿度监测(防霉除湿)、衣物穿着记录、久未穿推荐功能,模拟智能产品控制逻辑,支持模块化扩展。

## 核心功能

1. **环境监测**:模拟温湿度传感器,湿度>70%自动启动除湿

2. **衣物管理**:添加衣物、记录穿着次数与日期

3. **穿搭推荐**:按“最久未穿”原则推荐衣物,避免重复

4. **交互界面**:命令行菜单操作,简单易用

## 安装与使用

### 环境要求

- Python 3.8+

- 无额外依赖(纯标准库)

### 使用步骤

1. 下载代码:保存上述7个`.py`文件到同一文件夹

2. 运行程序:`python main.py`

3. 操作示例:

欢迎使用智能衣柜—穿搭助手!

===== 功能菜单 =====

1. 查看温湿度并控制除湿

2. 添加衣物到衣柜...请选择功能:2衣物名称:蓝色衬衫类别(如上衣/裤子):上衣适用季节(春/夏/秋/冬):夏✅ 已添加:蓝色衬衫

## 目录结构

├── config.py # 配置常量

├── sensor_simulator.py # 温湿度传感器模拟

├── dehumidifier.py # 除湿控制

├── wardrobe_manager.py # 衣物管理(类封装)

├── recommender.py # 推荐算法

├── user_interface.py # 命令行交互

└── main.py # 程序入口

## 扩展方向

1. 硬件对接:用树莓派+DHT11传感器读取真实温湿度

2. GUI界面:用Tkinter/PyQt开发图形界面

3. 数据存储:用SQLite数据库持久化衣物信息

三、使用说明

1. 准备环境:安装Python 3.8+("官网下载" (https://www.python.org/downloads/))

2. 运行程序:

- 创建文件夹(如

"smart_wardrobe"),放入所有

".py"文件

- 终端执行

"cd smart_wardrobe && python main.py"

3. 操作流程:

- 选1:查看温湿度,湿度超标自动提示启动除湿

- 选2:添加衣物(名称、类别、季节)

- 选3:输入衣物ID记录穿着(更新last_worn和wear_count)

- 选4:获取久未穿衣物推荐(按上次穿着时间排序)

四、核心知识点卡片

知识点 说明 代码应用示例

模块化设计 拆分传感器、控制、管理等独立模块

"sensor_simulator.py"与

"dehumidifier.py"分离

类与对象 用

"Wardrobe"类封装衣物管理逻辑

"wardrobe = Wardrobe()"实例化衣柜

字典数据结构 存储衣物属性(id/name/last_worn等)

"clothes"列表中的字典元素

排序算法

"sorted()"按last_worn推荐久未穿衣物

"sorted(clothes, key=lambda x: x["last_worn"])"

异常处理

"try...except"捕获运行错误

"main.py"中捕获通用异常并打印

模拟硬件交互 用随机数模拟传感器数据

"random.randint(50, 90)"生成湿度值

文件I/O(扩展) 用

"json"持久化衣物数据(当前简化)

"save_data()"/

"load_data()"方法

运行效果示例

欢迎使用智能衣柜—穿搭助手!

===== 功能菜单 =====

1. 查看温湿度并控制除湿

...

请选择功能:1

⚠️ 湿度过高(85%),启动除湿功能...

请选择功能:4

📌 推荐久未穿的衣物:

ID:1 蓝色衬衫(上次穿:从未)

ID:2 牛仔裤(上次穿:2025-12-15)

系统可通过扩展

"wardrobe_manager.py"实现文件存储,或对接真实传感器提升实用性。

关注我,有更多实用程序等着你!

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询