Artem_ARM
New member
Приветствую коллеги!)
Только начал изучать всё что связано с arduino и ESP тд.)
Помигал светодиодом по управлял реле через веб.
Сейчас есть потребность совместить два скетча для esp8266 nodemcu в один.
Первый скетч отправляет данные температуры на сайт второй просто управляет одним реле вкл/выкл.
Пожалуйста помогите.
Заранее спасибо.
Отправка температуры.
Управление реле через веб.
Понимаю, что для профи тут делов тут на 5 минут но это пока не про меня.
Только начал изучать всё что связано с arduino и ESP тд.)
Помигал светодиодом по управлял реле через веб.
Сейчас есть потребность совместить два скетча для esp8266 nodemcu в один.
Первый скетч отправляет данные температуры на сайт второй просто управляет одним реле вкл/выкл.
Пожалуйста помогите.
Заранее спасибо.
Отправка температуры.
Код:
#include <ESP8266HTTPClient.h>
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS D2
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
char ssid[] = "xxx"; // Название WiFi сети
char pass[] = "xxx"; // Пароль к WiFi сети
void setup () {
Serial.begin(115200);
WiFi.begin(ssid, pass);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting..");
}
sensors.begin();
}
void loop() {
sendTemps();
delay(60000); //Send a request every 30 seconds
}
void sendTemps()
{
sensors.requestTemperatures();
float temp1 = sensors.getTempCByIndex(0);
float temp2 = sensors.getTempCByIndex(1);
float temp3 = sensors.getTempCByIndex(2);
float temp4 = sensors.getTempCByIndex(3);
char str[200];
sprintf (str, "Temperatures: t1:%.2f, t2:%.2f, t3:%.2f, t4:%.2f", temp1, temp2, temp3, temp4);
Serial.println(str);
if (WiFi.status() == WL_CONNECTED) {
char url[200];
sprintf (url, "http:xxxxx/?t1=%.2f&t2=%.2f&t3=%.2f&t4=%.2f", temp1, temp2, temp3, temp4);
Serial.println(url);
HTTPClient http;
http.begin(url);
int httpCode = http.GET(); //Send the request
if (httpCode > 0) {
String payload = http.getString();
Serial.println("Sent to server, response: " + payload);
}
else {
Serial.println("http status: " + httpCode);
}
http.end(); //Close connection
}
else {
Serial.print("not connected");
}
}
Код:
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include <ESP8266mDNS.h>
#define ledPin 5
char ssid[] = "xxxx"; // Название WiFi сети
char pass[] = "xxxxxxx"; // Пароль к WiFi сети
ESP8266WebServer server(80);
void setup() {
Serial.begin(115200);
delay(10);
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, 0);
// Connect to WiFi network
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
// Print the IP address
Serial.println(WiFi.localIP());
server.on("/", [](){
server.send(200, "text/html", webPage());
});
server.on("/ledPinOn", [](){
digitalWrite(ledPin, 1);
server.send(200, "text/html", webPage());
delay(100);
});
server.on("/ledPinOff", [](){
digitalWrite(ledPin, 0);
server.send(200, "text/html", webPage());
delay(100);
});
server.begin();
Serial.println("HTTP server started");
}
void loop(void){
server.handleClient();
}
String webPage()
{
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;\">LED ON/OFF</h1><div>";
if (digitalRead(ledPin) == 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=\"ledPinOn\"><button>ON</button></a> <a href=\"ledPinOff\"><button>OFF</button></a></div>";
// ========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);
}