电脑入米家,让小爱同学随意操控电脑开关机(需主机或软路由)

电脑入米家,让小爱同学随意操控电脑开关机

    • 前言
    • 一、效果展示
    • 二、环境准备
    • 三、巴法平台获取密钥及添加设备;
      • 1.注册巴法平台账号
      • 2.获取密钥
      • 3.添加设备
    • 四、目标电脑设置(网络唤醒+免密SSH)
      • 1.网络唤醒设置
      • 2.SSH免密登录
      • 2.获取Windows10 IP和MAC地址
    • 五、在软路由或Linux上部署Python程序
      • 1.Python环境安装(根据自己系统唤醒自行百度/谷歌)
      • 2.MQTT Python依赖包安装
      • 3.拉取GitHub项目并配置
      • 4.测试
    • 六、手机上米家添加其他平台设备
    • 七、手机上设置小爱同学自定义控制语
      • 1.自定义控制语
      • 2.设置Python程序后台运行
    • 八.总结
    • 九.参考

前言

我的笔电在家里就是台台式电脑了(半年没有挪过屁股),在公司使用Frp做了内网穿透用于远程控制,但是晚上关机了第二天早上常常忘记开机…好麻烦~

最近买了个小爱音箱,控制家居方便得很,就心想能不能直接让勤劳的小爱同学帮我开关电脑呢?上网搜搜还真有挺多人搞的哦,有搞头哇,有的是用点灯科技结合Python使用MQTT协议,但是有些是使用ESP32/ESP8266,调试的板子搞不太合适呀,等等…MQTT?Python?我熟!开搞!

一、效果展示

1.开机
我要打机

2.关机
关机

二、环境准备

1. Windows10,此PC已开启WOL(网络唤醒)、SSH服务端免密登录功能;
2. PVE/OpenWRT,与目标电脑同网段/网络环境的软路由/家独立已联网主机(Windows/Linux),必备,没有就省流不用看下面了;

三、巴法平台获取密钥及添加设备;

1.注册巴法平台账号

巴法平台注册入口, 点击注册;
注册巴法账号

2.获取密钥

登录后,在主页点击右上角的控制台,在控制台的左上角复制私钥备用;
获取密钥

3.添加设备

点击MQTT设备云,在右边输入ethanpc002(002必须,ethanpc为自定义英文名),点击新建主题,记住主题备用;
添加设备
创建成功会在下方显示;
创建设备

Ps: 米家小爱支持设备命名规则参考

四、目标电脑设置(网络唤醒+免密SSH)

1.网络唤醒设置

由于看官门电脑型号众多,有些需要进入BIOS设置,而我的是笔记本(对于我来说就是个台式了),不用进BIOS设置,度娘和谷歌上面有很多针对的解决方法,我就不细说了,贴一下我的方案:
1.打开设备管理器,点击网络适配器,右键属性,将电源管理的两个勾勾打上;
电源管理
在高级设置里面将关机网络唤醒和魔术封包唤醒开启,我的船这么设置就完事了,如果碰到问题可以自行上网检索或评论留言:);
网络唤醒

2.SSH免密登录

关机的方法是使用用SSH登录然后执行关机命令,所以需要在软路由上设置免密登录权限;

主要参考的是下面这篇文章:
多台WIN10之间的SSH免密登录

虽然我是将程序部署到PVE的,但是Linux生成SSH密钥的方法和Windows的一样;

PS:Windows10默认是没有开启SSH服务端的,需要:应用和功能 → 可选功能 → 添加功能 → OpenSSH服务器 → 安装;

可选功能

1.PVE生成SSH密钥,无脑回车就行;

ssh-keygen -t rsa

2.最后生成会显示生成的路径,将.ssh目录下的id_rsa.pub的内容复制出来;
3.在目标电脑的C:\Users\用户名\.ssh目录下的新建文件authorized_keys(无后缀)
4.打开服务,将OpenSSH服务器设置为自动,然后重启一下,搞定!
SSH服务

在PVE上测试连接,ssh 用户名@目标电脑IP,不提示输入密码直接登录即代表成功;

2.获取Windows10 IP和MAC地址

网络唤醒和SSH需要获取主机的IP和MAC地址;

网络状态 → 查看网络属性 → 以太网;
在这里插入图片描述

五、在软路由或Linux上部署Python程序

1.Python环境安装(根据自己系统唤醒自行百度/谷歌)

我的方案是直接部署到PVE,也装了在OpenWRT,可以提供参考;
PVE:

apt install python3

OpenWRT:

opkg update
opkg install python3-base
opkg install python3-pip
opkg install python3

2.MQTT Python依赖包安装

pip3 install -i https://pypi.doubanio.com/simple paho-mqtt

3.拉取GitHub项目并配置

git clone https://github.com/cgy233/EthanHome-WOL.git
cd EthanHome-WOL

修改wol_mq.py程序,将client_id修改为巴法平台获取的私钥,topic修改为添加设备时设置的主题:

broker = 'bemfa.com'
port = 9501
# 设备主题
topic = "ethanpc002"
# 巴法平台控制台获取的私钥
client_id = ''

修改wol_config.ini配置文件,broadcast设置为目标主机的IP地址,mac设置为目标主机的MAC地址:

# Save this file as .wol_config.ini in the same directory as wol.py[General]
broadcast=你的主机IP地址[EthanPC]
mac=你的主机MAC地址

4.测试

在Ethan-WOL目录下执行以下命令:

python3 wol_mq.py

控制台打印以下信息即代表MQTT连接成功,留着后台别动,先执行手机上的操作;
测试

六、手机上米家添加其他平台设备

米家 → 我的 → 其他平台设备 → 添加 → 找到巴法(平台很多,中间部分),输入账号密码绑定,其他平台设备 → 巴法→ 同步设备;

PS: esp8266接入米家,小爱同学控制

七、手机上设置小爱同学自定义控制语

实测在米家是没办法进入巴法平台的设备控制界面的,点击会显示"设备已失效",然后再Bilibili大学看到个老哥说小爱可以,有暗门!设置好后用手机的是可以用自定义的唤醒词的,但是小爱音箱不行,直接喊设备名例如:开灯/关灯是可以噶;

1.自定义控制语

1.小爱语音 → 个人训练 → 添加 → 添加一种说法(“开电脑”,随意)→ 添加操作 → 设备控制 → 巴法平台设备 → 打开灯
2.小爱语音 → 个人训练 → 添加 → 添加一种说法(“关电脑”,随意)→ 添加操作 → 设备控制 → 巴法平台设备 → 关闭灯

语音控制一下,Python程序的打印出类似以下结果即代表成功:

3.开电脑:
开机

4.关电脑:
关电脑

2.设置Python程序后台运行

测试通过后,在Ctrl+C退出程序,在EthanHome-WOL目录下输入以下命令将程序挂在后台运行,否则你SSH没了程序就结束了,注意把程序的目录改成你自己的:

nohup python3 /root/tools/EthanHome-WOL/wol_mq.py > /root/tools/EthanHome-WOL/wol_mq.log 2>&1 &

八.总结

总结以下,其实这是借助接入米家的第三方平台巴法平台开放的MQTT接口,使用Python将MQTT的客户端部署到软路由(Linux)上实现的小功能;小爱音箱也可用,如果巴法平台上添加的设备和我一样的话(002结尾),直接呼小爱同学开灯即开电脑,关灯既关电脑,emmm…这么折腾累不累啊…说实话…还真不累了,在折腾的过程中能学到很多东西,智能语音助手+MQTT,扩展性贼强,这么说吧,你在CMD命令行里面能做的她都能做,再结合以下AHK脚本或者直接写一下BAT脚本,一声:我要派派,直接进入游戏界面(bushi),对于还要上网课的学生来说,喊两声,电脑直接从开机到进入对应的课堂立马搞定,酷~,主要是还能学到很多有趣的东西;

九.参考

[^1]在OpenWRT上搭建ssh代理

[^2]多台WIN10之间的SSH免密登录

[^3]如何在 Python 中使用 MQTT

[^4]OpenWRT安装Python3

[^5]Wake-On-Lan-Python

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/39953.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

小爱同学语音API(不需要小米账号)

先看下运行效果 1找一个免费的API接口 输入你好,返回参数如下 参数分析: txt为返回文字 tts为返回文字的语音网址 2返回文字部分 import requests urkhttps://xiaoapi.cn/API/lt_xiaoai.php?typejson&msg s input("我:") #你提出的问…

微信iOS新版支持手机、iPad、电脑同时在线

本文转载自IT之家 [7 月 14 日 22:40 更新] 据大量网友反馈,目前尚无法实现手机、iPad、电脑同时在线。相关功能应当仍在小范围灰度测试。 截至 7 月 14 日 22:40,IT之家仍可通过微信 iOS 8.0.8 正式版实现 iPhone、iPad、Windows 电脑同时在线&#x…

iOS Facebook第三方登录

由于当前项目需要有facebook和google的第三方登录,所以简单整理了一下相关流程,今天主要说一下facebook的第三方登录以及注意的地方。 总结 1.申请facebook账号 2.创建应用 3.获取应用编号 4.配置相关信息 5.xcode配置 6.代码集成 一、创建应用 …

一次10万token!Claude2重磅发布,性能直逼GPT-4,不要钱免费用!

大数据文摘出品 就在刚刚,ChatGPT最大竞争对手发布了Claude 2!升级后的模型,在编码、数学和推理方面的性能都有所提高。 同时,官网提到了Claude 2的取得的两个成绩,一个是在律师资格证考试,多项选择题中取得…

Timnit Gebru 谈到她被谷歌解雇、人工智能的危险和大型科技公司的偏见

“人工智能影响着全世界的人,但人们却无法对如何塑造它发表意见”—— Timnit Gebru。 ▲ 摄影:Winni Wintermeyer/卫报 “ 这感觉就像一场淘金热,” Timnit Gebru 说。“事实上,这就是一场淘金热。许多赚钱的人并非真正参与其中。…

马斯克欲告OpenAI欺诈/ 微软自研5纳米AI芯片/ Meta再裁4000人… 今日更多新鲜事在此...

日报君 发自 凹非寺量子位 | 公众号 QbitAI 大家好,今天是4月19日星期三。 但是,今天怎么才星期三啊?!星期三,星期三,你是不是也不想上班?(捂嘴) 班想不想上不要紧&#…

恒洁卫浴品牌升级推出全新品牌主张;阿尔斯通将继续加深在华本土化发展 | 美通企业日报...

美通社要闻摘要: 恒洁卫浴品牌升级推出全新品牌主张。兰州格兰云天大酒店项目正式签约。软通动力接连中标大型企业集团财资领域项目。阿尔斯通将继续加深在华本土化发展。舍弗勒集团宣布收购总部位于法国的ECO-Adapt公司100%股权。亚马逊云科技将在马来西亚推出新区…

python gui构造openai api可视化页面

背景:最近chatgpt很火,前几天也想注册体验一下,一顿操作之后,卡在该国家不支持。最后发现自己的代理开在香港,改在漂亮国就行了。虽然有chatgpt可以用,但是小平是自己封装了一个,我不能输。正好…

CESS 与企业家们的见面:去中心化云存储如何助力企业进入 Web3?

2023 年 2 月 18 至 19 日,CESS 联合创始人兼 COO Jessie 在东盟区块链产业协会会长曹博士的邀请下,作为演讲嘉宾参与了马来西亚 Web3 Club 的闭门分享会。Web3 Club 作为当地 Web3 领域有名的会员制社区,吸引了各类企业家和创业者的加入。在…

clickhouse 中 ReplicasMaxAbsoluteDelay 的计算

小白上路,如有错误,还请指正,谢谢。 一、 问题背景 最近偶尔会收到延迟超时的告警,随后恢复 时间:2022.09.30-10:04:48 replication lag across all tables (ads_ch03:ch_params[ReplicasMaxAbsoluteDelay]): 52y 9m 15d 历史告警…

chatgpt赋能python:如何排除Python运行失败问题:常见错误和解决方法

如何排除Python运行失败问题:常见错误和解决方法 作为一个有10年Python编程经验的工程师,我深知Python编程不断发展,新库和语法变得越来越流行。然而,即使你是一个经验丰富的Python编程人员,最终难免会遇到一些问题&a…

调用ChatGpt openai官方node.js包Error: connect ETIMEDOUT问题

原因是调用的axios库不走系统代理,需要额外配置。 openai在文档中有说明增加axios配置的方法 只需请求时配置下proxy就ok了

GitHub Copilot 体验

LHS 475 b NASA’s Webb Confirms Its First Exoplanet | NASA 介绍 什么是GitHub Copilot GitHub Copilot是由GitHub和OpenAI公司共同开发的基于云的AI编程工具,目前支持Visual Studio Code、Visual Studio、Neovim和JetBrains集成开发环境集成开发环境(IDE)&…

Cerebral Cortex:静息态fMRI功能连接可以预测男女关系的相容性

即使在信息技术显著发展的情况下,基于自我报告的特征和偏好来预测异性恋个体最初的相容性也并不成功。为了克服自我报告测量和预测相容性的局限性,我们使用了来自静息状态功能磁共振成像(fMRI)数据的功能连接,这些数据携带丰富的个体特异性信…

被讨厌的勇气:目的论

目录 1. 弗洛伊德式的决定论2. 决定我们的不是过去的经历,而是赋予这些经历的意义。2.1. 场景:闭门不出的男子2.2. 场景:愤怒2.3. 场景:梦想小说家2.4. 生活方式 3. 要勇于改变 我们的生活方式3.1. 拒绝改变3.2. 千里之行&#xf…

解析后人类时代类人机器人的优越性

如今,机器人在我们的日常生活和社会中已无处不在。新型机器人亦是层出不穷,比如可以替代人类从事迎宾、安保、保洁等工作的服务机器人以及行为举止如家人或宠物般的陪伴机器人等等。而使这些新型机器人动作自然流畅的便是配置在其主体的电机与传感器的组…

心理学与生活 - 发展与教育

文章目录 延迟满足婴儿气质情感依恋咿呀学语性别认同游戏人间学习方式行为塑造 延迟满足 延迟满足的能力对孩子的人格形成和未来能够获得的成就非常重要如果孩子们意识到学会转移注意力和思想就能够实现自我控制,那么他们就成功了一大步“冷”系统是认知的策略性的…

怎样摆脱焦虑型依恋?

转载:远叔https://www.zhihu.com/question/21126414/answer/1346533425 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 心理学上通常将人类的人格特性分为三种:安全型,焦虑型以及…

chatgpt赋能python:用Python做游戏辅助指南

用Python做游戏辅助指南 随着游戏越来越受欢迎,越来越多的玩家开始使用各种辅助工具来提高自己的游戏技能和竞争力。Python是一个非常强大的编程语言,可以用于处理和分析大量的游戏数据,同时也可以用于编写游戏辅助脚本和软件。在这篇文章中…

广告流量反作弊风控中的模型应用

作者:vivo 互联网安全团队- Duan Yunxin 商业化广告流量变现,媒体侧和广告主侧的作弊现象严重,损害各方的利益,基于策略和算法模型的业务风控,有效保证各方的利益;算法模型可有效识别策略无法实现的复杂作弊…