背景:
自用,实现使用ESP01S模块和继电器构建自定义功能的Wi-Fi控制器,后续可用于自动窗帘、自动给植物浇水,自动开关灯,自动开关风扇等
所需材料:
- ESP01S模块
- 继电器模块(这里网上卖的有个坑,需要注意,下文提及)
- 杜邦线(用于连接模块)
- USB转串口模块
步骤:
1. 准备工作:
- 获取所需的组件和材料。
- 安装Arduino IDE并在其中安装ESP8266支持。
- 连接ESP01S模块和继电器模块,确保连接正确。通常网上卖的,GPIO 0用于控制继电。



- 这里遇到的坑,需要提及下的是网上很多店家把光耦贴反了,就拿出来发货,导致继电器功能失效,要把光耦位置贴回来,跟上图原理图一致,即1脚跟R6导线一端连在一起。
2. 编写Arduino代码:
#include <ESP8266WiFi.h> //默认,加载WIFI头文件
#include "PubSubClient.h" //默认,加载MQTT库文件
#include <ESP8266HTTPClient.h>
#include <EEPROM.h>
#include <Ticker.h>
#include <ArduinoJson.h>
#include <AceButton.h>
#include <ESP8266httpUpdate.h>
using namespace ace_button;
WiFiClient client_bemfa_WiFiClient;
HTTPClient http_bemfa_HTTPClient;
const char* mqtt_server = "bemfa.com"; //默认,MQTT服务器
const int mqtt_server_port = 9501; //默认,MQTT服务器
//*****可以修改的地方******//
String aptype = "002"; //001插座类型,002灯类型,003风扇类型,004传感器,005空调,006开关,009窗帘
String verSion = "1"; //1是mqtt协议,3是tcp协议,5是mqtt V2 版本,7是 tcp V2 版本
String adminID = ""; //默认空即可。企业id,企业用户可配置,用户会自动绑定到该企业下,获取id方法见接入文档5.17节
const int LED_Pin = 0; //单片机控制的继电器引脚,或者LED引脚值,可自行修改,其他开发板,修改为自己的引脚,例如esp8266-01修改为const int LED_Pin = 0;
const int LedBlink = 2; //指示灯引脚,可自行修改,如果没有指示灯,建议删除指示灯相关代码
const int buttonPin = 3; //定义按钮引脚,可自行修改
int failCount = 3; //定义失败连接次数
bool ledState = true; //led 状态
String upUrl = "http://bin.bemfa.com/b/1BcZjQyYTFjMzVjYjI4NGQzZTlhNDk3Yjk0NDFiN2QwZDI=CC3857002.bin"; //OTA固件链接,请替换为自己的固件链接,如果接收到msg=update,开始执行固件升级
//**********************//
String topicMac = "";
int httpCode = 0;
String UID = "";
String TOPIC = "";
#define HOST_NAME "bemfa"
char config_flag = 0;
#define MA

----保姆级教程&spm=1001.2101.3001.5002&articleId=139115473&d=1&t=3&u=7c83eb6e262d4f38a042178b4459983f)
1422

被折叠的 条评论
为什么被折叠?



