目录

  • 一、ESP-01s和ESP-01区别
  • 外观区别
  • 电路区别
  • 二、ESP-01s引脚
  • 管脚示意图
  • 管脚功能定义
  • 电路原理图
  • 三、控制esp01s Relay
  • 安装blinker arduino库
  • 申请Secret Key
  • Demo控制继电器通断
  • 四、程序烧录
  • 参考


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

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

外观区别

  1. ESP01模块上电和信号传输在天线区域右下角有2个LED灯,红色LED上电的时候闪烁,串口通讯的时候蓝色LED闪烁;ESP01s整个模块上只有一个蓝色LED,上电和串口通讯都是蓝色LED闪烁。如图左边是ESP01s,右边是ESP01(图片来源)
  2. ESP01s模块背面有引脚说明,ESP01背面没有。

电路区别

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

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


esp12f引脚定义 esp-01引脚图_esp12f引脚定义

esp12f引脚定义 esp-01引脚图_物联网_02


二、ESP-01s引脚

管脚示意图

esp12f引脚定义 esp-01引脚图_esp12f引脚定义_03

管脚功能定义

esp12f引脚定义 esp-01引脚图_物联网_04

电路原理图

esp12f引脚定义 esp-01引脚图_触点_05

三、控制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

申请Secret Key

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


esp12f引脚定义 esp-01引脚图_物联网_06

esp12f引脚定义 esp-01引脚图_初始化_07

esp12f引脚定义 esp-01引脚图_触点_08

3. 申请完后进入页面会有向导页,跟着导向页提示载入示例就可以。

Demo控制继电器通断

根据说明书我们可以看到ESP01s芯片通过GPIO0引脚控制的继电器工作,且是高电平有效。

esp12f引脚定义 esp-01引脚图_esp12f引脚定义_09


esp12f引脚定义 esp-01引脚图_引脚_10


其中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();
}

四、程序烧录

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

  • 3V3——3V3
  • GND——GND
  • RX——TXD
  • TX——RXD
  • IO0——GND(烧录下载模式必须使得IO0引脚处于低电平,接地)


esp12f引脚定义 esp-01引脚图_esp12f引脚定义_11

esp12f引脚定义 esp-01引脚图_引脚_12


参考

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