概述
不废话了,直接上代码,烧录的时候 选ESP 8266 通用,支持小爱
手机APP和点灯 参考上一篇文字
#define BLINKER_WIFI
#define BLINKER_MIOT_OUTLET
#include <Blinker.h>
#include <WiFiUDP.h>
#include <ESP8266Ping.h>
char auth[] = "你的token";//app中获取到的Secret Key(密钥)
char ssid[] = "你的无线名称";//填入wifi账号
char pswd[] = "你的无线密码";//填入wifi密码
byte mac1[] = {0x00, 0x10, 0x20, 0x3A, 0x46, 0x62};//唤醒目标电脑的mac为40 B8 76 A8 38 A6 ,替换为自己的电脑mac地址
byte preamble[] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF};
IPAddress ip(192, 168, 31, 255); //幻数据包需要在局域网中广播发送 要控制的电脑的网段的255地址
//int pingResult;
WiFiUDP UDP; //建立一个WiFiUDP对象 UDP
// 新建组件对象
BlinkerButton Button1("OPEN");//注意:内容替换为app中添加按键的数据键名
int GPIO = 0; //定义继电器输入引脚为GPIO/0
// 按下BlinkerAPP按键即会执行该函数
// 按下按键即会执行该函数
void button1_callback(const String & state)
{
UDP.beginPacket(ip, 7); //UDP发送到目标(IP,端口)
UDP.write(preamble, sizeof preamble); //写入包头(FF,FF,FF,FF,FF,FF)
for (byte i = 0; i < 16; i++)
{
UDP.write(mac1, sizeof mac1);
}
Serial.println("唤醒主机");
UDP.endPacket();
}
void miotPowerState(const String & state)
{
BLINKER_LOG("need set power state: ", state);
if (state == BLINKER_CMD_ON) {
UDP.beginPacket(ip, 7); //UDP发送到目标(IP,端口)
UDP.write(preamble, sizeof preamble); //写入包头(FF,FF,FF,FF,FF,FF)
for (byte i = 0; i < 16; i++)
{
UDP.write(mac1, sizeof mac1);
}
Serial.println("唤醒主机");
UDP.endPacket();
BlinkerMIOT.powerState("on");
BlinkerMIOT.print();
}
else if (state == BLINKER_CMD_OFF) {
digitalWrite(LED_BUILTIN, LOW);
BlinkerButton.attach()
BlinkerMIOT.powerState("off");
BlinkerMIOT.print();
}
}
void setup()
{
// 初始化串口,并开启调试信息,调试用可以删除
Serial.begin(115200);
BLINKER_DEBUG.stream(Serial);
// 初始化IO
pinMode(GPIO, OUTPUT);
digitalWrite(GPIO, HIGH);
// 初始化blinker
Blinker.begin(auth, ssid, pswd);
Button1.attach(button1_callback);
BlinkerMIOT.attachPowerState(miotPowerState);
}
void loop()
{
Blinker.run();
}
最后
以上就是敏感耳机为你收集整理的【ESP8266 ES01 小爱】使用ESP 8266 WOL 远程唤醒电脑的全部内容,希望文章能够帮你解决【ESP8266 ES01 小爱】使用ESP 8266 WOL 远程唤醒电脑所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复