ESP8266+WIFI继电器初识

  • 简介
  • ESP8266初始配置
    • 接线
    • 串口设置
    • TCP/UDP连接
  • 继电器模块
    • 直接操控继电器
    • ESP8266控制继电器
      • 补充说明
  • WIFI配置

简介

这是一篇总结文章,在参考诸多文章和一些实验之后写下的笔记,初学之参考。此文不涉及硬件详解,只简解软件相关。

此文需要用到一些设备,某宝上可以获得:
1、USB转TTL,用于调试;
2、ESP8266模块,此文用的是安信可ESP-01S版本;
3、WIFI继电器,配合ESP8266模块使用,某宝上有两者合一的版本;
4、ESP8266下载器(可选)。

然后需要一些调试软件,这里选用安信可官方提供的软件:
1、安信可烧录软件
2、安信可串口调试助手
3、安信可TCP/UDP调试助手PC版本
4、安信可TCP/UDP调试助手安卓版本
5、串口驱动:CH340和CP2102
6、AT固件

ESP8266初始配置

接线

首先是接线,把USB转TTL串口和ESP8266连接起来,下图来自安信可官方网站的典型接线图。

给不懂硬件的同学简单说一下,把USB转TTL的四根线,GND接模块的GND,电源接模块的电源,TXD接模块的RXD,RXD接模块的TXD,就行了。

如果是下图这样的ESP8266模块和继电器在一起的设备,接线也是一样的。

将设备连接上电脑,在设备管理器中的端口中就可以看到了,记下端口号。

串口设置

此文写作的目的是使手机软件可以控制继电器的开关,所以这里的串口设置主要是使ESP8266模块连接到WIFI,使用的AT指令只有一部分,更为全面的AT指令请参考安信可的AT指令文档。
注:一些安全软件会拦截安信可的串口调试助手,使用的时候需要加入白名单

简单说明一下,串口选择设备的串口,在设备管理器中可以查看。首次使用的时候,波特率选择115200,继电器的波特率是9600,需要更改。发送AT指令需要勾选“自动换行”。右侧的AT指令是可以保存的,直接点击就行。

打开串口之后,按下面的指令依次发送进行配置:
1、 AT:返回OK就说明模块准备就绪了;
2、 AT+RST:初始设置,返回OK就可以了;
3、 AT+GMR:这个是查询固件版本信息,可以跳过;
4、 AT+CWMODE=3:返回OK表明设置成功。
——这个指令是把模块设置为AP+STATION模式共存。笔者手中的继电器对于两种连接方式都支持,所以选择了3。1是Station模式,2是AP模式。
5、 AT+CWJAP=“WIFI名称”,“WIFI密码”:这指令使ESP8266模块连接至路由器,需要注意的是,WIFI必须是2.4G,5G网络不支持。返回OK表明连接成功。
6、 AT+CIFSR:这个指令是查看模块的IP和MAC地址,在第4个步骤中如果是选择AP+Station共存的方式,这里会返回两套信息,分别是AP和Station对应的信息。模块的APIP是般是192.168.4.1,而STAIP一般是192.168.0.106这样的。

进行到这里,ESP8266模块已经连接到了WIFI网络,不过根据安信可的介绍和笔者的尝试,在模块断电并重新上电之后,之前连接的WIFI信息是在模块的Flash中保存的,但是在重新上电之后,模块并不能自动连接WIFI,在发送AT+RST指令之后模块才会连接上已经保存的WIFI。如果要实现模块上电即连接WIFI,需要重写模块固件,笔者这部分还未尝试。

TCP/UDP连接

此文的目的是使手机软件可以操控继电器,那么自然会用到网络通信,ESP8266模块上使用是TCP/UDP方式,在进行了上面的配置之后,还并不能进行网络通信,还需要再设置一下。
1、 AT+CIPMUX=1:开启多连接
2、 AT+CIPSERVER=1,8080:开启TCP服务,设置端口号。这条指令是将ESP8266模块作为服务器,电脑端或手机端作为客户端。
3、 AT+CIPSTART=“TCP”,“192.168.0.104”,8080:这条指令是将ESP8266作为客户端,主动连接到“192.168.0.104”这个服务器,8080是服务器的端口号。
——2、3两个步骤是两个不同的方式,笔者这里以2说明。
4、 打开安信可的网络助手工具,如下图:

创建连接,选择客户端模式,填好模块的IP和端口,进行连接,连接上之后,在串口工具的窗口中就会显示0,CONNECT,表明已经建立通信。
同样,如果模块作为客户端,电脑作为服务端,在创建连接的时候则选择服务器模式。

继电器模块

ESP8266连接上了WIFI,也建立了TCP通信,接下来就是对继电器进行控制。笔者使用的是此文中的第二张图所示的继电器,这个设备将继电器和ESP8266模块集成到了一起,某宝上有不少这样的,笔者所使用的这一款,对继电器的指令只有两条:A0 01 01 A2和A0 01 00 A1,均以十六进制发送,分别控制继电器的开关。

直接操控继电器

笔者使用这个设备提供了两种控制继电器的方式,一种是使用USR转TTL串口线,一种就是使用ESP8266模块。
直接操作继电器的话,需要把ESP8266模块拿掉,串口线的RXD、TXD、GND、5V或3.3V与继电器的引脚对应相接。连接电脑之后,使用串口调试助手以HEX方式发送开关指令,即可实现对继电器的操控。
注:笔者使用的这个设备,继电器的波特率是9600,所以在打开串口的时候,波特率要选择9600。

ESP8266控制继电器

如上所述,笔者使用的继电器的波特率是9600,而ESP8266的波特率默认是115200,所以在ESP8266建立好TCP通信之后,电脑向模块发送继电器的操控指令是无法对继电器进行开关。ESP8266的波特率是可以更改的,而且这个更改是可以保存的,模块重新上电之后的波特率就是更改后的波特率。这里的指令有两个,AT+CIOBAUD=9600,笔者查询了某宝上类似WIFI继电器的详情介绍,基本上都一样,客服不懂,详情页标示的和给出的下载资料里面所用到的都是这一条指令。但是这条指令输入之后只会提示ERROR,这个不知道是为什么。而某度上搜出来一条指令是AT+UART=9600,8,1,0,0,这条指令对笔者手中的设备是可用的。诸位看官请自行尝试一下吧。

笔者手中的继电器的供电和串口调试是分开的,所以在更改好波特率之后,把串口线拔了。此时使用安信可的网络调试助手连接ESP8266模块,发送继电器的控制指令,就可以实现对继电器的操控了。

文章写到这里,笔者一直是使用的电脑版本的串口调试和网络调试,实际上切换到安信可的手机版本进行尝试也是一样的,也可以实现对继电器的控制了。

补充说明

1、 上面写到波特率的更改,某度上有一条问答说AT+UART也不能更改波特率,同样提示了ERROR,https://blog.csdn.net/weixin_40660408/article/details/90143391,这篇文章提出的解决方法是刷一遍固件,诸位可以参考。安信可也提供了官方烧录工具,官方提供的这个烧录工具还是比较好用的。
2、 当我们把ESP8266的TCP通信配置好,以网络通信的方式发送AT指令对模块进行操作是不可行的。但是安可信和乐鑫提供了透传模式,发送的信息均可以被模块接收。笔者在进行到这里尝试的时候,模块没有了反应,抢救的机会都没有给<_>!所以诸位进行到这里的时候也小心点。。。

WIFI配置

笔者写到这里,所有的配置操作都是使用电脑串口进行的,但是如果放到智能家居产品上,顾客拿到一个产品,不可能把产品连接到电脑上进行配置,所以ESP8266模块有一键配置WIFI的功能,请参考https://bbs.elecfans.com/jishu_1150853_1_5.html这篇文章,原理写的比较明白。相关过程笔者也还在探究过程中。

===============================================================================未完待续 2021.07.13

参考
[1] https://blog.csdn.net/fengyingyuechou/article/details/51144884

ESP8266+WIFI继电器初识相关推荐

  1. ESP8266 WIFI ARDUINO单芯片 APP/微信远程控制继电器等 设备源码及说明

    ESP8266 WIFI模块,实现远程控制,带两路继电器,上传传感器信息是当前控制信息,只需要最小模块能运行,程序就能运行,很方便. 不需要额外的单片机用AT模式,此方法最具性价比,开发简单 ESP8 ...

  2. 智能家居之ESP8266接继电器接线方式

    ESP8266接继电器接线方式 esp8266 电源 继电器 LED TX EN 3.3V RST 3.3V 3.3V GND GND GND IO2 信号端 IO0 RX NO(常闭触点) NC(常 ...

  3. 基于arduino用esp8266和继电器实现小爱同学开关灯

    用esp8266和继电器实现小爱同学开关灯 房间的灯离床太远了,于是想到用esp8266配合点灯科技app来实现用小爱同学开关灯.于是就用小led灯做了测试. 这些是我们需要的材料 在淘宝上都能找到 ...

  4. ESP8266 01S 继电器控制智能灯实现

    ESP8266 01S 继电器控制 智能灯实现(使用小度音响) 最近研究esp8266,发现可以通过wifi连接物联网云平台实现远程控制,同时也可以加入小度语音DIY简单的智能家居. 前言 本人也是刚 ...

  5. esp8266 wifi模组手机一键配网,配置一次,下次重启设备后不需再进行配网

    编写时间:2018年9月2日 #define  ATCMDLEN   20 extern uint8_t usart3RecvEndFlag; extern UART_HandleTypeDef hu ...

  6. STM32 HAL库 串口DMA(收发)和STM32串口中断接收(接收时间管理机制)+ESP8266 wifi模组通信问题

    一.HAL库 串口 DMA+ESP8266模组通信问题 用STM32 HAL库串口的DMA发送和空闲中断接收处理数据,单片机发送AT指令给ESP8266 wifi模组问题:单片机连续几次给wifi模组 ...

  7. esp8266 wifi模组入网案例

    ESP8266可以配置三种模式: station模式 : 0x01 soft-AP模式 : 0x02 soft-AP兼station模式 : 0x03 1.station模式  station模式可以 ...

  8. ESP8266 WiFi探针 MAC

    当一个设备给另外一个设备通过无线传输技术发送信息时,周围的其他同类设备都是能够收到这些信息的,WiFi探针技术就是基于这个原理.具体来说,只要一个WiFi设备在WiFi探针的侦听范围内,当这个WiFi ...

  9. ESP8266 wifi模块连接上了热点之后 与服务器建立了tcp连接并进入了透传模式,如果关掉热点wifi模块的tcp连接没有切断,为什么

    ESP8266 wifi模块连接上了热点之后 与服务器建立了tcp连接并进入了透传模式,如果关掉热点wifi模块的tcp连接没有切断,为什么? 这个是很多开发者在第一次使用ESP8266模块是会出现的 ...

  10. stm32 + ESP8266 wifi获取网络时间和天气 stm32天气预报

    大家遇到什么什么题,可以私聊我. 近期由于某些原因,玩了一下stm32+WiFi获取网络天气和网络时间.之前一直觉得这个东西会有点难度,其实,做完了才发现,其实那只是想象中的难而已.现在,将这几天的成 ...

最新文章

  1. php输出数据安行,PHP对文本数据库的基本操作方法
  2. Bootstrap3 栅格系统-媒体查询
  3. 度量、符号、转换关系
  4. PHP—文件与目录操作
  5. blog被封了文章全被删除了,郁闷
  6. 实现输入提示 layui_ASP.NET Core SignalR :学习消息通讯,实现一个消息通知
  7. moodle平台安装及环境配置(包括安装过程详细截图)
  8. 通过官网下载KITTI数据集失败解决方法
  9. 学会QT从这里开始——教你快速学会QT
  10. 橡胶支座抗压弹性模量计算公式_板式橡胶支座抗压弹性模量检测方法的试验研究...
  11. Tbase基础积累一
  12. GTQ服务多层次金融衍生品市场,促进社会经济繁荣
  13. Pandas:写了一个简易的销量异常检测器
  14. 腾讯bugly接入详解
  15. 对android layout_wight属性和weight_sum属性的深入理解
  16. Android之Fragment应用——一个简易版的新闻应用
  17. VMware Workstation 在此主机上不支持嵌套虚拟化。模块“HV”启动失败。未能启动虚拟机。
  18. 图解+原理推导完全读懂KPM算法
  19. 小强升职记-一本好书
  20. (翻译)活动日历(Event Calendar)

热门文章

  1. PS如何修改扩展插件的名字(Photoshop重命名插件教程)
  2. windows 下载 gcc
  3. 使Window注册表更改立刻生效的命令行命令
  4. 采用H264编码视频的参数设定
  5. 基于SpringBoot+Vue的企业入库出库系统
  6. iPhone大小的盒子服务器Cubieboard
  7. SCAU高级语言程序设计--实验5 循环结构(一)(2)
  8. Unity3D零基础视频教程下载(全套+视频)
  9. FireMonkey 界面的玩法
  10. 内网渗透-域管理员定位