Здравствуйте, помогите советом имеется ESP8266 три датчика температуры 18b20, и 4 реле, благодаря ютубу не знаю можно или нельзя вкладывать ссылки но оно вот () немного подредактировал скетч, сделал проброс портов роутере занеся мой ESP в DMZ и сейчас всё работает, но Вопрос как установить пароль входа на моё ESP ? а то любой набравший мой ip может творить что угодно и посмотрите скетч мне кажется он оооочень корявенький периодически слетают датчики . Спасибо
Здравствуйте, помогите советом имеется ESP8266 три датчика температуры 18b20, и 4 реле, благодаря ютубу не знаю можно или нельзя вкладывать ссылки но оно вот ( ) немного подредактировал скетч, сделал проброс портов роутере занеся мой ESP в DMZ и сейчас всё работает, но Вопрос как установить пароль входа на моё ESP ? а то любой набравший мой ip может творить что угодно и посмотрите скетч мне кажется он оооочень корявенький периодически слетают датчики . Спасибо Код (C++): #include <ESP8266WiFi.h> #include <WiFiClient.h> #include <ESP8266WebServer.h> #include <ESP8266mDNS.h> #include <OneWire.h> #include <DallasTemperature.h> #define ONE_WIRE_BUS 14 #define ONE_WIRE_BUS 13 #define ONE_WIRE_BUS 12 OneWire oneWire(ONE_WIRE_BUS); DallasTemperature sensors(&oneWire); MDNSResponder mdns; // Wi-Fi const char* ssid = "TP-LINK_A70AF6"; const char* password = "xxxxxx"; byte arduino_mac[] = { 0xDE, 0xED, 0xBA, 0xFE, 0xFE, 0xED }; IPAddress ip(192,168,1,35); IPAddress gateway(192,168,1,1); IPAddress subnet(255,255,255,0); ESP8266WebServer server(80); int D0_pin = 16; int D1_pin = 5; void setup(void){ // preparing GPIOs pinMode(D0_pin, OUTPUT); digitalWrite(D0_pin, LOW); pinMode(D1_pin, OUTPUT); digitalWrite(D1_pin, LOW); sensors.begin(); delay(100); Serial.begin(115200); WiFi.begin(ssid, password); WiFi.config(ip, gateway, subnet); Serial.println(""); // 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()); if (mdns.begin("esp8266", WiFi.localIP())) { Serial.println("MDNS responder started"); } //+++++++++++++++++++++++ START LED-1 ++++++++++++++++++++ server.on("/", [](){ server.send(200, "text/html", webPage()); }); server.on("/socket1On", [](){ digitalWrite(D0_pin, HIGH); 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-3 ++++++++++++++++++++ server.on("/socket3On", [](){ digitalWrite(D1_pin, HIGH); server.send(200, "text/html", webPage()); delay(100); }); server.on("/socket3Off", [](){ digitalWrite(D1_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() { sensors.requestTemperatures(); byte temperature = 0; byte humidity = 0; String web; web += "<head><meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/> <meta charset=\"utf-8\"><title>ESP 8266</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 Server HOME</h1><div>"; //++++++++++ LED-1 +++++++++++++ web += "<p style=\"text-align: center;margin-top: 0px;margin-bottom: 5px;\">----KOTEL----</p>"; if (digitalRead(D0_pin) == 1) { web += "<div style=\"text-align: center;width: 98px;color:white ;padding: 10px 30px;background-color: #43a209;margin: 0 auto;\">ON</div>"; } else { web += "<div style=\"text-align: center;width: 98px;color:white ;padding: 10px 30px;background-color: #ec1212;margin: 0 auto;\">OFF</div>"; } web += "<div style=\"text-align: center;margin: 5px 0px;\"> <a href=\"socket1On\"><button>ON</button></a> <a href=\"socket1Off\"><button>OFF</button></a></div>"; // ++++++++ LED-1 +++++++++++++ //++++++++++ LED-3 +++++++++++++ web += "<p style=\"text-align: center;margin-top: 0px;margin-bottom: 5px;\">----TEN2----</p>"; if (digitalRead(D1_pin) == 1) { web += "<div style=\"text-align: center;width: 98px;color:white ;padding: 10px 30px;background-color: #43a209;margin: 0 auto;\">ON</div>"; } else { web += "<div style=\"text-align: center;width: 98px;color:white ;padding: 10px 30px;background-color: #ec1212;margin: 0 auto;\">OFF</div>"; } web += "<div style=\"text-align: center;margin: 5px 0px;\"> <a href=\"socket3On\"><button>ON</button></a> <a href=\"socket3Off\"><button>OFF</button></a></div>"; // ++++++++ LED-3 +++++++++++++ //++++++++++ temp DOM +++++++++++++ web += "<p style=\"text-align: center;margin-top: 0px;margin-bottom: 5px;\">----T KOTLA----</p>"; web += "<div style=\"text-align: center;width: 98px;color:white ;padding: 10px 30px;background-color: #5191e4;margin: 0 auto;\">"+ String(sensors.getTempCByIndex(0))+"</div>"; // ++++++++ DS18B20 TEMP +++++++++++++ //++++++++++ temp ULICA +++++++++++++ web += "<p style=\"text-align: center;margin-top: 0px;margin-bottom: 5px;\">----T DOMA----</p>"; web += "<div style=\"text-align: center;width: 98px;color:white ;padding: 10px 30px;background-color: #5191e4;margin: 0 auto;\">"+ String(sensors.getTempCByIndex(1))+"</div>"; // ++++++++ DS18B20 TEMP +++++++++++++ //++++++++++ temp ULICA +++++++++++++ web += "<p style=\"text-align: center;margin-top: 0px;margin-bottom: 5px;\">----T ULICA----</p>"; web += "<div style=\"text-align: center;width: 98px;color:white ;padding: 10px 30px;background-color: #5191e4;margin: 0 auto;\">"+ String(sensors.getTempCByIndex(2))+"</div>"; // ++++++++ DS18B20 TEMP +++++++++++++ // ========REFRESH============= web += "<div style=\"text-align:center;margin-top: 20px;\"><a href=\"/\"><button style=\"width:158px;\">REFRESH</button></a></div>"; // ========REFRESH============= web += "</div>"; return(web); }
Вас интересует пароль для доступа к веб-странице? Как вариант - Basic-авторизация: https://en.wikipedia.org/wiki/Basic_access_authentication http://samag.ru/archive/article/1631 Ну и кучу других статей по этой теме.
Спасибо, я читал, но в силу своей необразованности, так и не смог реализовать на конкретном примере, что писать как писать необходимо ли подключать библиотеки, может есть какой то пример реализации оного
Загрузите Blynk. " это как раз для тупых для тех кому некогда. Код (C++): /************************************************************* This example runs directly on ESP8266 chip. Note: This requires ESP8266 support package: Change WiFi ssid, pass, and Blynk auth token to run :) Feel free to apply it to any other example. It's simple! Скомпилено! *************************************************************/ #define BLYNK_PRINT Serial #include <ESP8266WiFi.h> #include <BlynkSimpleEsp8266.h> char auth[] = "Ваш токен"; //Токен char ssid[] = "Sky Line"; //имя сети char pass[] = "222222222"; //пароль void setup() { Serial.begin(9600); Blynk.begin(auth, ssid, pass); } void loop() { Blynk.run(); } Вешь реально мощная и красивая!
Можно пример скетча или ссылку на непочитать а скопировать на готовый пример организации входа в esp по паролю и какие необходимы библиотеки. Спасибо, блинк поставил работает, но всетаки хотелось бы реализовать своё