Esp8266点灯

1.模块

esp8266

继电器 

2.代码

#define BLINKER_MIOT_LIGHT
#define BLINKER_WIFI

#include <Blinker.h>

char auth[] = "..........";   //换成APP获取到的密匙
char ssid[] = "..........";          //WiFi账号
char pswd[] = "..........";   //WIFI密码

int GPIO=2;//定义GPIO口用于控制继电器

#define BUTTON "ButtonKey"

BlinkerButton Button("btn");//这里需要根据自己在BLINKER里面设置的名字进行更改

void button_callback(const String & state)
{
    //BLINKER_LOG("get button state: ", state);
    Blinker.vibrate(); 
    if (state=="on") {
        //digitalWrite(LED_BUILTIN, LOW);
        digitalWrite(GPIO, LOW);
        // 反馈开关状态
        Button.print("on");
    } else if(state=="off"){
        //digitalWrite(LED_BUILTIN, HIGH);
        digitalWrite(GPIO, HIGH);
        // 反馈开关状态
        Button.print("off");
    }
}

void miotPowerState(const String & state)
{
    BLINKER_LOG("need set power state: ",state);

    if (state == BLINKER_CMD_OFF) {//如果语音接收到是关闭灯就设置GPIO口为高电平
        digitalWrite(GPIO, HIGH);
        BlinkerMIOT.powerState("off");
        BlinkerMIOT.print();
    }
    else if (state == BLINKER_CMD_ON) {
        digitalWrite(GPIO, LOW);
        BlinkerMIOT.powerState("on");
        BlinkerMIOT.print();
    }
}

void setup() {
    Serial.begin(115200);
    //pinMode(LED_BUILTIN, OUTPUT);
    pinMode(GPIO,OUTPUT);
    digitalWrite(GPIO,HIGH);//初始化,由于继电器是低电平触发。所以刚开始设为高电平
    //digitalWrite(LED_BUILTIN, HIGH);
    Blinker.begin(auth, ssid, pswd);
    Button.attach(button_callback);
    BlinkerMIOT.attachPowerState(miotPowerState);


}

void loop()
{
    Blinker.run();
}

3.手机操作过程

下载好点灯科技APP后添加设备

选择独立设备 

 选择网络接入

 复制下key,待会要用

 打开设备后,点击红框内的编辑

选择按键,会出现图中的文本1 

 对照我图中的设置进行修改,注意颜色一定要选并且不要选白色,否则一会点击会出现空白。

 修改完成后点击红框保存

 4.电脑操作

打开Arduino后搜索blinker库,如图所示安装。

将刚才复制的key填写到第一行,自己家的WiFi名称和密码分别填入第二、三行。 GIPO口可按照自己的喜好任意修改。

5.检验是否成功 

上传程序后查看路由器后台,观察esp8266联上路由器没有。如图所示路由器后台显示diyarduinomqt则表示已经连接上路由器,点灯科技APP里显示“在线”则表示成功接入点灯科技服务器。

将继电器和esp8266连接,VCC-3.3V   GND-GND   IN-D4 

 按下开关后可以看到按钮颜色变灰,同时继电器的绿灯灭,esp8266灯亮起。

点灯效果展示 

参考后续文章添加小爱同学语音点灯 

esp8266小爱同学点灯_达闻西Vinci的博客-CSDN博客

  • 4
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
以下为 ESP8266 点灯代码,您可以参考: ``` #include <ESP8266WiFi.h> const char* ssid = "your_SSID"; const char* password = "your_PASSWORD"; const int ledPin = 4; WiFiServer server(80); void setup() { pinMode(ledPin, OUTPUT); digitalWrite(ledPin, LOW); Serial.begin(115200); delay(10); // Connect to WiFi network Serial.println(); Serial.println(); Serial.print("Connecting to "); Serial.println(ssid); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi connected"); server.begin(); Serial.println("Server started"); } void loop() { WiFiClient client = server.available(); if (!client) { return; } Serial.println("new client"); while(!client.available()){ delay(1); } String request = client.readStringUntil('\r'); Serial.println(request); client.flush(); if (request.indexOf("/LED=ON") != -1) { digitalWrite(ledPin, HIGH); } if (request.indexOf("/LED=OFF") != -1) { digitalWrite(ledPin, LOW); } client.println("HTTP/1.1 200 OK"); client.println("Content-Type: text/html"); client.println(""); client.println("<!DOCTYPE HTML>"); client.println("<html>"); client.println("<head><title>ESP8266 LED Control</title></head>"); client.println("<body>"); client.println("<h1>ESP8266 WiFi LED Control</h1>"); client.println("<p>Click <a href=\"/LED=ON\">here</a> to turn the LED on</p>"); client.println("<p>Click <a href=\"/LED=OFF\">here</a> to turn the LED off</p>"); client.println("</body>"); client.println("</html>"); delay(1); Serial.println("Client disonnected"); Serial.println(""); } ``` 此代码实现了一个简单的 web 服务器,并允许远程控制 ESP8266 上的 LED。您可以通过访问 http://esp8266_ip_address/LED=ON 和 http://esp8266_ip_address/LED=OFF 打开/关闭 LED。当用户访问 ESP8266 时,ESP8266 将返回一个包含两个链接的网页,一个为开灯,一个为关灯。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值