Удачи
Все проблемы в этом мире из-за недофинансирования.
Это надо отлить в граните!
Чтобы помочь у исполнителя должна быть такая плата или документация на неё как минимум
У меня есть такая. Свет в комнате включает/выключает. И бесплатный совет я ему еще в 9 посте дал. Но бесплатно он не понимает, а за деньги - не хочет ))
так дорого для него, он видимо рублей на 300 рассчитывал
В данном случае из-за недофинансирования школьного образования. На исправление этих проблем 2000 рублей явно мало)
Кто тут на форуме самый волшебный программист? Прикиньте, волшебный код исправил волшебными руками и…и светодиод превратился в реле🤣
Бармалей.
это самое простое, контрол-ф в помощь, но там еще два-три десятка ошибок
Да, я честно пытался вникнуть в это безобразие. Так и не понял чего куда и зачем там.
а зачем вникать, код явно откуда-то содран, поправить явные ошибки, а пин реле уже озвучили, можно и дефайном подобрать
Ну как зачем? Всегда интересно у других подсмотреть) Вдруг что-то новое и полезное увижу. Хотя смотреть тексты вопрошающих здесь не очень.)
а ТС пропал
Так он вчера и ушёл 4 решения покупать:
- Как из светодиода сделать реле
- Где тут вообще подключать + и -
- Я перепутал полярность, греется ESP,подскажите что делать?
- Где быстрей заказать новую ESP?
В общем, в кругу сансары чел)
а я хотел помочь, пока Скиф спит или где он там…
чтобы не осталась какая-то недосказанность, выложу код с комментариями:
TC использовал обновление странички через AJAX, находим в гугле первый попавшийся пример, на удивление автор страницу WEB сделал по фэншую в отдельном файле и, пин включения обозначил как LED, что облегчит нам переназначение оного на пин реле.
Добавим нужное, закоментируем ненужное, поправим реверсное включение для LED, пять минут и, вуаля:
/*Arduino code for ESP8266 AJAX Webserver
www.circuitdigest.com
*/
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include "index.h"
#define LED LED_BUILTIN
const char* ssid = "ESPap"; //"admin";
const char* password = "012345678";
ESP8266WebServer server(80);
void handleRoot()
{
String s = webpage;
server.send(200, "text/html", s);
}
void sensor_data()
{
int a = analogRead(A0);
int temp = a / 4.35;
String sensor_value = String(temp);
server.send(200, "text/plane", sensor_value);
}
void led_control()
{
String state = "OFF";
String act_state = server.arg("state");
if (act_state == "1")
{
digitalWrite(LED, LOW); //LED ON (включение светодиода)
state = "ON";
}
else
{
digitalWrite(LED, HIGH); //LED OFF (выключение светодиода)
state = "OFF";
}
server.send(200, "text/plane", state);
}
void setup(void)
{
Serial.begin(115200);
// WiFi.begin(ssid, password);
Serial.println("");
pinMode(LED, OUTPUT);
WiFi.softAP(ssid, password);
/*
while (WiFi.status() != WL_CONNECTED)
{
Serial.print("Connecting...");
}
Serial.println("");
Serial.print("Connected to ");
Serial.println(ssid);
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
*/
server.on("/", handleRoot);
server.on("/led_set", led_control);
server.on("/adcread", sensor_data);
server.begin();
}
void loop(void)
{
server.handleClient();
}
код странички в файле index.h
const char webpage[] PROGMEM = R"=====(
<!DOCTYPE html>
<html>
<style type="text/css">
.button {
background-color: #4CAF50; /* Green */
border: none;
color: white;
padding: 15px 32px;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 16px;
}
</style>
<body style="background-color: #f9e79f ">
<center>
<div>
<h1>AJAX BASED ESP8266 WEBSERVER</h1>
<button class="button" onclick="send(1)">LED ON</button>
<button class="button" onclick="send(0)">LED OFF</button><BR>
</div>
<br>
<div><h2>
Temp(C): <span id="adc_val">0</span><br><br>
LED State: <span id="state">NA</span>
</h2>
</div>
<script>
function send(led_sts)
{
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("state").innerHTML = this.responseText;
}
};
xhttp.open("GET", "led_set?state="+led_sts, true);
xhttp.send();
}
setInterval(function()
{
getData();
}, 2000);
function getData() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("adc_val").innerHTML =
this.responseText;
}
};
xhttp.open("GET", "adcread", true);
xhttp.send();
}
</script>
</center>
</body>
</html>
)=====";