ESP8266结合blinker使用小爱同学电脑远程开机
本帖最后由 topdog 于 2021-6-6 22:19 编辑blinker是点灯科技开发的面向广大物联网爱好者和创客公司研发的APP,可以安全快速有效的部署物联网解决方案。跨硬件、跨平台的物联网解决方案,提供APP端、设备端、服务器端支持,使用公有云服务进行数据传输存储。
材料清单:一枚ESP8266,一台小米手机或者小米智能音箱,两根跳线。
接线:gpio2和gnd接电脑主板开机跳线对柱。
1,电脑环境配置:
电脑端安装Arduino IDE 1.8.15,Arduino core for ESP8266 WiFi chip 3.0.0,blinker 库版本 0.3.8
2,手机端配置:
(A)blinker APP 2.5.5配置,设置网络接入的独立设备,选择点灯科技的服务器,在APP设备管理中将名称改为电脑远程开机,牢记密钥,
(B)小爱音箱APP配置,进入智能家居,添加点灯科技,然后同步设备。刚才在blinker上设置的电脑远程开机已经妥妥的同步到了小爱音箱APP。
3,blinker API语音识别应用简介:点灯科技小爱同学接口函数,目前支持多彩灯,单插座,多联插座,传感器,风扇,空气净化器等的语音智能控制。电脑远程开机也就开机和关机两个动作,可以理解成单插座(outlet)就OK了。
4,实际操作:
ESP8266程序如下:
#define BLINKER_WIFI
#define BLINKER_MIOT_OUTLET
#include <Blinker.h>
char auth[] = "blinker设备密钥";
char ssid[] = "电脑环境的WiFi名称";
char pswd[] = "电脑环境的WiFi密码";
bool oState = false;
void miotPowerState(const String & state)
{
BLINKER_LOG("need set power state: ", state);
if (state == BLINKER_CMD_ON) {
digitalWrite(LED_BUILTIN, HIGH);
BlinkerMIOT.powerState("on");
BlinkerMIOT.print();
oState = true;
}
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;
}
}
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);
}
void loop()
{
Blinker.run();
}
按下小米手机AI键或者对着小爱音箱,说:小爱同学打开电脑远程开机。ESP8266接在gpio2输出高电平,电脑就开机了。如果说:小爱同学关闭电脑远程开机,ESP8266接在gpio2输出低电平,电脑就关机了。本地ESP8266端串口显示点灯科技服务器对语音智能识别动作后回文的显示,如下图。
大佬,我插在继电器上行吗 成功了,牛逼大佬牛逼 youdongkiang 发表于 2021-6-7 18:19
成功了,牛逼大佬牛逼
一起学习,一起进步。 这样也能打开电脑???有些太牵强太肤浅了!!!即使是物理打开,那打开电脑是点动模式,你程序不符合!该该吧!还有光是语音控制也不行,需要APP手动的也同时存在,最好还有机械按钮..... ESP8266的GPIO口接在电脑的开机柱上,给高电平就是等于手动按下开机键。blinker使用小爱同学是利用小米手机的智能语音识别开启已经关联的API,远程MQTT发送指令。youdongkiang也做出来了,用事实说话。 你打开电脑时,你的手指一直按下不挪开了???试试看会怎样? 楼主,问一下,你的设备会异常离线吗?我做了一个开机棒,刚上电没啥问题,但是运行一段时间后就离线没法上线了,只能重启 林早睡 发表于 2021-7-25 18:31
楼主,问一下,你的设备会异常离线吗?我做了一个开机棒,刚上电没啥问题,但是运行一段时间后就离线没法上 ...
我没长时间远行过,只要可以开机就ok了。:lol 这个太绕弯子了、直接一个esp01继电器不就OK了?话说远程打开电脑干什么事?
页:
[1]
2