查看: 489|回复: 6

[分享] 远程开机-更方便的WOL-使用WOL库

[复制链接]
  • TA的每日心情
    开心
    2020-8-15 17:49
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    发表于 2020-8-11 21:43 | 显示全部楼层 |阅读模式
    主要就是用WOL的库
    在Arduino的库管理器搜索wol
    第一个就是
    下面直接放点灯源码
    #define BLINKER_WIFI
    #include <WiFiUdp.h>

    #include <WakeOnLan.h>

    WiFiUDP UDP;
    WakeOnLan WOL(UDP);
    #include <Blinker.h>

    char auth[] = "key";
    // 编写:1812z 这里需要改
    char ssid[] = "ssid";
    char pswd[] = "password";


    void wakeMyPC() {
        const char *MACAddress = "E0:3F:49:7A:92:EE";
      //上面改mac地址
        WOL.sendMagicPacket(MACAddress); // Send Wake On Lan packet with the above MAC address. Default to port 9.
        // WOL.sendMagicPacket(MACAddress, 7); // Change the port number
    }
    BlinkerButton Button2("BUTTON_2");
    void button2_callback(const String & state)
    {

        BLINKER_LOG("get button state: ", state);

        if (state == BLINKER_CMD_BUTTON_TAP) {
            BLINKER_LOG("Button tap!");
               wakeMyPC();
        }
        else{
          digitalWrite(LED_BUILTIN, LOW);
         Blinker.delay(1000);
         digitalWrite(LED_BUILTIN, HIGH);

        }
    }
    void setup()
    {
        Serial.begin(115200);
        BLINKER_DEBUG.stream(Serial);

          pinMode(LED_BUILTIN, OUTPUT);
        digitalWrite(LED_BUILTIN, HIGH);

        Blinker.begin(auth, ssid, pswd);

          //wol
           WOL.setRepeat(3, 100); // Optional, repeat the packet three times with 100ms between. WARNING delay() is used between send packet function.

        while (WiFi.status() != WL_CONNECTED) {
            delay(500);
            Serial.print(".");
        }
    }
        void loop()
        {
          Blinker.run();
        }



    源码需要改key,wifi名字和密码,自己电脑mac地址
    手机app只要加个按键,数据改BUTTON_2 即可
    点击就会让指定电脑开机【如何指定看源码注释】
  • TA的每日心情
    郁闷
    2018-12-6 22:21
  • 签到天数: 48 天

    [LV.5]常住居民I

    发表于 2020-8-12 08:56 | 显示全部楼层
    不用改装,比主板接线简单。问题是关机不方便,可能需要在pc上开发个程序,来监听udp关机指令

    该用户从未签到

    发表于 2020-8-12 23:17 来自手机 | 显示全部楼层
    本帖最后由 lh5263872 于 2020-8-12 23:19 编辑

    有些主板断电后,wol会失效,待机电不能断,我有3台电脑,其中两台停电后再来电就不能wol开机
  • TA的每日心情
    开心
    2020-8-15 17:49
  • 签到天数: 4 天

    [LV.2]偶尔看看I

     楼主| 发表于 2020-8-14 18:27 | 显示全部楼层
    奈何col 发表于 2020-8-12 08:56
    不用改装,比主板接线简单。问题是关机不方便,可能需要在pc上开发个程序,来监听udp关机指令 ...

    关机可看我上篇文章,用继电器的
  • TA的每日心情
    开心
    2020-8-15 17:49
  • 签到天数: 4 天

    [LV.2]偶尔看看I

     楼主| 发表于 2020-8-14 18:27 | 显示全部楼层
    lh5263872 发表于 2020-8-12 23:17
    有些主板断电后,wol会失效,待机电不能断,我有3台电脑,其中两台停电后再来电就不能wol开机 ...

    的确,这样主板可以设置来电自启,或者我上篇文章用的继电器
  • TA的每日心情
    郁闷
    2020-8-26 10:10
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2020-8-21 17:10 | 显示全部楼层
    wol一般路由器就可以,不过我路由器每天都自动重启,可以搭配继电器来通电自动开机
  • TA的每日心情
    开心
    2020-8-15 17:49
  • 签到天数: 4 天

    [LV.2]偶尔看看I

     楼主| 发表于 2020-8-23 16:05 | 显示全部楼层
    shic 发表于 2020-8-21 17:10
    wol一般路由器就可以,不过我路由器每天都自动重启,可以搭配继电器来通电自动开机 ...

    路由器要openwrt这种把,,,
    我是把这个程序作为附加程序的,合并在其它设备上
    还有继电器可以用光藕代替,便宜,没声音
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    热门推荐

    String类型做参数传递时出现问题
    String类型做参数传递时出
    有两个函数,上面这个用来获取数据,然后第70行调用下面的Price_Analyze()来分析数据
    [Arduino物联网开发实战0]开发准备
    [Arduino物联网开发实战0]
    郑重提示:物联网开发,需要你有较好的编程基础,如果你没有编程基础或Arduino开发基
    兩段式水位的程式,要如何寫呢?可以指導一下嗎?
    兩段式水位的程式,要如何
    想請教大大兩段式水位的程式,要如何寫呢?可以指導一下嗎? 兩段式水位 滿水100%時停止
    点灯里面的 定时任务,按指定时间触发 开关 没效果.怎么...
    点灯里面的 定时任务,按
    #define BLINKER_WIFI #include char auth[] = "e9b348c25011"; char ssid[] = "88
    【原创】 drawbot平面关节scara机械臂写字机 画画机器人直播...
    【原创】 drawbot平面关节
    这个项目上个月就在做了,结构和代码反反复复改了多次,加上自己又太忙,一直没来得及
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   
    快速回复 返回顶部 返回列表