介绍

研究程序控制米家插座的由衷是我有这样一个需求:

手机在无线充电时,自动打开小电风扇散热,手机从无线充电器上拿走后,自动停止小电风扇。

无线充电器位置固定不移动,放一个小电扇对着吹;

市面上没有一个现成的解决方案,只有风冷无线无线充电,感觉散热效果也是不佳的。

手头有的配件:

小米智能插座Wi-Fi版:一个插座,2个USB接口,支持电量统计

Redmi无线充电器30W

USB小电风扇

思路:

检测功率,使用USB小电风扇是的功率为3W

判断 功率>4时 打开usb开关,否则关闭usb开关

python代码

from miio.chuangmi_plug import ChuangmiPlug
import time

sec=10#检测间隔

def fun1():
    ip='插座ip'
    token='插座token'
    s = ChuangmiPlug(ip=ip, token=token)
    while(True):
        try:
            v=s.status() #获取设备状态
            if v.load_power>4 :#判断当前功率
                if v.usb_power==False:
                    s.usb_on() #打开USB电源开关
            else:
                if v.usb_power==True:
                    s.usb_off() #关闭USB电源开关
        except:
            pass #捕捉获取信息出错的异常
        finally:
            time.sleep(sec)

def main():
    while(True):
        try:
            fun1()
        except:
            pass #捕捉获取信息出错的异常
        finally:
            time.sleep(sec)

main()

在linux环境用pyinstaller打包成可执行程序,扔到ikuai的linux虚拟机里做成服务跑着

完美