远程唤醒_Python黑科技:在家远程遥控公司电脑,python+微信一键连接!
有時候需要遠程家里的臺式機使用,因為我平時都是用 MAC 多,但是遠程喚醒只能針對局域網,比較麻煩,于是我想用微信實現遠程喚醒機器。
準備工作
本程序主要是實現遠程管理 Windows10操作系統的開機和關機:
開機實現思路
首先通過微信發送開機指令,這里我使用的是 itchat 程序會調用 Paramiko 庫去 SSH 遠程到內網的樹莓派執行 WakeOnLan 命令去喚醒 Windows 主機。
程序會通過 ICMP 協議, ping 下需要喚醒的目標主機然后進行過濾,一個正常的 ICMP 包是64字節,過濾打印出這個64。
例如 ping 百度:
用一段 Linux 命令去過濾是否有64,這里為啥要用 head -n 1 呢?
因為有可能會出現2行,經過測試,我們只需要取64這個值就可以了:
如果有則表示開機成功已經聯網了,返回開機成功,否則程序繼續往下走,去喚醒,然后在 ping 一次確認是否開機,如果為是則返回開機成功,否則返回失敗。程序執行成功后,在我的網站根目錄創建一個 shutdown 文件,用于后面的關機操作:
關機部分實現
當接收關機指令時,程序會去刪除網站根目錄的 shutdown 文件,客戶端我寫了幾行代碼,去通過 Requests 庫每隔30s 發送 HTTP head 請求去判斷文件是否是404,如果是404 這說明文件不存在,調用系統關機操作,執行關機。
然后 SSH 到樹莓派去 ping 目標主機,如果返回為空,則說明關機成功,否則關機失敗。這只是針對 Windows 的關機,如果目標主機是 Linux 則簡單多了:
客戶端代碼,寫完扔計劃任務,開機啟動:
使用 TeamViewer 連接:
缺點
總結
以上是生活随笔為你收集整理的远程唤醒_Python黑科技:在家远程遥控公司电脑,python+微信一键连接!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 要重复多少次变成潜意识_说了多少次了!通
- 下一篇: 高德地图显示多个气泡_CarPlay分屏