mirror of
https://github.com/firemakergk/aquar-build-helper.git
synced 2026-02-02 18:09:13 +08:00
加入虚拟机添加物理开关章节
This commit is contained in:
@@ -319,7 +319,10 @@ VirtrIO驱动下载地址:https://fedorapeople.org/groups/virt/virtio-win/dire
|
||||
|
||||
- [将PVE设置为DHCP动态地址](./details/把pve配置成DHCP.md)
|
||||
- [开机IP自检及更新脚本](./details/开机IP自检及更新脚本.md)
|
||||
- UPS配置([apc施耐德](./details/pve下安装施耐德ups配套软件及简单配置.md)、[雷迪司](./details/雷迪司Viewpower在pve上的部署.md))
|
||||
- UPS配置
|
||||
- [apc施耐德](./details/pve下安装施耐德ups配套软件及简单配置.md)
|
||||
- [雷迪司](./details/雷迪司Viewpower在pve上的部署.md)
|
||||
- [为虚拟机添加物理开关](./details/给虚拟机加装一个物理开机键.md)
|
||||
|
||||
|
||||
TrueNas:
|
||||
|
||||
BIN
_resources/2k553-vhsvy.gif
Normal file
BIN
_resources/2k553-vhsvy.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.9 MiB |
@@ -20,23 +20,23 @@
|
||||
|
||||
首先来看按钮,手头最大的按钮就是这个了,它有四个引脚,对角线的引脚是成对的。
|
||||
|
||||
<img src="../../_resources/f30d3039c1cf4a60a8ceebaf60f341ac.png" alt="3bb42906fa9635a0e2610dc19b49b0b1.png" width="472" height="269" class="jop-noMdConv">
|
||||

|
||||
|
||||
我把它接的两极接在了右侧的第1和第6引脚上。第1引脚对应的是5V的高电平,而第6引脚对应的是GPIO18,所以我后续编程时就需要对GPIO18进行监听。
|
||||
|
||||

|
||||

|
||||
|
||||
用杜邦线直接插在这两个引脚上,再用鸡屎焊把线的另一头焊在开关引脚上。然后把开关用扎带绑在服务器的框架上。服务器的框架是为了把ITX机箱、硬盘架、树莓派、交换机整合在一起,用铝型材自制的。详情可见我的这篇文章。由于后面测试时并没有发现电平不稳定的情况,所以图省事没有接下拉电阻,按说还需要一个电阻来稳定电平。
|
||||
|
||||
<img src="../../_resources/f8a3e298be3544f7ab38570216f1d531.png" alt="4841fed8865a31135b6d9df992640b4b.png" width="479" height="269" class="jop-noMdConv">
|
||||

|
||||
|
||||
硬件完事了以后就可以开始软件部分了。首先要在PVE中获取一个token,在Datacenter中Permissions->API Tokens功能中,点击左上方的add按钮。填写token的名字及备注信息,然后将旁边的Privileget Separation勾选框去掉,这样可以使token具有与当前帐号完全相同的权限。
|
||||
|
||||

|
||||

|
||||
|
||||
点击add按钮后你会看到如下信息,下方提示Secret只会在此时显示一次,以后就再也看不到这个序列号了。所以此时要把这个Secret拷出来,保存好。上面的TokenID同样重要,只不过这个值可以通过你自己的帐户信息推断出来。
|
||||
|
||||

|
||||

|
||||
|
||||
有了这两个值再配合上上文提到的url,你就可以通过脚本来触发虚拟机的开机动作了。下面是脚本全文,可以说非常简单了核心代码只有十几行,配合注释很容易看懂。实际上代码的框架也是我在网上找的,只需要加上请求发送的逻辑就可以了。使用树莓派开发这种功能确实是方便快捷。
|
||||
|
||||
@@ -94,12 +94,12 @@ GPIO.cleanup()
|
||||
|
||||
程序保存在树莓派上以后,执行`python windows_switch.py`会发现程序block住了,这时候每当你按下按钮,就会发现命令行打印出了‘open’的日志信息。
|
||||
|
||||

|
||||

|
||||
|
||||
再看虚拟机,就已经开始启动了。但这还没完,因为程序一直在前台跑着,如果关掉控制台,那按钮就失效了,所以还需要给这个脚本注册一个服务,让它开机启动。这样一来就可以愉快地使用物理按钮一键开机了,由于这台虚拟机直通了显卡,所以可以在物理显示器上直接显示画面。
|
||||
|
||||

|
||||

|
||||
|
||||
## 总结
|
||||
|
||||
经过此番调教后,服务器上的windows虚拟机拥有了虚实结合的能力。虚则可以无影无踪又召之即来,实则可以按键开机开屏即用。在家时它直接使用物理设备高效响应,在外面时只要你能接入互联网,它就总有方法伴你左右,像一只精灵随时听你差遣。这半年来,涉及aquarhome的项目所有开发工作我都是使用它来完成的,还用它剪辑了我的第一条B站视频。对我来说绝对是妥妥的生产力工具。
|
||||
经过此番调教后,服务器上的windows虚拟机拥有了虚实结合的能力。虚则可以无影无踪又召之即来,实则可以按键开机开屏即用。在家时它直接使用物理设备高效响应,在外面时只要你能接入互联网,它就总有方法伴你左右,像一只精灵随时听你差遣。
|
||||
Reference in New Issue
Block a user