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

本文介绍了如何使用ESP8266通过Blinker库实现4路继电器的远程控制及温湿度感应。通过Arduino编程,结合DHT11传感器,实现实时温湿度数据的读取并上传。同时,文章提到在原视频教程中遇到的代码写入后自动断开问题,并分享了解决方案。
摘要由CSDN通过智能技术生成

对于好奇最近对于智能家居的控制买了个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.h>               //使用第三方Blinker库
#include <DHT.h>


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

### 回答1: ESP8266继电器是一种集成了ESP8266 Wi-Fi模块和四个独立继电器的设备。ESP8266是一款低功耗、高性能的Wi-Fi模块,可以用于接入互联网,并通过无线网络进行通信。四继电器可以控制四个不同的电,可以通过Wi-Fi远程控制继电器的开关状态。 ESP8266继电器的使用非常方便,只需将其连接到电源和Wi-Fi网络,然后通过手机、电脑或其他设备的APP或浏览器就可以远程控制继电器的开关状态。用户可以通过手机或电脑APP实时监测和控制继电器的状态,如打开或关闭光、电器或其他设备。 除了远程控制外,ESP8266继电器也支持定时控制功能。用户可以设置定时开关,根据需要自动打开或关闭继电器,实现自动化控制。例如,可以设置定时在早晨打开光、定时关闭电视等。 此外,ESP8266继电器还支持多点控制功能。这意味着用户可以多个设备同时控制继电器的开关状态。这样,多个用户可以同时远程或定时控制继电器,实现多人协作。 综上所述,ESP8266继电器是一个功能强大、易于使用的设备,能够通过Wi-Fi远程控制多个继电器,实现智能家居或其他领域的自动化控制。无论是家庭、办公室还是工业环境,ESP8266继电器都提供了便捷、高效的解决方案。 ### 回答2: ESP8266继电器是一种基于ESP8266芯片的开发板,具有四个独立的继电器输出通道。它可以通过无线网络与其他设备进行通讯,并控制继电器的开关状态。 ESP8266继电器模块可以广泛应用于智能家居、物联网等领域。通过连接到无线网络,我们可以使用手机或电脑远程操控继电器的开关状态,实现远程控制和自动化。例如,我们可以通过手机APP控制光的开关,调节家居设备的温度,或者定时控制水泵等。 使用ESP8266继电器模块时,我们可以通过编程来实现控制逻辑。在编程方面,我们可以使用Arduino IDE或者类似的开发软件,通过简单的代码编写来实现控制继电器。 除了四个继电器输出通道外,ESP8266继电器模块还具备多个引脚,这些引脚可以用于连接其他传感器或执行其他功能。这使得它具备了更强的扩展性和灵活性。 总结起来,ESP8266继电器是一种功能强大的开发板,可以用于控制多个继电器的开关状态。它的无线通讯功能和编程灵活性使得我们可以实现远程控制或自动化的功能。在智能家居和物联网项目中,ESP8266继电器是一个重要的组成部分。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值