Green House WiFi

Arduino Uno

#include <Arduino.h> // библиотека для работы с WiFi
#include <SoftwareSerial.h>
#include <OneWire.h>
#include <DallasTemperature.h>
const int oneWireBus = A1;
OneWire oneWire(oneWireBus);
DallasTemperature sensors(&oneWire);
const int oneWireBus2 = A2;
OneWire oneWire2(oneWireBus2);
DallasTemperature sensors2(&oneWire2);
int water = A0;
float temp = 0.0; // текущее значение температуры
float temp2 = 0.0; // текущее значение температуры
SoftwareSerial ESPSerial(2, 3); // TX | RX
const int r1 = 8;
bool workR1 = false;
const int timeWork = 240;
int counterR1 = 0;
void responseTmpFn()
{
  sensors.requestTemperatures();       // считывание значение температуры
  sensors2.requestTemperatures();      // считывание значение температуры
  temp = sensors.getTempCByIndex(0);   // температура в градусах Цельсия
  temp2 = sensors2.getTempCByIndex(0); // температура в градусах Цельсия
  String str = String(temp);
  str += "_";
  str += String(temp2);
  ESPSerial.print(str);
 
}
void timeWorkFn()
{
  counterR1++;
  if (counterR1 > timeWork)
  {
    counterR1 = 0;
    workR1 = false;
    digitalWrite(r1, HIGH);
    ESPSerial.print("r1off_true");
  }
}
void setup()
{
  Serial.begin(9600); // Объявляем работу com порта со скоростью 9600
  ESPSerial.begin(57600);
  pinMode(r1, OUTPUT);
  digitalWrite(r1, HIGH);
}
void loop()
{
  if (ESPSerial.available() > 0)
  {
    String data = "";
    data = ESPSerial.readString();
    Serial.println(data);
    if (data == "r1on")
    {
      workR1 = true;
      digitalWrite(r1, LOW);
      ESPSerial.print("r1on_true");
    }
    if (data == "r1off")
    {
      workR1 = false;
      digitalWrite(r1, HIGH);
      ESPSerial.print("r1off_true");
    }
    if (data == "temp")
    {
      responseTmpFn();
    }
    if (data == "water")
    {
      ESPSerial.print(analogRead(water));
    }
  }
  if (workR1)
  {
    timeWorkFn();
  }
  delay(1000);
}


ESP

#include <Arduino.h>
#include <FastBot.h>
#include <SoftwareSerial.h>
#define WIFI_SSID "5G-UFI"
#define WIFI_PASS "16011601"
#define BOT_TOKEN "8151982156:AAG9eWCq7p6Us_o0m1ZSev2t6RkyqVMDHz8"
String isAdmin = "5367701794";
FastBot bot(BOT_TOKEN);
SoftwareSerial ESPSerial(2, 0);
void connectWiFi()
{
    delay(2000);
    Serial.println();
    WiFi.begin(WIFI_SSID, WIFI_PASS);
    while (WiFi.status() != WL_CONNECTED)
    {
        delay(500);
        Serial.print(".");
        if (millis() > 15000)
            ESP.restart();
    }
    Serial.println("Connected");
}
// обработчик сообщений
void newMsg(FB_msg &msg)
{
    if (msg.text == "/r1on")
    {
        ESPSerial.print("r1on");
    }
    if (msg.text == "/r1off")
    {
        ESPSerial.print("r1off");
    }
    if (msg.text == "/temp")
    {
        ESPSerial.print("temp");
    }
    if (msg.text == "/water")
    {
        ESPSerial.print("water");
    }
}
void setup()
{
    Serial.begin(9600);
    connectWiFi();
    bot.attach(newMsg);
    bot.sendMessage("Включение WiFi теплицы", isAdmin);
    ESPSerial.begin(57600);
}
void loop()
{
    bot.tick();
    if (ESPSerial.available() > 0)
    {
        String data = "";
        data = ESPSerial.readString();
        if (data == "r1on_true")
        {
            bot.sendMessage("Полив теплицы включен", isAdmin);
        }
        else if (data == "r1off_true")
        {
            bot.sendMessage("Полив теплицы вЫключен", isAdmin);
        }
        else
        {
            bot.sendMessage(data, isAdmin);
        }
    }
    delay(1000);
}