Skip to content

08Tang/MiHome-Rust

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MiHome-Rust

Rust 编写的米家智能家居控制面板,实现智能设备远程控制

简体中文 · English

GitHub Release GitHub stars GitHub forks GitHub issues


项目概述

MiHome-Rust 是一个用 Rust 编写的米家智能家居控制面板,可通过 Web 界面或 API 远程控制米家智能设备,实现智能家居的集中管理。

项目目标:提供一个开放、轻量、易用的米家设备控制方案。

  • 开放:提供 RESTful API 接口,支持与第三方系统集成。
  • 轻量:以二进制文件形式分发,无繁杂的依赖项,部署过程简单。
  • 易用:提供交互式配置工具 mihome-set,无需手动编辑配置文件。

本项目可与 One-KVM-mihome 搭配使用,实现更强大的远程控制功能。

功能介绍

核心功能

功能 能力说明
Web 控制面板 基于浏览器的智能家居管理界面,支持密码登录
设备控制 远程控制米家智能设备,支持开关、参数设置
API 接口 提供 RESTful API,支持 SHA256 签名验证
多架构支持 Linux (x86_64/arm64/armv7) + Windows (x64)
systemd 服务 Linux 下支持开机自启
配置工具 独立的 mihome-set 命令行工具,交互式配置

支持的设备类型(更多设备敬请期待)

设备 型号 支持功能
米家智能插座3 cuco.plug.v3 开关、实时功率(W)、设备温度(°)、耗电量(度)、故障状态、上电默认状态、指示灯、童锁
开机卡 cddz.plug.pc01w 通电开机/断电关机、运行状况(9种状态)、上电默认状态、指示灯、电源开关、重启

安装使用

构建产物见 GitHub Releases。以下为常见安装方式的简要步骤。

使用 deb 安装(Debian / Ubuntu)

从 Releases 下载与本机架构匹配的 mihome_*.deb,在包所在目录执行:

sudo apt update
sudo apt install ./mihome_0.x.x_<arch>.deb

将文件名中的版本号与架构替换为实际下载的包名。安装后 systemd 服务会自动启用并开机自启。

系统要求:

架构 deb 包名 最低系统要求
x86_64 (amd64) mihome_*_amd64.deb Debian 11+ / Ubuntu 20.04+
ARM64 (arm64) mihome_*_arm64.deb Debian 11+ / Ubuntu 20.04+
ARMv7 (armhf) mihome_*_armhf.deb Debian 11+ / Ubuntu 20.04+

依赖: libc6 >= 2.31,libssl1.1 >= 1.1.0 或 libssl3 >= 3.0.0

Windows

从 Releases 下载 mihome-windows-x64.zip,解压后直接运行。

系统要求: Windows 10 (1809+) / Windows 11 / Windows Server 2019+

Windows 版本为独立可执行文件,无需额外依赖。

配置(使用 mihome-set)

# 第一步:登录米家账号
mihome-set login

# 第二步:添加设备
mihome-set add

# 第三步:设置 API 密钥(建议随机)
mihome-set api_key

# 第四步(可选):关闭 WebUI
mihome-set webui off

Windows 用户使用 .\mihome-set.exe 替代 mihome-set

访问 Web 控制面板

浏览器访问 http://<设备 IP>:7123/webui。默认密码:123456(使用 mihome-set password 修改)。

仅搭配 One-KVM-mihome 使用时建议关闭 Web 面板:mihome-set webui off

mihome-set 命令详解

mihome-set 支持两种模式:命令行模式(带参数)和交互模式(不带参数)。

命令 说明 示例
login 登录米家账号,保存认证信息到 auth.json mihome-set login
list 查看已配置的设备列表 mihome-set list
add 从米家账号获取设备列表,选择添加到控制列表 mihome-set add
edit 编辑已配置设备的名称 mihome-set edit
delete 删除已配置的设备 mihome-set delete
query 查询设备实时状态(支持查询单个或全部) mihome-set query
types 查看支持的设备类型及功能 mihome-set types
password 修改 WebUI 登录密码(留空随机生成) mihome-set password
api_key 修改 API 密钥(留空随机生成 32 位) mihome-set api_key
webui 开启/关闭 WebUI mihome-set webui onmihome-set webui off
help 显示帮助信息 mihome-set help

不带任何参数运行 mihome-set,进入交互模式,可循环执行命令,输入 exit 退出。

报告问题

如果您发现了问题,请:

  1. 使用 GitHub Issues 报告
  2. 提供有帮助的错误信息和复现步骤
  3. 包含您使用的软件版本、硬件配置和系统信息

API 接口

详见 API接口.md

配置文件位置

Linux (deb 安装后)

/etc/mihome/
├── config.json      # 主配置(密码、WebUI开关、API密钥)
├── devices.json     # 设备列表
└── auth.json        # 米家认证信息

Windows

配置文件与可执行文件同目录:

<程序目录>/
├── mihome.exe
├── mihome-set.exe
├── config.json
├── devices.json
└── auth.json

可通过 MIHOME_CONFIG_DIR 环境变量自定义配置目录。

与 One-KVM 搭配使用

本项目可与 One-KVM-mihome 项目搭配使用,实现更强大的远程控制功能:

  • One-KVM-mihome - 基于 One-KVM 的定制版,在保留 IP-KVM 核心功能的基础上,新增了米家智能家居控制面板
  • MiHome-Rust - 米家智能家居控制面板的 Rust 实现版本,支持智能插座、开机卡等设备控制

典型应用场景:

  • MiHome-Rust 控制智能插座/开机卡实现服务器远程开关机,结合 One-KVM 的 IP-KVM 功能实现 BIOS 级远程控制,打造完整的远程服务器管理方案
  • 通过 API 接口集成,实现自动化运维流程

多架构编译

Linux 交叉编译

# 编译所有架构
./build/build-images.sh

# 编译指定架构
./build/build-images.sh x86_64
./build/build-images.sh arm64
./build/build-images.sh armv7

# 使用国内镜像加速
DOCKER_BUILDKIT=1 CHINAMIRRO=1 DEBIAN_IMAGE=debian:11 ./build/build-images.sh x86_64

打包

# 打包 deb(含 systemd 服务,开机自启)
./build/package-deb.sh

# 打包 Docker 镜像
./build/package-docker.sh --platform linux/amd64 --load

Windows 编译

.\build\windows\build.ps1 -Configuration release -Package

About

Rust 编写的米家智能家居控制面板,实现智能设备远程控制

Resources

License

Stars

2 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors