|
本帖最后由 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程序如下:
[pre]#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();
}[/pre]
按下小米手机AI键或者对着小爱音箱,说:小爱同学打开电脑远程开机。ESP8266接在gpio2输出高电平,电脑就开机了。如果说:小爱同学关闭电脑远程开机,ESP8266接在gpio2输出低电平,电脑就关机了。本地ESP8266端串口显示点灯科技服务器对语音智能识别动作后回文的显示,如下图。
|
|