使用Blinker控制esp01s Relay继电器模块

发布时间 2023-07-21 09:05:34作者: SymPny

一、ESP-01s和ESP-01区别

ESP8266-01简称ESP-01;ESP8266-01s简称ESP-01s。

外观区别

  1. ESP01模块上电和信号传输在天线区域右下角有2个LED灯,红色LED上电的时候闪烁,串口通讯的时候蓝色LED闪烁;ESP01s整个模块上只有一个蓝色LED,上电和串口通讯都是蓝色LED闪烁。如图左边是ESP01s,右边是ESP01(图片来源https://www.cnblogs.com/easyidea/p/11525197.htm)
    在这里插入图片描述
  2. ESP01s模块背面有引脚说明,ESP01背面没有。
    在这里插入图片描述

电路区别

ESP01s内部电路相较于ESP01做了优化,

  • LED灯的管脚发生变化,由ESP01的TXD0变成ESP01s的GPIO2引脚;
  • ESP01s模块的IO0、RST、EN引脚上加了上拉电阻,也就是说在连接了3v3引脚后这三个引脚也自动连接上高电平,无需再EN引脚上外接高电平。
    在这里插入图片描述

二、ESP-01s引脚

管脚示意图

在这里插入图片描述

管脚功能定义

在这里插入图片描述

电路原理

在这里插入图片描述

三、控制esp01s Relay

具体arduino IDE配置看前边使用arduion IDE开发ESP8266,我是使用点灯科技Blinker来远程控制ESP01s的继电器模块。

安装blinker arduino库

  1. 从点灯科技官网下blinker arduino库https://diandeng.tech/dev,下载下来是个.ZIP格式的压缩包,打开arduion IDE导入该压缩包。
    在这里插入图片描述
  2. Arduino IDE打开:项目-加载库-添加.ZIP库知道刚刚下载的库导入(另一种方法是直接放到arduino IDE软件下载的libraries文件夹下,进入IDE文件-示例-Blinker
  3. 在这里插入图片描述

申请Secret Key

  1. 下载安装blinker APP,从GIthub上下载https://github.com/blinker-iot/app-release/releases或者从手机应用商店搜blinker下载我这里用小米的应用商店没有搜到
  2. 进入App没有账号先注册一个然后进入点击右上角的+,选择独立设备网络接入随便选择一个通信服务商申请一个密钥复制保存留用。如果忘记了可以进入APP后点击左上角三条横线那进入侧边菜单栏选择设备管理点击已经申请的设备就能看见密钥。(免费的最多可以申请五个设备的密钥)
3. 申请完后进入页面会有向导页,跟着导向页提示载入示例就可以。

Demo控制继电器通断

根据说明书我们可以看到ESP01s芯片通过GPIO0引脚控制的继电器工作,且是高电平有效。
在这里插入图片描述
在这里插入图片描述
其中COM是公共端,NC常闭触点,NO常开触点,当GPIO0输出为高电平的时候NC常闭触点就打开,而NO常开触点关闭。

#define BLINKER_WIFI //以WIFI方式接入,BLINKER_BLE以蓝牙方式接入
#include <Blinker.h>
//配置wifi联网模块
char auth[] = "Blinker中申请的密钥";
char ssid[] = "WIFI名字";
char pswd[] = "WIFI密码";
int GPIO = 0;
BlinkerButton Button1("btn-abc");//新建组件和Blinker app上的数据键名一样
// 按下按键就会执行该函数
void button1_callback(const String & state) {
    BLINKER_LOG("get button state: ", state);
    digitalWrite(GPIO, HIGH);
    Blinker.delay(500);//操作延时
}
void setup() {
    // 初始化串口
    Serial.begin(115200);
    // 初始化控制继电器的GPIO引脚
    pinMode(GPIO, OUTPUT);
    digitalWrite(GPIO, LOW);//低电平默认继电器关闭
    // 初始化WIFI设置
    Blinker.begin(auth, ssid, pswd);
   //数据管理,当收到指令的时候会调用该回调函数
    Button1.attach(button1_callback);
}
//让程序一直运行
void loop() {
    Blinker.run();
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29

四、程序烧录

在arduino IDE中写完程序后,经过编译没有问题后直接上传烧录,接线引脚如下:

  • 3V3——3V3
  • GND——GND
  • RX——TXD
  • TX——RXD
  • IO0——GND(烧录下载模式必须使得IO0引脚处于低电平,接地)
    在这里插入图片描述
    在这里插入图片描述

参考

esp-01与esp-01s的区别 ESP8288-01S与ESP8288-01的区别
详解ESP8266 ESP-01SRealy继电器模块天猫精灵语音控制实现
WIFI模块ESP8266-01S
点灯科技的官方文档