前言
因为最近某个网络安全项目需要,也重新让我写了一下之前就会的ESP10S设备。
其原理非常简单,就是通过ESP10S、配合继电器去控制遥控器的那两根线相通。
烧录器我选择的是CH340的烧录器
其实在两三年之前,我就专门玩过这个ESP8266、ESP10S,当时主要是做WIFi Killer和IOT物联网。但是不知道为啥当时烧录很麻烦,现在看来可能是之前一直有些问题没解决。
先决条件
- 安装烧录器的驱动(其实就是TTL转串口工具的,我这里是CH340,网上找一下就有)
- Arduino
- 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口。