智能语音控制开关(可对接天猫精灵、小爱等)----保姆级教程

背景

        自用,实现使用ESP01S模块和继电器构建自定义功能的Wi-Fi控制器,后续可用于自动窗帘、自动给植物浇水,自动开关灯,自动开关风扇等

所需材料:

  1. ESP01S模块
  2. 继电器模块(这里网上卖的有个坑,需要注意,下文提及)
  3. 杜邦线(用于连接模块)
  4. 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
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值