查看: 1735|回复: 8

ESP8266结合blinker使用小爱同学电脑远程开机

[复制链接]

签到天数: 214 天

[LV.7]常住居民III

发表于 2021-6-6 19:20 | 显示全部楼层 |阅读模式
本帖最后由 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
远程开机3.jpg

远程开机4.jpg
2,手机端配置:
(A)blinker APP 2.5.5配置,设置网络接入的独立设备,选择点灯科技的服务器,在APP设备管理中将名称改为电脑远程开机,牢记密钥,

远程开机1a.jpg

(B)小爱音箱APP配置,进入智能家居,添加点灯科技,然后同步设备。刚才在blinker上设置的电脑远程开机已经妥妥的同步到了小爱音箱APP。

远程开机2a.jpg


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端串口显示点灯科技服务器对语音智能识别动作后回文的显示,如下图。
远成电脑5.jpg


该用户从未签到

发表于 2021-6-7 18:14 | 显示全部楼层
大佬,我插在继电器上行吗

该用户从未签到

发表于 2021-6-7 18:19 | 显示全部楼层
成功了,牛逼大佬牛逼

签到天数: 214 天

[LV.7]常住居民III

 楼主| 发表于 2021-6-7 23:01 | 显示全部楼层
youdongkiang 发表于 2021-6-7 18:19
成功了,牛逼大佬牛逼

一起学习,一起进步。

该用户从未签到

发表于 2021-6-26 17:32 | 显示全部楼层
这样也能打开电脑???有些太牵强太肤浅了!!!即使是物理打开,那打开电脑是点动模式,你程序不符合!该该吧!还有光是语音控制也不行,需要APP手动的也同时存在,最好还有机械按钮.....

签到天数: 214 天

[LV.7]常住居民III

 楼主| 发表于 2021-6-26 21:21 | 显示全部楼层
ESP8266的GPIO口接在电脑的开机柱上,给高电平就是等于手动按下开机键。blinker使用小爱同学是利用小米手机的智能语音识别开启已经关联的API,远程MQTT发送指令。youdongkiang也做出来了,用事实说话。

该用户从未签到

发表于 2021-6-27 06:36 | 显示全部楼层
你打开电脑时,你的手指一直按下不挪开了???试试看会怎样?

该用户从未签到

发表于 2021-7-25 18:31 | 显示全部楼层
楼主,问一下,你的设备会异常离线吗?我做了一个开机棒,刚上电没啥问题,但是运行一段时间后就离线没法上线了,只能重启

签到天数: 214 天

[LV.7]常住居民III

 楼主| 发表于 2021-7-26 23:52 | 显示全部楼层
林早睡 发表于 2021-7-25 18:31
楼主,问一下,你的设备会异常离线吗?我做了一个开机棒,刚上电没啥问题,但是运行一段时间后就离线没法上 ...

我没长时间远行过,只要可以开机就ok了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

热门推荐

arduino解码sbus
arduino解码sbus
市面上有很多sbus接收机,它只有一根线就可以实现很多通道的通信,其本质利用了串口通
程序编译通过,运行崩溃,请大家看看
程序编译通过,运行崩溃,
编译后的程序是这么多。我也不知道占了多少,不明白这个具体意思。 我用的是esp-01s
【Arduino】168种传感器模块系列实验(146)---64位WS2812点阵屏
【Arduino】168种传感器模
37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是
原价299元【语音开发板套件】限时免费领!
原价299元【语音开发板套
如果NodeMcu上的GPIO引脚不够用怎么办?急!
如果NodeMcu上的GPIO引脚
我最近在做一个需要用到多个HC-SR04的项目,用Arduino IDE开发NodeMcu,参考的引脚图
Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   
快速回复 返回顶部 返回列表