(练习篇)萤火虫esp32与小爱音响---实现笔记本电脑唤醒

news/2025/2/22 16:20:25/

目录

初步工作:

进入正题:


初步工作:

已使用过ESP32的同志们,可以忽略这一步

首先下载arduinoIDE

Software | Arduino

我安装的是1.8.18直装版本

勾选上所有安装选项

配置arduinoIDE:

1.文件-->首选项

将以下地址复制到附加开发板管理器网址

https://www.arduino.cn/package_esp32_index.json

2.下载esp32.inf驱动更新,点右键安装即可

https://github.com/chocho2017/firebeetle-board-esp32

2.5若inf文件安装不成功,报出未有数字签名的错误

打开WIN10的设置-->更新与安全-->恢复-->立即重启-->疑难解答-->高级选项-->启动设置

根据提示,选择和数字签名有关的选项。等待自动重启后即可解决问题。

3.手动安装一次ESP32开发板驱动包

此时需要删除以前与esp32相关的开发板数据包,否则容易产生冲突

删除方法:文件管理器地址栏输入 %LOCALAPPDATA%/Arduino15/packages,回车进入,然后删除掉其中的esp32文件夹

esp32开发板驱动包 链接:https://pan.baidu.com/s/1reBfqBlgN-mr5avxOt4qag?pwd=ku4z 
提取码:ku4z

4.将属于自己型号的ESP32选择到开发板中,并选择已经插好开发板的串口号

4.5如果查不到新的串口接入,可以上网下载一个CH340串口驱动,安装即可解决问题

5.尝试实现烧录和闪烁灯

void setup() 
{ pinMode(LED_BUILTIN, OUTPUT);
}void loop() 
{digitalWrite(LED_BUILTIN, HIGH);delay(1000);digitalWrite(LED_BUILTIN, LOW);delay(1000);
}

进入正题:

1.安装 “米家”APP 和 “blinker”APP 。

blinker的库以及手机控制软件可以从如下地址下载

点灯科技-点灯物联网解决方案

米家APP可自行在应用商城下载安装

2.在blinkerAPP创建成为开发者,并保存好自己的密钥

3.理解以下代码并补充相关信息

感谢源代码的分享者:Blinker-xiaoAi-WOL/Blinker_WOL.ino at master · xujunjie96/Blinker-xiaoAi-WOL · GitHub

/*********************************************** ESP32 + ARDUINO + Blinker + XiaoAi* Remote boot by WOL* Creater:Faiz* Borrower:单音字*/#define BLINKER_WIFI
#define BLINKER_MIOT_OUTLET#include <Blinker.h>
#include <WiFiUdp.h>
#include <WiFi.h>
char auth[] = "************"; //密钥
char ssid[] = "单音字"; //wifi名
char pswd[] = "************"; //wifi密码//The udp library class
WiFiUDP udp;bool oState = false;
BlinkerButton Button1("awaking");//awaking!
void button1_callback(const String & state)
{BLINKER_LOG("get button state: ", state);digitalWrite(LED_BUILTIN, HIGH);delay(50);digitalWrite(LED_BUILTIN,LOW);delay(50);pcawaking();digitalWrite(LED_BUILTIN, HIGH);delay(50);digitalWrite(LED_BUILTIN, LOW);delay(50);digitalWrite(LED_BUILTIN, HIGH);delay(50);digitalWrite(LED_BUILTIN, LOW);delay(50);
}void miotPowerState(const String & state)
{BLINKER_LOG("need set power state: ", state);if (state == BLINKER_CMD_ON) {BlinkerMIOT.powerState("on");BlinkerMIOT.print();digitalWrite(LED_BUILTIN, HIGH);delay(25);digitalWrite(LED_BUILTIN, LOW);delay(25);pcawaking();digitalWrite(LED_BUILTIN, HIGH);delay(25);digitalWrite(LED_BUILTIN, LOW);delay(25);digitalWrite(LED_BUILTIN, HIGH);delay(25);digitalWrite(LED_BUILTIN, LOW);oState = false;  //force off!!}else if (state == BLINKER_CMD_OFF) {digitalWrite(LED_BUILTIN, LOW);BlinkerMIOT.powerState("off");BlinkerMIOT.print();oState = false;}
}void miotQuery(int32_t queryCode)
{BLINKER_LOG("MIOT Query codes: ", queryCode);switch (queryCode){case BLINKER_CMD_QUERY_ALL_NUMBER :BLINKER_LOG("MIOT Query All");BlinkerMIOT.powerState(oState ? "on" : "off");BlinkerMIOT.print();break;case BLINKER_CMD_QUERY_POWERSTATE_NUMBER :BLINKER_LOG("MIOT Query Power State");BlinkerMIOT.powerState(oState ? "on" : "off");BlinkerMIOT.print();break;default :BlinkerMIOT.powerState(oState ? "on" : "off");BlinkerMIOT.print();break;}digitalWrite(LED_BUILTIN, HIGH);delay(25);digitalWrite(LED_BUILTIN, LOW);delay(25);digitalWrite(LED_BUILTIN, HIGH);delay(25);digitalWrite(LED_BUILTIN, LOW);
}void pcawaking()
{int i=0;char mac[6]={0xF8,0xB4,0x6A,0xB2,0x6F,0x0F};  //例如mac地址F8-B4-6A-B2-6F-0Fchar pac[102];char * Address = "192.168.1.255";//udp adress 网关地址或路由器分配的IP//群发最后为.255int Port = 3333;//udp port//make magicpacket,网络启动的魔术封包for(i=0;i<6;i++){pac[i]=0xFF;}for(i=6;i<102;i+=6){memcpy(pac+i,mac,6);}udp.beginPacket(Address, Port);udp.write((byte*)pac, 102);//send pac to txbufferudp.endPacket();//biubiubiu
}void dataRead(const String & data)
{BLINKER_LOG("Blinker readString: ", data);Blinker.vibrate();uint32_t BlinkerTime = millis();Blinker.print("millis", BlinkerTime);
}void setup()
{Serial.begin(115200);BLINKER_DEBUG.stream(Serial);pinMode(LED_BUILTIN, OUTPUT);digitalWrite(LED_BUILTIN, LOW);Blinker.begin(auth, ssid, pswd);Blinker.attachData(dataRead);BlinkerMIOT.attachPowerState(miotPowerState);BlinkerMIOT.attachQuery(miotQuery);Button1.attach(button1_callback);
}void loop()
{Blinker.run();
}

3.5 在电脑win+R输入cmd并打开,输入ipconfig /all,查看有线网卡的mac地址(在以太网适配器分类中)和自己的网关地址(在无线局域网适配器分类中)。

        将mac地址和网关地址(网关最后的.1改为.255)分别填入代码相关位置。

4.将编译好的内容烧录/上传到开发板

5.打开blinkerAPP添加搜索到的wifi设备

   

6.为米家APP添加设备。在其他设备中搜索 点灯科技 并绑定账号

  

7.打开blinkerAPP,为搜索到的WiFi设备添加一个初始案例。

        并点击右上角的编辑按钮,添加一个叫awaking的文本按钮。

    

 

8.打开电脑的控制面板,进行网络属性设置

控制面板--网络和共享中心--以太网--属性--配置--高级--魔术封包唤醒--开启。

注意,只有有线以太网才有魔术封包唤醒的设置

9.部分电脑无法实现网络唤醒,则要进行主板BIOS设置

进入BIOS方法:关机--启动--在启动界面显示的同时,按下F2或ESC(因电脑而异)

以下将以 惠普战66笔记本为例:

 在BIOS中的Advanced分类中,找到与Devices Options相关的选项

找到Wake On LAN(或叫WOL)的选项卡,建议选择常规启动顺序

( 部分电脑如果唤醒不成功,可能要在电源控制面板中关闭快速启动)

10.重新关机后,保持电源与网线的连接状态。

11.对你的小爱音响说打开“电脑”(blinker中的设备名称),或者Blinker软件上点击awaking按键一下。板子上灯闪几下,电脑就会开机了。

 

此处感谢这位博主给予的开发教程:

使用ESP32和Blinker实现远程网络唤醒电脑(接入语音助手,以小爱同学为例)_网络设备_什么值得买创作立场声明:希望多多分享购买理由点灯科技 Blinker是提供远程接入物联网方案的一家公司,使用他们家的库,可以轻松将设备联网,并接入主流语音助手https://post.smzdm.com/p/aoown0g7/


http://www.ppmy.cn/news/840717.html

相关文章

10个主流算法简介

什么是算法&#xff1f; 简而言之&#xff0c;任何定义明确的计算步骤都可称为算法&#xff0c;接受一个或一组值为输入&#xff0c;输出一个或一组值。(来源&#xff1a;homas H. Cormen, Chales E. Leiserson 《算法导论第3版》) 可以这样理解&#xff0c;算法是用来解决特定…

HTTP协议:当下最主流的应用层协议之一,你确定不了解一下吗?

一.HTTP协议的含义 http是什么&#xff1f; 超文本传输协议&#xff08;Hyper Text Transfer Protocol&#xff0c;HTTP&#xff09;是一个简单的请求-响应协议&#xff0c;它通常运行在TCP之上。‘超’可以理解为除了文本之外的图片&#xff0c;音频和视频&#xff0c;和一些其…

从服务器上拷贝文件软件,电脑如何从云服务器上拷贝文件

电脑如何从云服务器上拷贝文件 内容精选 换一换 本节为您介绍如何通过控制台提供的远程登录功能(即VNC方式)登录到弹性云服务器上。如果您的弹性云服务器是采用密钥方式鉴权&#xff0c;请在登录前先使用密钥文件解析登录密码。密钥文件解析密码请参考获取Windows弹性云服务器的…

一文看懂主流区块链攻击底层逻辑

区块链技术近年来快速发展&#xff0c;其价值得到越来越多认可的同时&#xff0c;技术与应用方面的安全挑战也逐渐凸显。 本文研究了针对区块链技术与应用的攻击方式及安全事件&#xff0c;提出了包括基础设施层、密码算法层、节点通讯层、共识协议层、运行平台层、智能合约层…

2019新买电脑必备软件

都2019了,怎么还要安装这些垃圾软件! 群丫头买了个新电脑,为了避免她踩到笔者曾今踩到的坑,更舒心的使用电脑,为此特写此文。 作为一个电脑平凡使用者,用过无数的软件,从被骗安装全家桶,到安装后电脑变成毒窟,笔者深深领教到了垃圾软件给电脑带来的伤害,下面笔者就…

挑战与破解之道

笔者曾在一个比特币的QQ群里担任管理员&#xff0c;群里大部分是刚入 门的比特币者&#xff0c;对于比特币的原理一知半解&#xff0c;连中本聪的论文译本都没完整读过。这些人却往往一出手就买上几十上百个比特币&#xff0c;即使按照当时的价格&#xff0c;也相当于人 民币几…

五大主流数据库模型

五大主流数据库模型 导读&#xff1a;无论是关系型数据库还是非关系型数据库&#xff0c;都是某种数据模型的实现。本文将为大家简要介绍5种常见的数据模型&#xff0c;让我们来追本溯源&#xff0c;窥探现在流行的数据库解决方案背后的神秘世界。 什么是数据模型&#xff1f; …

windows镜像_苹果电脑用vMware安装Windows系统

“ Windows、Linux、MacOS是当今时代主流的PC系统&#xff0c;MacOS主要是苹果自家系统&#xff0c;想体验是需要技术的&#xff1a;黑苹果&#xff1b;而PC系统使用最多的已经是Windows系统&#xff0c;软件、硬件都很多&#xff1b;当下苹果电脑也在逐渐流行&#xff0c;很多…