99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Autojs如何實現(xiàn)WakeUpOnline遠(yuǎn)程開機

汽車電子技術(shù) ? 來源:安卓腳本 ? 作者:Mr.Yu ? 2023-03-03 13:41 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

就是字面意思, 比如人在外面玩, 只需要手機一點,即可將家里的電腦打開.這個東西其實也沒啥好解釋的. 不想在遇到群里的那種無腦杠的人, 我想用軟件實現(xiàn)這個功能, 非得說讓我買個硬件放在家里.對不起,我沒錢...

遠(yuǎn)程喚醒功能需要主板支持, 理論上10年內(nèi)買的電腦, 主板上都有這個功能, 如果沒有,那就用不了這個,只能自己買硬件去吧.首先說一下整個流程的配置.

第一步 先檢查自己的主板bios里面有沒有wol的開啟功能,具體的開啟步驟,我不說,這個自行百度一下, 因為主板型號不同,開啟的地方不一樣,所以用你的"主板型號+怎么開啟wakeuponline功能" 當(dāng)關(guān)鍵詞去百度搜索,把wol功能打開. 至于說什么要去windows系統(tǒng)的硬件管理中 允許網(wǎng)卡喚醒啟動的設(shè)置呢, 可開可不開, 我是沒設(shè)置系統(tǒng)的限制,都是默認(rèn), 也能從遠(yuǎn)程正常喚醒

第二步 設(shè)置路由器,路由器上做端口映射,有些路由叫虛擬服務(wù)器啥的,也有不同的叫法, 目的是將內(nèi)網(wǎng)機器的端口映射到wan口,在外網(wǎng)可以訪問到這個端口. 端口號固定是9號端口,這里截圖你們自己對照看一下自己的路由器怎么設(shè)置.

圖片

端口映射出去之后, 一般家里的IP都是動態(tài)IP, 經(jīng)常會變,這里我們再設(shè)置一下DDNS(動態(tài)域名), 域名呢, 可以自己找免費的,也可以自己花個一二十塊錢買個垃圾點的域名. 常見的有什么花生殼啦, dnspod啦,都可以做DDNS服務(wù),這個一般路由器上也都有的, TPLINK 水星什么的也都有預(yù)設(shè)這個功能. 所以也不是什么難點.

最后一步就是用autojs去喚醒了, 代碼也很簡單, 此代碼是從google上隨便搜的, 然后改成autojs可用的. 但是貌似在局域網(wǎng)直接用IP來喚醒,好像無效, 然后我也沒怎么研究, 本來內(nèi)網(wǎng)喚醒,不是本次研究的重點. 所以怎么遠(yuǎn)程喚醒,才是重點...

那么重點來了, 上代碼:

var domainName = "ddns.XXXX.online";
 //mac地址是冒號為分隔符的格式,不要用其他格式
 var macAddress = "00:8d:5c:88:94:b5";


 var wol = new wakeUpOnline();
 var res = wol.wakeUp(domainName, macAddress, 9);
 log(res);

 function wakeUpOnline() {
     importClass(java.net.InetAddress);
     importClass(java.net.DatagramPacket);
     importClass(java.net.DatagramSocket);
     importClass(java.lang.Integer);
     importClass(java.lang.System);
     /**
      * 使用autojs在外網(wǎng)遠(yuǎn)程打開局域網(wǎng)內(nèi)的電腦 本方法僅用于外網(wǎng). 不適用于無線網(wǎng)卡
      * @param {string} host     路由器的wan口iP或者域名
      * @param {string} mac      被遠(yuǎn)程開機電腦的網(wǎng)卡mac地址
      * @param {int} port        開機端口號, 內(nèi)網(wǎng)為9號端口. 這里填你映射出去的端口號
      * @returns 
      */
     this.wakeUp = function(host, mac, port) {
         try {
             let macBytes = getMacBytes(mac);
             let bytes = util.java.array('byte', 6 + 16 * macBytes.length);
             for (let i = 0; i < 6; i++) {
                 bytes[i] = 0xff - 256;
             }
             for (let i = 6; i < bytes.length; i += macBytes.length) {
                 System.arraycopy(macBytes, 0, bytes, i, macBytes.length);
             }
             let address = InetAddress.getByName(host);
             let packet = new DatagramPacket(bytes, bytes.length, address, port);
             let socket = new DatagramSocket();
             socket.send(packet);
             socket.close();
             return "wol_package_sent_success";
         } catch (e) {
             console.log("錯誤信息: ", e.message);
             console.log("錯誤發(fā)生在第%s行", e.lineNumber);
             console.log("錯誤文件", e.fileName);
             return "wol_package_sent_fail";
         }
     }
     function getMacBytes(mac) {
         let bytes = util.java.array('byte', 6);;
         let hex = mac.split(":");
         if (hex.length != 6) {
             throw "Invalid MAC address.";
         }
         try {
             for (let i = 0; i < 6; i++) {
                 int = Integer.parseInt(hex[i], 16);
                 if (int > 127) {
                     int = int - 256;
                 }
                 bytes[i] = int;
             }
         } catch (e) {
             console.log("錯誤信息: ", e.message);
             console.log("錯誤發(fā)生在第%s行", e.lineNumber);
             console.log("錯誤文件", e.fileName);
             throw "Invalid hex digit in MAC address.";
         }
         return bytes;
     }
 }

實現(xiàn)遠(yuǎn)程開機的功能就這么簡單. 可以自己再寫個UI界面來包裝一下.好了,這次的分享就這么多.

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • IP
    IP
    +關(guān)注

    關(guān)注

    5

    文章

    1798

    瀏覽量

    152308
  • 域名
    +關(guān)注

    關(guān)注

    0

    文章

    75

    瀏覽量

    11504
  • 端口
    +關(guān)注

    關(guān)注

    4

    文章

    1046

    瀏覽量

    32852
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    如何實現(xiàn)遠(yuǎn)程登錄ssh并配置為開機啟動

    今天教論壇的發(fā)燒友們?nèi)绾?b class='flag-5'>實現(xiàn)遠(yuǎn)程登錄ssh,并配置為開機啟動!千萬要注意的一點,ssh和ssl不能混淆安裝并運行ssh1,安裝sshapt-get install openssh-server2
    發(fā)表于 09-12 10:32

    python黑客操作:遠(yuǎn)程開機和關(guān)機

    前言用 python 關(guān)機相信大家肯定聽過或者實踐過吧,那么用 Python 開機呢?這是一個神奇的方法,教你如何用 Python 來開機。本文目標(biāo)遠(yuǎn)程開機原理Python
    發(fā)表于 01-19 20:22

    如何用Java實現(xiàn)遠(yuǎn)程開關(guān)機

    Java實現(xiàn)遠(yuǎn)程開關(guān)機是做的一個在局域網(wǎng)下實現(xiàn)一臺機器對多臺機器的開關(guān)機控制遠(yuǎn)程喚醒實現(xiàn)是通過電源的一種協(xié)議進(jìn)行控制的,需要知道被喚醒機器的
    發(fā)表于 10-28 08:28

    NodeMCU實現(xiàn)遠(yuǎn)程電腦開關(guān)機

    NodeMCU實現(xiàn)遠(yuǎn)程電腦開關(guān)機1.WOL(Wake on Lan)2.阿里云物聯(lián)網(wǎng)平臺設(shè)置3.NodeMCU部分程序編寫一直都有在公司需要遠(yuǎn)程連接家里的臺式電腦的需求,遠(yuǎn)程連接控制的
    發(fā)表于 10-29 06:02

    有什么方法可以改遠(yuǎn)程開機設(shè)備的硬件ESP8266模塊增加供電電路嗎

    有什么方法可以改遠(yuǎn)程開機設(shè)備的硬件ESP8266模塊增加供電電路嗎?
    發(fā)表于 03-01 07:11

    如何去實現(xiàn)一種基于RT-Thread+RA6M4的遠(yuǎn)程開機助手設(shè)計

    1、基于RT-Thread+RA6M4的遠(yuǎn)程開機助手概要要達(dá)到遠(yuǎn)程訪問自家電腦需要解決兩個問題如何通知電腦開機和如何構(gòu)建遠(yuǎn)程連接的網(wǎng)絡(luò)通道。
    發(fā)表于 06-20 10:42

    Python+微信一鍵連接實現(xiàn)遠(yuǎn)程管理Windows10操作系統(tǒng)的開機和關(guān)機

    首先通過微信發(fā)送開機指令,這里我使用的是 itchat 程序會調(diào)用 Paramiko 庫去 SSH 遠(yuǎn)程到內(nèi)網(wǎng)的樹莓派執(zhí)行 WakeOnLan 命令去喚醒 Windows 主機。
    的頭像 發(fā)表于 02-25 09:17 ?6522次閱讀

    使用單片機實現(xiàn)開機開機顯示PC機時分秒的時鐘的仿真文件免費下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用單片機實現(xiàn)開機開機顯示PC機時分秒的時鐘的仿真文件免費下載。
    發(fā)表于 03-18 14:09 ?18次下載

    手機控制NodeMCU實現(xiàn)遠(yuǎn)程電腦開關(guān)機

    NodeMCU實現(xiàn)遠(yuǎn)程電腦開關(guān)機1.WOL(Wake on Lan)2.阿里云物聯(lián)網(wǎng)平臺設(shè)置3.NodeMCU部分程序編寫一直都有在公司需要遠(yuǎn)程連接家里的臺式電腦的需求,遠(yuǎn)程連接控制的
    發(fā)表于 10-22 14:51 ?11次下載
    手機控制NodeMCU<b class='flag-5'>實現(xiàn)</b><b class='flag-5'>遠(yuǎn)程</b>電腦開關(guān)機

    基于MPSOC實現(xiàn)HDMI開機畫面顯示

    目前基于MPSOC的一些參考設(shè)計中并沒有實現(xiàn)開機畫面的功能 ,那在一些帶顯示屏的產(chǎn)品在設(shè)計的時候就需要這一功能,基于原來傳統(tǒng)的方式也可以在FPGA中來實現(xiàn),今天分享一個在PS側(cè)來實現(xiàn)
    發(fā)表于 08-02 10:23 ?1410次閱讀
    基于MPSOC<b class='flag-5'>實現(xiàn)</b>HDMI<b class='flag-5'>開機</b>畫面顯示

    Autojs多卡手機后臺靜默發(fā)送短信

    第三方應(yīng)用發(fā)送短信,需要授予短信權(quán)限.沒有權(quán)限的話. 沒法運行本文中的代碼. 申請短信權(quán)限,包括怎么在AndroidManifast.xml文件中聲明權(quán)限,百度一下就有答案. 這里不贅述了, pro版的Autojs,有專門的配置權(quán)限的選項,更簡單一些.
    的頭像 發(fā)表于 03-03 10:26 ?2977次閱讀

    如何在Autojs中優(yōu)雅的使用webView

    對于需要寫UI的腳本來說,使用安卓的xml方式去寫一個好看的UI出來,在autojs中就顯得過于艱難,雖說autojs在很早之前就支持了安卓原生的方式寫UI,但對于只會js的我來說還是太難了
    的頭像 發(fā)表于 03-03 13:40 ?6922次閱讀
    如何在<b class='flag-5'>Autojs</b>中優(yōu)雅的使用webView

    Autojs后臺靜默發(fā)短信

    要判斷是否發(fā)送成功和接收成功,就需要注冊兩個廣播的監(jiān)聽.來得到結(jié)果.下面分別記錄一下免費版Autojs和AutojsPro8.0以上的版本如何注冊一個監(jiān)聽.
    的頭像 發(fā)表于 03-03 13:47 ?3708次閱讀

    如何使用Autojs給指定QQ好友點贊

    使用Autojs來給自己的好友點贊,復(fù)制下面的代碼到autojs這個腳本工具中,執(zhí)行即可!
    的頭像 發(fā)表于 03-03 14:24 ?1345次閱讀

    如何實現(xiàn)AB PLC遠(yuǎn)程監(jiān)控

    AB的PLC需要在異地實現(xiàn)遠(yuǎn)程監(jiān)控和調(diào)試,選用了巨控GRM530遠(yuǎn)程通訊模塊,那GRM530是如何實現(xiàn)AB PLC遠(yuǎn)程監(jiān)控的呢?
    的頭像 發(fā)表于 05-06 08:31 ?2161次閱讀
    如何<b class='flag-5'>實現(xiàn)</b>AB PLC<b class='flag-5'>遠(yuǎn)程</b>監(jiān)控