ESP10S原生继电器控制

前言

因为最近某个网络安全项目需要,也重新让我写了一下之前就会的ESP10S设备。

其原理非常简单,就是通过ESP10S、配合继电器去控制遥控器的那两根线相通。

烧录器我选择的是CH340的烧录器

其实在两三年之前,我就专门玩过这个ESP8266、ESP10S,当时主要是做WIFi Killer和IOT物联网。但是不知道为啥当时烧录很麻烦,现在看来可能是之前一直有些问题没解决。

先决条件

  1. 安装烧录器的驱动(其实就是TTL转串口工具的,我这里是CH340,网上找一下就有)
  2. Arduino
  3. Arduino中添加开发板

https://arduino.esp8266.com/stable/package_esp8266com_index.json 

代码

#include <dummy.h>
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>

const char* ssid = "wifi";
const char* password = "pass";

const int relayPin = 0; // Connected To GPIO0

ESP8266WebServer server(80); // 80 Default Server Port


void setup(){
  // - - - 
  digitalWrite(LED_BUILTIN,HIGH);
  delay(200);
  digitalWrite(LED_BUILTIN,LOW);
  delay(200);
  digitalWrite(LED_BUILTIN,HIGH);
  delay(200);
  digitalWrite(LED_BUILTIN,LOW);
  // - - - 

  Serial.begin(115200);
  pinMode(relayPin, OUTPUT);
  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  pinMode(relayPin, OUTPUT);
  server.on("/off",HTTP_GET,[](){
    digitalWrite(relayPin, HIGH);
    digitalWrite(LED_BUILTIN,HIGH);
    delay(200);
    digitalWrite(LED_BUILTIN,LOW);
    server.send(200,"text/plain","Relay turned OFF");
  });
  server.on("/on",HTTP_GET,[](){
    digitalWrite(relayPin, LOW);
    digitalWrite(LED_BUILTIN,HIGH);
    delay(200);
    digitalWrite(LED_BUILTIN,LOW);
    server.send(200,"text/plain","Relay turned ON");
  });


  server.begin();
  Serial.println("HTTP server started");
  digitalWrite(LED_BUILTIN,HIGH);
  delay(6000);
  digitalWrite(LED_BUILTIN,LOW);
}

void loop() {
  server.handleClient();
}

常闭的话,我接的是COM和ON口。

ESP32是一款低成本、低功耗的系统级芯片(SoC),它集成了Wi-Fi和蓝牙功能,非常适合用于各种物联网(IoT)项目。继电器是一种电控制器件,它可以通过小电流控制大电流的开关,广泛应用于电气控制系统中。 要使用ESP32控制继电器,你需要做以下几个步骤: 1. 硬件连接:将ESP32的一个GPIO(通用输入输出)引脚通过电路连接到继电器控制端。通常情况下,继电器模块有一个用于控制的输入端口,你只需要将ESP32的GPIO引脚连接到这个端口即可。为避免直接连接对ESP32造成损害,建议使用一个合适的电流限制电阻。同时,确保ESP32和继电器共用一个公共的接地线。 2. 编程控制:编写代码让ESP32向GPIO引脚输出高电平或低电平信号,以控制继电器的吸合和释放。这通常涉及到设置GPIO引脚的模式为输出模式,并通过digitalWrite()函数控制引脚输出电平。 3. 安全措施:由于继电器控制的是高电流设备,操作前应确保对电路进行适当的保护,比如使用过载保护和短路保护装置。 以下是一个简单的示例代码,用于ESP32控制继电器模块: ```cpp // 定义GPIO引脚 const int relayPin = 5; // 假设继电器模块连接到GPIO5 void setup() { // 设置GPIO为输出模式 pinMode(relayPin, OUTPUT); } void loop() { // 吸合继电器(导通) digitalWrite(relayPin, HIGH); delay(5000); // 维持5秒 // 释放继电器(关闭) digitalWrite(relayPin, LOW); delay(5000); // 维持5秒 } ``` 在实际应用中,你需要根据继电器模块的具体型号和连接方式调整代码,并考虑加入网络控制或其他控制逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值