Оцініть цю публікацію!
[Усього: 0 Середнє значення: 0]
Якщо ESP 8266 як в мене то зробити такі дії:
У File → Preferences
в полі Additional Boards Manager URLs додати:
https://github.com/esp8266/Arduino/releases/download/3.1.2/package_esp8266com_index.json
Потім:
Tools → Board → Boards Manager
- знайди esp8266
- встанови “esp8266 by ESP8266 Community”
В TOOLS ARDUINO IDE → BOARD
NodeMCU (ESP-12E / ESP-12F) ← найчастіше
Робочий скетч для ESP:
Ми створимо простий веб-сервер. Коли ви перейдете за певним посиланням, ESP натисне кнопку.
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#include <Servo.h>
// --- НАЛАШТУВАННЯ ---
const char* ssid = "";
const char* password = "";
const int IDLE_ANGLE = 0; // Положення "спокою" (палець піднятий)
const int PRESS_ANGLE = 90; // Положення "натиску" (палець внизу)
const int SERVO_PIN = D5;
Servo myServo;
ESP8266WebServer server(80);
void handleRoot() {
server.send(200, "text/plain", "Wi-Fi Finger is Ready! Use /press?duration=1000");
}
void handlePress() {
String durationStr = server.arg("duration");
int holdTime = 1000;
if (durationStr != "") {
holdTime = durationStr.toInt();
}
if (holdTime > 10000) holdTime = 10000;
if (holdTime < 100) holdTime = 100;
Serial.println("Pressing button...");
myServo.write(PRESS_ANGLE);
delay(holdTime);
myServo.write(IDLE_ANGLE);
Serial.println("Released.");
server.send(200, "text/plain", "Pressed for " + String(holdTime) + " ms");
}
void setup() {
Serial.begin(115200);
// Підключення серво
myServo.attach(SERVO_PIN);
myServo.write(IDLE_ANGLE);
WiFi.begin(ssid, password);
Serial.print("Connecting");
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println();
Serial.print("Connected! IP address: ");
Serial.println(WiFi.localIP());
server.on("/", handleRoot);
server.on("/press", handlePress);
server.begin();
Serial.println("HTTP server started");
}
void loop() {
server.handleClient();
}Після завантаження прошивки відкрийте Serial Monitor в PuTTY (швидкість 115200), щоб дізнатися IP-адресу вашого ESP8266 (наприклад, 192.168.1.105).
Активація WiFi-пальця
Спосіб А: Через браузер (для тесту)
Просто введіть в адресний рядок: http://192.168.1.105/press?duration=1500
- Де
192.168.1.105— IP вашого ESP. duration=1500— час утримування в мілісекундах (1.5 секунди).
Спосіб В: Скрипт на Python
Якщо ви хочете інтегрувати це у складнішу систему на ПК:
import requests
esp_ip = "192.168.1.105" # Замініть на ваш IP
duration = 1000 # Час у мілісекундах
try:
url = f"http://{esp_ip}/press"
params = {'duration': duration}
response = requests.get(url, params=params)
if response.status_code == 200:
print("Успішно натиснуто!")
else:
print("Помилка з'єднання")
except Exception as e:
print(f"Помилка: {e}")Поради для налаштування
- Калібрування кутів: MG996R має кут повороту 180 градусів. У коді стоять значення
0і90.- Якщо серво крутить “не туди”, змініть місцями значення
IDLE_ANGLEтаPRESS_ANGLE. - Підбирайте кут “натиску” обережно, щоб серво не намагався проломити стіл або корпус пристрою, який ви натискаєте. Почніть з малого кута (наприклад, зміна на 20-30 градусів).
- Якщо серво крутить “не туди”, змініть місцями значення
- IP Адреса: Щоб IP-адреса не змінювалася після перезавантаження роутера, бажано в налаштуваннях роутера прив’язати статичний IP до MAC-адреси вашого ESP8266.