ESP8266 ESP-01
ESP8266 ESP-01
Zdravím.
Už jsem toto před hodně dlouhou dobou řešil u W5100 ale nepamatují.
Bych chtěl volat stranku s parametrem.
http://192.168.1.20/?-1 // vypni rele
http://192.168.1.20/?+1 // zapni rele
Jak to http://192.168.1.20/?-1 načtu do řetězce?
Děkují
Už jsem toto před hodně dlouhou dobou řešil u W5100 ale nepamatují.
Bych chtěl volat stranku s parametrem.
http://192.168.1.20/?-1 // vypni rele
http://192.168.1.20/?+1 // zapni rele
Jak to http://192.168.1.20/?-1 načtu do řetězce?
Děkují
Re: ESP8266 ESP-01
Chtělo by to trochu specifikovat problém. Předpokládám, že ESP má fungovat v roli webserveru, který bude ovládat to relé?
Pokud ano, tak dobrý příklad je https://www.zive.cz/clanky/pojdme-progr ... fault.aspx.
Pokud ano, tak dobrý příklad je https://www.zive.cz/clanky/pojdme-progr ... fault.aspx.
Re: ESP8266 ESP-01
No nechcí žadný servr s tlačitky.
Prostě do prohližeče zadam http://192.168.1.20/?+1
Potřebují v kodu zjistit co je za ?
Pokud -1 vypni rele
Pokud +1 zapni rele
Nic vic
Prostě do prohližeče zadam http://192.168.1.20/?+1
Potřebují v kodu zjistit co je za ?
Pokud -1 vypni rele
Pokud +1 zapni rele
Nic vic
Re: ESP8266 ESP-01
Tak to udelej jako server bez tlacitek. Proste prijde pozadavek, ty ho vyridis a vratis prazdnou stranku (nebo stranku s napisem OK, nebo napisem vypnuto/zapnuto). Adresu at si kazdy zada sam (a jednodussi na vyhodnocovani bdes mit http://192.168.1.20/vyp a http://192.168.1.20/zap nebo tak neco - klidne jen /v /z).
Ale pokud se to ma bavit prez web (ovladani z browseru), tak tam nejaky server proste budes mit, jedno jak jednoduchy ci slozity - protoze to bude prijimat pozadavky a na zaklade nich slouzit.
Ale pokud se to ma bavit prez web (ovladani z browseru), tak tam nejaky server proste budes mit, jedno jak jednoduchy ci slozity - protoze to bude prijimat pozadavky a na zaklade nich slouzit.
Re: ESP8266 ESP-01
Však vždyť to tak funguje (jediný rozdíl je v tom, že reaguje na /ZapnoutSvetlo, resp. /VypnoutSvetlo). Jestli na straně clienta mám zobrazená tlačítka, nebo to zapisuji ručně do adresního řádku je přeci jedno.
Tady je upravený kód podle zadání:
Tady je upravený kód podle zadání:
Kód: Vybrat vše
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
// Wi-Fi Settings
const char* ssid = ""; // your wireless network name (SSID)
const char* password = ""; // your Wi-Fi network password
ESP8266WebServer server(80);
#define LED D3
//**********************************************************************
void handleRoot() {
if (server.argName(0) == " 1") {
digitalWrite(LED, 1);
} else if (server.argName(0) == "-1") {
digitalWrite(LED, 0);
}
server.send(200, "text/plain", "");
}
//************************************************************************
void handleNotFound(){
server.send(200, "text/plain", "Invalid page");
}
//***************************************************************
void setup(void){
pinMode(LED, OUTPUT);
Serial.begin(115200);
WiFi.mode(WIFI_STA);
WiFi.persistent(false);
WiFi.begin(ssid, password);
// Wait for connection
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.print("Connected to ");
Serial.println(ssid);
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
server.on("/", handleRoot);
server.onNotFound(handleNotFound);
server.begin();
Serial.println("HTTP server started");
}
//*********************************************************************
void loop(void){
server.handleClient();
}
Re: ESP8266 ESP-01
Dik moc, přes web jsem uplna lama , budu muset učit, ale ted nestiham.
Ještě dotaz.
V tom void handleRoot, když se provede digitalWrite(LED, 1), jak vypsat na stranku stav toho pinu přes echo?
Ještě dotaz.
V tom void handleRoot, když se provede digitalWrite(LED, 1), jak vypsat na stranku stav toho pinu přes echo?
Re: ESP8266 ESP-01
Jestli je myšleno na stránku jako webovou stránku v prohlížeči, tak tam zase vrátíme to, co jsem z toho příkladu vyhodil.
Webserver tedy nebude jen ovládat výstup, ale vracet i nějakou odpověď. Tedy doplníme:
Webserver tedy nebude jen ovládat výstup, ale vracet i nějakou odpověď. Tedy doplníme:
Kód: Vybrat vše
void handleRoot() {
String odpoved;
if (server.argName(0) == " 1") {
digitalWrite(LED, 1);
odpoved = "Zapnuto";
} else if (server.argName(0) == "-1") {
digitalWrite(LED, 0);
odpoved = "Vypnuto";
}
server.send(200, "text/plain", odpoved);
}
Re: ESP8266 ESP-01
By byla dalši prozba.
Na web strankach použivál login.
Jak to pořešit u te ESP8266?
Kód: Vybrat vše
void loop()
{
// Cekej, dokud se nepripoji nejaky klient
WiFiClient client = server.available();
if (!client) {
return;
}
client.println(" Klient je připojen ");
}
Kód: Vybrat vše
<?php
if ($_SERVER['PHP_AUTH_USER']!="admin" || $_SERVER['PHP_AUTH_PW']!="admin")
{
header("WWW-Authenticate: Basic realm=\"hups\"");
header("HTTP/1.0 401 Unauthorized");
die("Authentization required\n");
}
Re: ESP8266 ESP-01
Zkusil jsi tohle?
knihovna ESP8266WebServer, příklad HttpBasicAuth.
knihovna ESP8266WebServer, příklad HttpBasicAuth.
Nikoho plánovaně neurážím. Jestli se Vám nelíbí co píšu, tak to nečtěte. A ostatně, třeba za to nemůžu - Researchers believe that dark humor can be a significant symptom of dementia.