Hirdetés
- Kompatibilis lett az Android Quick Share és az Apple AirDrop
- Akciófigyelő: Black Friday kedvezmények az EarFun cuccaira
- Akciófigyelő: Huawei Black Friday akciók a tudatos életvitel jegyében
- Részletes fotókon a Honor robotkaros telefonja
- Ezekkel a kiegészítőkkel még sokoldalúbb eszközzé válik az Armor Pad 5
- Apple iPhone 17 Pro Max – fennsík
- Yettel topik
- Csavard fel a szőnyeget! - Xiaomi Vacuum 5 teszt
- Xiaomi 15 - kicsi telefon nagy energiával
- Mobil flották
- Garmin Fenix 8 Pro - nézz az ég felé!
- iPhone topik
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Samsung Galaxy A56 - megbízható középszerűség
- Honor Magic6 Pro - kör közepén számok
-
Mobilarena
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
vargalex
félisten
válasz
Janos250
#5772
üzenetére
Nyilván a jquery kicserélhető bármire (akár maradhat simán checkbox is, vagy saját CSS-t lehet gyártani pl. így), csak azért raktam bele, hogy kicsit pofásabb legyen a megjelenítés és maga a kód rövidebb. Nálam nem volt szempont az adatmennyiség.
UPC-nél a DHCP net miatt tipikusan nem változik az IP cím. Ettől függetlenül nálam is van dyndns természetesen (már egy jó ideje az ipdns.hu-t használom). De a kérdésedet nem igazán értem... Ugyanis az UPC által adott IP-t nyilván a router WAN oldala kapja. Az állomások pedig egy belső IP címet. Mi közük az eszközöknek a külső IP-hez? Nekik a routerben statikus lease van beállítva a DHCP szervernél...
És akkor a javított kód, mert a
<body>és a<html>tag lezárása lemaradt (igaz, a böngészőket nem zavarja, automatikusan lezárják):#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#define DEFAULT_STATE LOW
// Replace with your network credentials
const char* ssid = "TP-Link";
const char* password = "asdf1234";
// GPIOs for controlling the relays
uint8_t pin_relays[] = { D1, D2 };
ESP8266WebServer server(80);
// html page rendering
void renderPage() {
String webPage = "";
String relay_state="";
webPage = "<html><head><link rel=\"stylesheet\" href=\"https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css\">";
webPage += "<script src=\"https://code.jquery.com/jquery-1.11.3.min.js\"></script>";
webPage += "<script src=\"https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js\"></script></head>";
webPage += "<body><h1>ESP8266 Relay Web Server</h1>";
for (int relayIndex = 0; relayIndex<sizeof(pin_relays)/sizeof(uint8_t); relayIndex++) {
relay_state="";
if (digitalRead(pin_relays[relayIndex])) {
relay_state="checked";
}
webPage += "<p>Relay #" + String(relayIndex) + " ( GPIO" + String(pin_relays[relayIndex]) + " ) <input type=\"checkbox\" " + relay_state + " data-role=\"flipswitch\" onchange=\"window.location.href='/?relay=" + String(relayIndex) + "'\"></p>";
}
webPage += "</body></html>";
server.send(200, "text/html", webPage);
}
// handling requests
void handle_root() {
if (server.hasArg("relay")) {
int relayIndex = server.arg("relay").toInt();
digitalWrite(pin_relays[relayIndex], !digitalRead(pin_relays[relayIndex]));
Serial.print("Relay ");
Serial.print(relayIndex);
Serial.print(" state changed to ");
Serial.println(digitalRead(pin_relays[relayIndex]));
}
renderPage();
}
void setup(void){
// preparing GPIOs
for (int relayIndex = 0; relayIndex<sizeof(pin_relays)/sizeof(uint8_t); relayIndex++) {
pinMode(pin_relays[relayIndex], OUTPUT);
digitalWrite(pin_relays[relayIndex], DEFAULT_STATE);
}
//Turn on serial output
delay(1000);
Serial.begin(115200);
WiFi.begin(ssid, password);
Serial.println("");
// Wait for connection
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
// logging to serial output
Serial.println("");
Serial.print("Connected to ");
Serial.println(ssid);
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
// web server setup
server.on("/", handle_root);
server.begin();
Serial.println("HTTP server started");
}
void loop(void){
server.handleClient();
}Amit még megjegyeznék, hogy ez a kód Wemos D1 mini-re készült. Sima ESP8266-on a D1, D2, stb. PIN-ek nincsenek definiálva (csak d1, d1 mini, nodemcu és wifinfo esetén).
Új hozzászólás Aktív témák
- Luck Dragon: Asszociációs játék. :)
- PlayStation 5
- Budapest és környéke adok-veszek-beszélgetek
- Autós topik
- A fociról könnyedén, egy baráti társaságban
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Vigneau interaktív lokálblogja
- Asztalos klub
- Kerékpárosok, bringások ide!
- sziku69: Fűzzük össze a szavakat :)
- További aktív témák...
- Újszerű bivaly Lenovo Thinkpad T16 gen3 (13.gen Core Ultra 7 32Gb DDR5 1 Tb SSD) MAGYAR 30 hó GARI!
- Bivaly Lenovo T14 gen5 (Core Ultra 7 32Gb DDR5 1 Tb SSD) laptopom eladó 30 hónap gyártói garanciával
- Bomba ár! Dell Latitude 3410 - i3-10110U I 8GB I 256SSD I HDMI I 13,3" FHD Touch I Cam I W11 I Gari
- Bomba ár! Dell Latitude E5550 - i5-5GEN I 8GB I 128SSD I 15,6" FHD Touch I HDMI I W10 I Cam I Gari!
- Bomba ár! Dell Latitude E5540 - i5-4GEN I 4GB I 240SSD I Nvidia I 15,6" FHD I Cam I W10 I Garancia!
- Honor Pad X8 / 4/64GB / Wi-Fi / 12 Hó Garancia
- BESZÁMÍTÁS! ASRock B450M R5 3600 16GB DDR4 256GB SSD 2TB HDD RTX 2060 Super 8GB RAMPAGE Shiva 450W
- Bomba ár! HP Probook 440 G10 - i3-1315U I 16GB I 256SSD I 14" FHD I W11 I Cam I Garancia!
- Gamer PC-Számítógép! Csere-Beszámítás! I5 14400F / RTX 3060Ti / 32GB DDR5 / 512GB SSD!
- LG 45GR95QE - 45" Ívelt OLED / 2K WQHD / 240Hz 0.03ms / NVIDIA G-Sync / FreeSync Premium / HDMI 2.1
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
ekkold

