小爱同学控制电脑开机

    选择打赏方式

这两天电脑开机键坏了,只能用WOL唤醒或手戳引脚。感觉好麻烦

倒是以前实现过 “网页控制开发板连继电器跳线开机” 的方法。。。要打开网页还是好麻烦。

于是就有了小爱同学控制了~~~

大致步骤:

1. 下载个点灯科技APP,注册账户

2. 添加设备-->独立设备-->WIFI接入-->阿里云-->复制key

3. 右上角编辑-->添加按钮-->修改键名为"btn-1"类型勾选开关按键,其他随意

4. 再往右拉添加个调试组件,右上角锁定退出就行了

5. 一个可运行Python3的东西(开发板,路由器,服务器,手机都行~

6. 安装组件,看官网教程requirements.txt可以去掉dbus-python、pygobject

(系统中记得安装etherwake哦~,我是通过curl控制路由器唤醒的)

7. 下载脚本,并修改key值可mac地址运行,我贴在下面

8. 米家的第三方设备中找到点灯科技登录并同步设备

9. 呼唤小爱 打开 “设备名”,关闭设备名,查询设备名”状态


#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import os
from Blinker import *
from Blinker.BlinkerDebug import *
#这里是设备的key
auth = '请修改我,大人~~'
#这里是调试模式
BLINKER_DEBUG.debugAll()
#这里是WIFI模式
Blinker.mode("BLINKER_WIFI")
#这里是添加米家插座
Blinker.miotType('BLINKER_MIOT_OUTLET')
Blinker.begin(auth)
#前面环境,这里是定义按钮和状态
button1 = BlinkerButton("btn-1")
oState = 'on'

def button1_callback(state):
    ''' 按钮行为,甚至你只用小爱都不需要'''
    
    str00 = os.popen('etherwake  00:11:22:33:44:55').readlines()[0]
    #设置日志和显示结果    
    BLINKER_LOG('获取按钮状态: ', state)
    button1.text('已开机')
    #设置客户端按钮状态
    button1.print(state)
    
def data_callback(data):
    ''' 数据调用操作 '''
    str11 = os.popen(data).readlines()[0]
    #设置日志和显示结果
    BLINKER_LOG(data,str11)


def heartbeat_callback():
    ''' 心跳操作 '''
    BLINKER_LOG("心跳日志")



def miotPowerState(state):
    ''' 米家开关控制 '''

    global oState

    BLINKER_LOG('将设为: ', state)
    oState = state
    BlinkerMIOT.powerState(state)
    BlinkerMIOT.print()
    if str(state) == 'true':
        #如果触发打开就执行下面命令并读取第一行内容
        #请修改下面的‘00:11:22:33:44:55’,大人~~
        str00 = os.popen('etherwake  00:11:22:33:44:55').readlines()[0]
        BLINKER_LOG(str00)

def miotQuery(queryCode):
    ''' 米家查询 没必要改'''

    global oState

    BLINKER_LOG('MIOT Query codes: ', queryCode)

    if queryCode == BLINKER_CMD_QUERY_ALL_NUMBER :
        BLINKER_LOG('MIOT Query All')
        BlinkerMIOT.powerState(oState)
        BlinkerMIOT.print()
    elif queryCode == BLINKER_CMD_QUERY_POWERSTATE_NUMBER :
        BLINKER_LOG('MIOT Query Power State')
        BlinkerMIOT.powerState(oState)
        BlinkerMIOT.print()
    else :
        BlinkerMIOT.powerState(oState)
        BlinkerMIOT.print()



#按钮回调
button1.attach(button1_callback)
#数据回调
Blinker.attachData(data_callback)
#心跳回调
Blinker.attachHeartbeat(heartbeat_callback)
#米家控制回调
BlinkerMIOT.attachPowerState(miotPowerState)
#米家查询回调
BlinkerMIOT.attachQuery(miotQuery)


if __name__ == '__main__':

    while True:
        Blinker.run()

版权声明:若无特殊注明,本文皆为《 CM部落 》原创,转载请保留文章出处。
本文链接:小爱同学控制电脑开机 https://itkz.cn/jingyan/134.html
正文到此结束

热门推荐

发表吐槽

你肿么看?

你还可以输入 250 / 250 个字

嘻嘻 大笑 可怜 吃惊 害羞 调皮 鄙视 示爱 大哭 开心 偷笑 嘘 奸笑 委屈 抱抱 愤怒 思考 日了狗 胜利 不高兴 阴险 乖 酷 滑稽

评论信息框

吃奶的力气提交吐槽中...


既然没有吐槽,那就赶紧抢沙发吧!