blinker控制8266-12f点亮板载灯代码

文章介绍了如何使用Blinker库在ESP8266开发板上实现LED灯控制,同时加入心跳功能以确保网络连接稳定,确保手机界面与实际设备状态同步。
摘要由CSDN通过智能技术生成
//这个代码已经实现了blinker控制8266板载灯了,但是实际远程应用时候,需要添加心跳函数
//不然的话,有时候网络不稳的时候,会出现blinker显示的界面和实际状态不同步
//代码都简化了,留下最重要的,这样可以几下就看懂代码运行逻辑了

#define BLINKER_WIFI
#include <Blinker.h>

char auth[] = "2cf8eafabc81dbe";      //Blinker APP中的设备Secret Key(密钥)
char ssid[] = "ChinaNet-ggzf";        //wifi名称
char pswd[] = "jlkjxlav";        //wifi密码

BlinkerButton Button1("btn-bzled");//把手机按钮的btn-bzled 绑定到8266的Button1虚拟按钮上
//BlinkerButton Button2("btn-ddkg");
  // BlinkerSlider Slider1("Slider_1");  //绑定滑动条  
    //BlinkerRGB RGB1("RGB_1");           //绑定取色器  
    //BlinkerNumber NUM1("NUM_1");        //绑定数字组件  
    //BlinkerText Text1("TEXTE_1");       //绑定文字组件 

void button1_callback(const String & state) {//手机操作后,8266需要执行的内容
  
    /*
  在回调函数中, state 的值为:

按键 : "tap"(点按); "press"(长按); "pressup "(释放)
开关 : "on"(打开); "off"(关闭)
自定义 : 用户设置的值
*也可以在创建对象时注册回调函数:

BlinkerButton Button1(BUTTON_1, button1_callback);
  */
     //BLINKER_LOG("get button state: ", state);
   //  Serial.println("按下了btn-bzled");//用于调试 可以删除
   //  Serial.println("传来的状态:"+state);//用于调试 可以删除
       
       if(state=="on")
       {
            // Serial.println("进入on的 if:"+state);//用于调试 可以删除
            //Button1.icon("icon_1");    // 设置按键中显示的图标(icon)
            
            //https://www.w3school.com.cn/tags/html_ref_colornames.asp
            //上面是颜色表格
            digitalWrite(LED_BUILTIN,LOW);
             Button1.color("#F08080");// 设置按键中显示的图标的颜色 
             Button1.text("led已开");// 设置按键中显示的文本 
            Button1.print("on");//   发送按键当前的状态
        
        }else  if(state=="off"){
           //  Serial.println("进入off的 if:"+state);//用于调试 可以删除
              digitalWrite(LED_BUILTIN,HIGH);
              Button1.color("#F8F8FF");// 设置按键中显示的图标的颜色 
              Button1.text("led已关");// 设置按键中显示的文本
               Button1.print("off");//   发送按键当前的状态
       }
  
  
  
    // Blinker.vibrate(255);   //发送手机振动指令 ,用于玩,可以删除
}

void dataRead(const String & data) 如果未绑定的组件被触发,则会执行其中内容
{

    BLINKER_LOG("Blinker readString: ", data);
     Serial.println("没有绑定这按钮");
   // Blinker.print(key, value);
   // Blinker.vibrate()
}


void setup() {
  //  Serial.begin(9600);
    Blinker.begin(auth, ssid, pswd);  //WiFi接入
    Button1.attach(button1_callback);//将button1_callback方法绑定到Button1上
    Blinker.attachData(dataRead);// 如果未绑定的组件被触发,则会执行其中内容
  pinMode(D4,OUTPUT);
  
  //下面这些调试用的
    
    //  digitalWrite(D4,LOW);//先把等打开好调试
    // BLINKER_DEBUG.stream(Serial);//开启调试信息用于指定调试信息输出的串口,
    //设备开发时调试使用,项目或产品成型后,可以删除不用
 //     Serial.println("设置完成");
  

}


void loop() {
  Blinker.run();

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值