vadim.ssaa
New member
Помогите настроить отправку ИК команды через веб страницу по нажатию кнопки
Вложения
-
4.7 KB Просмотры: 23
Нету. Но и без них работает.где тэги doctype и body?
Рекомендую ознакомиться Вам со стандартами HTML, а так же с его возможностями. Можно управлять и по ссылке, и с помощью POST запросов, например. А если уж копнуть в сторону AJAX, JQuery, то там уж есть где развернуццо.Нету. Но и без них работает.
А вот как добавить чтобы с помощью кнопки отправлялся сигнал
Все исправил! подскажите чтобы по нажатию на веб странице отправлялась определенная команда ИКРекомендую ознакомиться Вам со стандартами HTML, а так же с его возможностями. Можно управлять и по ссылке, и с помощью POST запросов, например. А если уж копнуть в сторону AJAX, JQuery, то там уж есть где развернуццо.
И всё это будет "по кнопке".
P.S. Скетч ваш не глядел, но хотел бы отметить, что отсутствие тега <body /> не есть как хорошо.
ИК? What are you on about?Все исправил! подскажите чтобы по нажатию на веб странице отправлялась определенная команда ИК
ИК сигнал NEC(0xC40BF, 32)ИК? What are you on about?
Шта?ИК сигнал NEC(0xC40BF, 32)
Я хочу добавить в свой код который вначале прикрепил. Чтобы при открытие веб страницы можно нажать кнопку, и команда отправиласьШта?
Пишите, пожалуйста, понятнее. Что это? Посредством чего отправить? С помощью какой шины? Каким протоколом?
Хрустальные гадальные шарики не успели закупить ещё - кризис, а хрусталь ныне дорог
Не совсем ясно, так как ваш файлик не могу открыть Я - политика безопасности запрещает это мне...Я хочу добавить в свой код который вначале прикрепил. Чтобы при открытие веб страницы можно нажать кнопку, и команда отправилась
#include <ESP8266WiFi.h>Не совсем ясно, так как ваш файлик не могу открыть Я - политика безопасности запрещает это мне...
Могли бы вы написать, что именно Вы хотите сделать? Или запостить сам текст скетча, а не файл его?..
хочу чтобы по нажатию кнопки на веб странице отправлялся ИК сигналНе совсем ясно, так как ваш файлик не могу открыть Я - политика безопасности запрещает это мне...
Могли бы вы написать, что именно Вы хотите сделать? Или запостить сам текст скетча, а не файл его?..
Вырвиглазный, аццкий писец просто, а не код, Я не буду ломать свой мозг и глаза об это... Почему бы просто не написать *.html файлик, не положить его на флэху еспшки и не вычитывать его с флэхи в переменную при инициализации модуля?#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include <ESP8266mDNS.h>
#include <IRremoteESP8266.h>
MDNSResponder mdns;
const char* ssid = "Ne Wi-Fi";
const char* password = "aaaaaaaa8";
ESP8266WebServer server(80);
int D0_pin = 16;
int D1_pin = 2;
int D2_pin = 5;
IRsend irsend(0); //an IR led is connected to GPIO pin 0
void setup(void){
// preparing GPIOs
pinMode(D0_pin, OUTPUT);
digitalWrite(D0_pin, LOW);
pinMode(D1_pin, OUTPUT);
digitalWrite(D1_pin, LOW);
pinMode(D2_pin, OUTPUT);
digitalWrite(D2_pin, LOW);
delay(100);
Serial.begin(115200);
WiFi.begin(ssid, password);
Это Я тут пытался
//+++++++++++++++++++++++ START LED-IR ++++++++++++++++++++
server.on("/", [](){
server.send(200, "text/html", webPage());
});
server.on("/socket6On", [](){
Serial.println("NEC");
irsend.sendNEC(0x00FFE01F, 36);
server.send(200, "text/html", webPage());
delay(100);
});
server.on("/socket6Off", [](){
Serial.println("NEC");
irsend.sendNEC(0x00FFE01F, 36);
server.send(200, "text/html", webPage());
delay(100);
//+++++++++++++++++++++++ END LED-IR ++++++++++++++++++++
//+++++++++++++++++++++++ START LED-1 ++++++++++++++++++++
});
server.on("/", [](){
server.send(200, "text/html", webPage());
});
server.on("/socket1On", [](){
digitalWrite(D0_pin, HIGH);
digitalWrite(D1_pin, LOW);
server.send(200, "text/html", webPage());
delay(100);
});
server.on("/socket1Off", [](){
digitalWrite(D0_pin, LOW);
server.send(200, "text/html", webPage());
delay(100);
//+++++++++++++++++++++++ END LED-1 ++++++++++++++++++++
//+++++++++++++++++++++++ START LED-2 ++++++++++++++++++++
});
server.on("/socket2On", [](){
digitalWrite(D1_pin, HIGH);
digitalWrite(D0_pin, LOW);
server.send(200, "text/html", webPage());
delay(100);
});
server.on("/socket2Off", [](){
digitalWrite(D1_pin, LOW);
server.send(200, "text/html", webPage());
delay(100);
// +++++++++++++++++++++++ END LED-2 ++++++++++++++++++++
//+++++++++++++++++++++++ START LED-3 ++++++++++++++++++++
});
server.on("/socket3On", [](){
digitalWrite(D2_pin, HIGH);
server.send(200, "text/html", webPage());
delay(100);
});
server.on("/socket3Off", [](){
digitalWrite(D2_pin, LOW);
server.send(200, "text/html", webPage());
delay(100);
// +++++++++++++++++++++++ END LED-3 ++++++++++++++++++++
});
server.begin();
Serial.println("HTTP server started");
}
void loop(void){
server.handleClient();
}
String webPage()
{
String web;
web += "<html><head><meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/> <meta charset=\"utf-8\"><title>Web control.3218</title><style>button{color:red;padding: 10px 27px;}</style></head>";
web += "<h1 style=\"text-align: center;font-family: Open sans;font-weight: 100;font-size: 20px;\">Web control.3218</h1><div>";
И тут тоже
//++++++++++ LED-IR +++++++++++++
web += "<p style=\"text-align: center;margin-top: 0px;margin-bottom: 5px;\">----Проектор----</p>";
if (digitalRead(0) == 1)
{
web += "<div style=\"text-align: center;margin: 5px 0px;\"> <a href=\"socket6Off\"><button><div style=\"text-align: center;width: 98px;color:white ;padding: 10px 30px;background-color: #43a209;margin: 0 auto;\">ON</button></div></a>";
}
else
{
web += "<div style=\"text-align: center;margin: 5px 0px;\"> <a href=\"socket6On\"><button><div style=\"text-align: center;width: 98px;color:white ;padding: 10px 30px;background-color: #ec1212;margin: 0 auto;\">OFF</button></div></a>";
}
// ++++++++ LED-IR +++++++++++++
//++++++++++ LED-1 +++++++++++++
web += "<p style=\"text-align: center;margin-top: 0px;margin-bottom: 5px;\">----Вверх----</p>";
if (digitalRead(D0_pin) == 1)
{
web += "<div style=\"text-align: center;margin: 5px 0px;\"> <a href=\"socket1Off\"><button><div style=\"text-align: center;width: 98px;color:white ;padding: 10px 30px;background-color: #43a209;margin: 0 auto;\">ON</button></div></a>";
}
else
{
web += "<div style=\"text-align: center;margin: 5px 0px;\"> <a href=\"socket1On\"><button><div style=\"text-align: center;width: 98px;color:white ;padding: 10px 30px;background-color: #ec1212;margin: 0 auto;\">OFF</button></div></a>";
}
// ++++++++ LED-1 +++++++++++++
//++++++++++ LED-2 +++++++++++++
web += "<p style=\"text-align: center;margin-top: 0px;margin-bottom: 5px;\">----Вниз----</p>";
if (digitalRead(D1_pin) == 1)
{
web += "<div style=\"text-align: center;margin: 5px 0px;\"> <a href=\"socket2Off\"><button><div style=\"text-align: center;width: 98px;color:white ;padding: 10px 30px;background-color: #43a209;margin: 0 auto;\">ON</button></div></a>";
}
else
{
web += "<div style=\"text-align: center;margin: 5px 0px;\"> <a href=\"socket2On\"><button><div style=\"text-align: center;width: 98px;color:white ;padding: 10px 30px;background-color: #ec1212;margin: 0 auto;\">OFF</button></div></a>";
}
// ++++++++ LED-2 +++++++++++++
//++++++++++ LED-3 +++++++++++++
web += "<p style=\"text-align: center;margin-top: 0px;margin-bottom: 5px;\">----Усилитель----</p>";
if (digitalRead(D2_pin) == 1)
{
web += "<div style=\"text-align: center;margin: 5px 0px;\"> <a href=\"socket3Off\"><button><div style=\"text-align: center;width: 98px;color:white ;padding: 10px 30px;background-color: #43a209;margin: 0 auto;\">ON</button></div></a>";
}
else
{
web += "<div style=\"text-align: center;margin: 5px 0px;\"> <a href=\"socket3On\"><button><div style=\"text-align: center;width: 98px;color:white ;padding: 10px 30px;background-color: #ec1212;margin: 0 auto;\">OFF</button></div></a>";
}
// ++++++++ LED-3 +++++++++++++
// ========REFRESH=============
web += "<div style=\"text-align:center;margin-top: 20px;\"><a href=\"/\"><button style=\"width:158px;\">REFRESH</button></a></div>";
// ========REFRESH=============
web += "</div></body></html>";
return(web);
}
не подскажите как это сделать? есть пример как это сделать? я не особо понимаюВырвиглазный, аццкий писец просто, а не код, Я не буду ломать свой мозг и глаза об это... Почему бы просто не написать *.html файлик, не положить его на флэху еспшки и не вычитывать его с флэхи в переменную при инициализации модуля?
Так как читать сиий говнокод желания нет, просто объясню на пальцах. Поставьте на странице кнопку Button, у неё укажите onclick="location.href='http://blahblahblah/yourcommand';" . После чего в коде поставьте обработчик URL /yourcommand, который при вызове будет выполнять команду, при этом будет возвращать код страницы, как и обработчик для основной страницы (полагаю, что '/')...
хочу управлять нагрузкой. а также отправлять одну команду на телевизор@vadim.ssaa а что Вы хотите сделать? Опишите словами в общем. Не отправить код, а что в результате? Может Вам что то готовое подойдет? Например ESPEasy?
а как именно не подскажите хотябы пример управление реле, и еще по отправке ИК сигнала@vadim.ssaa ESPEasy вполне справится.