记一次esp01s小度语音控制灯实现(小白记录)
1、网上购买低价模块。包括(esp01s、继电器模块、AC-DC模块)全部下来在15元以下
2、arduino
下载esp8266最新库
1)设置-附加开发板管理网址:http://arduino.esp8266.com/stable/package_esp8266com_index.json
2)管理库增加8266最新库
3)开发板选择‘Generic ESP8266 Module’
3、注册点灯科技,并下载app,进行添加设备操作
4、代码
#define BLINKER_WIFI
#define BLINKER_DUEROS_OUTLET
#include <Blinker.h>
char auth[] = "**";
char ssid[] = "**";
char pswd[] = "**";
BlinkerButton Button1("btn-abc");
#define LED_BUILTIN_LIGHT 0
void button1_callback(const String & state)
{
BLINKER_LOG("get button state: ", state);
if (state == BLINKER_CMD_ON) {
Button1.print("on");
}
else if (state == BLINKER_CMD_OFF) {
Button1.print("off");
}
digitalWrite(LED_BUILTIN_LIGHT, !digitalRead(LED_BUILTIN_LIGHT));
digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
}
void duerPowerState(const String & state)
{
if (state == BLINKER_CMD_ON) {
digitalWrite(LED_BUILTIN_LIGHT, 1);
BlinkerDuerOS.powerState("on");
BlinkerDuerOS.report();
}
else if (state == BLINKER_CMD_OFF) {
digitalWrite(LED_BUILTIN_LIGHT, 0);
BlinkerDuerOS.powerState("off");
BlinkerDuerOS.report();
}
}
void setup()
{
Serial.begin(115200);
BLINKER_DEBUG.stream(Serial);
BLINKER_DEBUG.debugAll();
pinMode(LED_BUILTIN, OUTPUT);
digitalWrite(LED_BUILTIN, 0);
pinMode(LED_BUILTIN_LIGHT, OUTPUT);
digitalWrite(LED_BUILTIN_LIGHT, 0);
Blinker.begin(auth, ssid, pswd);
Button1.attach(button1_callback);
BlinkerDuerOS.attachPowerState(duerPowerState);
}
void loop()
{
Blinker.run();
}
代码主要为点灯科技demo稍微改动
5、遇到的问题
1)PC调试没问题,实际运行总是断线?
其中一个可能(我遇到的问题)为,esp01s供电电压为3.3V,超出3.3V电压会导致上边问题。
网上买的esp01s继电器应该是转换到3.3V的,但是转出来为3.33V,后续中间加了根杜邦线使电压降到3.3V以下解决问题
6、未解决的问题
1)小度音响控制,偶尔会出现,暂时不能控制音响的状况。(再说一次关闭/打开灯解决)