ESP8266远程控制4路继电器和温湿度感应

对于好奇最近对于智能家居的控制买了个ESP8266套餐回来研究,用BLINKER实现4路远程控制继电器模块运行+温湿度感应,经过整个课程后发现原视频写入后自动断开,上网找查资料重写一编代码刷入后解决,代码用ardiuno如下参考:

#define BLINKER_WIFI               //支持wifi
//#define BLINKER_ESP_SMARTCONFIG    //Smartconfig或者手机微信扫码自动配网,代码配网请注释此条
#define BLINKER_MIOT_MULTI_OUTLET  //支持多路插座,最多4个插孔
#define BLINKER_PRINT Serial       //串口协议库
#define BLINKER_WITHOUT_SSL        //blinker默认使用加密方式进行远程通信,但通信加密会消耗大量的RAM,如果您对通信安全性无要求
                     //可以添加宏BLINKER_WITHOUT_SSL用以获得更多可用RAM,BLINKER_WITHOUT_SSL目前仅可用于ESP8266,其他设备的RAM足以进行加密通信
 
#include               //使用第三方Blinker库
#include


char auth[] = "   ";      //Blinker APP(连接小爱同学必须阿里云服务器)中获取到的Secret Key(密钥)
//代码配网用这段
char ssid[] = "  ";                     //wifi名称
char pswd[] = "  ";              //wifi密码

BlinkerNumber HUMI("humi");//调用湿度检测
BlinkerNumber TEMP("temp");//调用湿度检测

#define DHTPIN D4  //定义IO口
#define DHTTYPE DHT11   // 定义DHT11模块

DHT dht(DHTPIN, DHTTYPE);//运用DHT11针脚和型号

float humi_read = 0, temp_read = 0;//初始化温湿度值为0

void heartbeat()//心跳函数
{
    HUMI.print(humi_read);
    TEMP.print(temp_read);
}
 
//定义继电器信号
#define Relay_1 5         //定义继电器1信号接入GPIO5,D1
#define Relay_2 4         //定义继电器2信号接入GPIO4,D2
#define Relay_3 0         //定义继电器3信号接入GPIO0,D3
#define Relay_4 14         //定义继电器3信号接入GPI14,D5


//定义本地开关信号
#define KG_1 12         //定义开关1信号接入GPIO12,D6
#define KG_2 13         //定义开关2信号接入GPIO13,D7
#define KG_3 3          //定义开关3信号接入GPIO3,RX(GPIO15/D8持续低电平,后更改为GPIO3/RX接口)

 
// 新建Blinker软件组件对象
BlinkerButton Button("MainSwitch");     //组件对象,要和APP组件中的“数据键名”一致,总开关
BlinkerButton Button1("Switch1");       //组件对象,要和APP组件中的“数据键名”一致,开关1
BlinkerButton Button2("Switch2");       //组件对象,要和APP组件中的“数据键名”一致,开关2
BlinkerButton Button3("Switch3");       //组件对象,要和APP组件中的“数据键名”一致,开关3
BlinkerButton Button4("Switch4");       //组件对象,要和APP组件中的“数据键名”一致,开关4
BlinkerButton Button5("Refresh");       //APP端按钮状态刷新

//定义插座状态,用于小爱同学状态反馈
bool oState[5] = { false };
#define OUTLET_ALL   0  //所有插孔
#define OUTLET_NO_1  1  //插座插孔一
#define OUTLET_NO_2  2  //插座插孔二
#define OUTLET_NO_3  3  //插座插孔三
#define OUTLET_NO_4  4  //插座插孔四

//反馈继电器状态函数
void RelayState(int num)
{
  switch(num)
  {
    case 1:   //插座插孔一状态
        if(digitalRead(Relay_1)==LOW)
        {
          Button1.color("#FFFF00");   //设置app按键是纯黄色,16进制颜色码
          Button1.text("开关1开");          //设置app按键注释“开”
          Button1.print("on");
          oState[1] = true;
        }
        else if(digitalRead(Relay_1==HIGH))
        {
          Button1.color("#808080");   //设置app按键是灰色,16进制颜色码
          Button

你可能感兴趣的:(大数据)