Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dyson HP09 Local Console

中文 | English

截图

Screenshot 1 Screenshot 2 Screenshot 3

一个本地运行的 Web 控制台,用于在局域网内查看并控制 Dyson HP09(或HP07)。提供实时环境数据、设备状态与控制面板,并带有 3D 设备预览和材质调色面板。本项目为纯AI开发项目。

功能特性

  • 设备控制:电源、冷热模式、风速、自动、夜间、摆风、摆风角度、睡眠定时
  • 监测数据:温度、湿度、PM2.5、PM10、NOx、甲醛
  • 诊断信息:滤网寿命、告警与错误码
  • 3D 预览:基于 Three.js 的 HP09 模型与气流动效
  • 账号绑定:支持中国区短信验证码与国际区邮箱验证码 + 密码登录
  • 本地配置:设备信息与可视化材质参数持久化

技术栈

  • 后端:Flask
  • 设备通讯:MQTT(paho-mqtt
  • 账号登录与设备信息:libdyson-neon
  • 前端:原生 JS + Three.js(本地 static/vendor

运行环境

  • Python 3.x

安装依赖

pip install -r requirements.txt

启动

python app.py

默认地址:http://127.0.0.1:6321/
启动时会自动打开浏览器,如需关闭可设置环境变量:

set DYSON_WEB_OPEN_BROWSER=0

如需调整自动打开的地址:

set DYSON_WEB_URL=http://127.0.0.1:6321/

绑定设备(推荐路径)

  1. 打开页面右侧 SettingsAccount & Device
  2. 选择区域(Mainland China / Rest of World)
  3. 获取验证码并登录
  4. 选择设备,输入设备的局域网 IP
  5. 保存后即可开始控制

配置说明

配置文件默认位置:config/config.json

示例(请勿提交真实凭据到 GitHub):

{
  "materials": {
    "silver": { "r": 165, "g": 165, "b": 160, "met": 0.56, "roug": 0.46 },
    "gold": { "r": 190, "g": 147, "b": 53, "met": 0.31, "roug": 0.38 }
  },
  "dyson": {
    "broker": "192.168.x.x",
    "port": 1883,
    "serial": "YOUR_SERIAL",
    "credential": "YOUR_DEVICE_KEY",
    "product_type": "YOUR_PRODUCT_TYPE"
  }
}

安全建议:

  • config/config.json 含设备密钥与序列号,建议加入 .gitignore
  • 本服务默认监听 0.0.0.0:6321,如果在公共网络运行请做好防火墙隔离

API 简表

  • GET /api/data:获取设备状态与环境数据
  • POST /api/dyson/power{ "on": true|false }
  • POST /api/dyson/mode{ "mode": "cool"|"heat" }
  • POST /api/dyson/fan-speed{ "speed": 1..10 }
  • POST /api/dyson/heat-target{ "temperature": 1..37 }
  • POST /api/dyson/auto-mode{ "on": true|false }
  • POST /api/dyson/night-mode{ "on": true|false }
  • POST /api/dyson/oscillation{ "on": true|false }
  • POST /api/dyson/oscillation-angle{ "low": 5..355, "high": 5..355 }
  • POST /api/dyson/sleep-timer{ "minutes": 0..540 }
  • GET/POST /api/config:读取/更新配置
  • POST /api/auth/send-sms:请求验证码(CN/ROW)
  • POST /api/auth/verify:验证并返回设备列表

目录结构

dyson_web/
├─ app.py
├─ requirements.txt
├─ config/
│  └─ config.json
└─ static/
   ├─ index.html
   ├─ styles.css
   ├─ app.js
   ├─ preview.js
   ├─ dyson_mqtt_client.py
   ├─ dyson_hp09.glb
   └─ vendor/

免责声明

本项目仅用于本地设备控制与学习交流,请确保你拥有对应设备的合法使用权。Dyson 为其商标所有者,项目不隶属于 Dyson 官方。

致谢与来源

License

MIT License(见 LICENSE)。

About

Dyson HP07 HP09 Web Console

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages