Situatie
Acest sistem îți salvează culturile (răsadurile, roșiile etc.) de la distrugere. Primești o notificare instantanee pe telefon dacă temperatura scade periculos noaptea (pericol de îngheț) sau dacă solarul depășește o anumită temperatură ziua (nevoie de aerisire).
Solutie
Sistemul folosește un senzor de temperatură și umiditate protejat împotriva condensului, o placă de dezvoltare cu Wi-Fi (sau modem GSM dacă nu ai internet în grădină) și o aplicație gratuită de mesagerie (Telegram) pentru trimiterea alertelor.
Componente Hardware:
- Placă de control: ESP32 (are Wi-Fi integrat de mare distanță)
- Senzor: DHT22 (pentru temperatură și umiditate ambientală) sau SHT31-F (versiune profesională, rezistentă la umiditatea extremă din sere)
- Alimentare: Un încărcător de telefon de 5V și un cablu micro-USB / USB-C lung, plus o baterie externă (Power Bank) ca soluție de rezervă (UPS)
- Carcasă: O doză de derivație IP65 pentru placă, lăsând doar senzorul expus în aerul din seră.
Pasul 1: Conexiunile Hardware
- Senzorii de tip DHT22 sau SHT31 au de regulă 3 sau 4 pini:
VCC,GNDșiDATA - Conectează pinul
VCCal senzorului la pinul3.3Val ESP32 - Conectează pinul
GNDlaGND - Conectează pinul
DATAla un pin digital al ESP32, de exempluGPIO 23. Notă: Dacă folosești un senzor simplu DHT22 brut, pune o rezistență de 10k între VCC și DATA pentru stabilitatea semnalului.
Pasul 2: Configurarea Robotului de Telegram
În loc să construim o aplicație de la zero, folosim Telegram deoarece trimite notificări push instant și este complet gratuit.
- Deschide Telegram pe telefon, caută utilizatorul @BotFather și trimite comanda
/newbot. - Urmează instrucțiunile pentru a-i da un nume (ex: SeraMea_Bot). Vei primi un șir lung numit API Token (notează-l).
- Caută pe Telegram utilizatorul @IDBot (sau @userinfobot) și trimite-i un mesaj pentru a afla ID-ul tău unic de utilizator (Chat ID). Acest ID îi spune robotului exact cui să trimită alertele.
Pasul 3: Logica Scriptului din ESP32
Folosind Arduino IDE, instalăm librăriile
DHT sensor library și UniversalTelegramBot. Logica programului va măsura datele la fiecare 5 minute și le va compara cu limitele de siguranță stabilite de tine.- Citire date: Placa citește temperatura (ex: 4°C) și umiditatea (ex: 85%).
- Verificare praguri:
- Dacă Temperatura < 5°C → Pericol de îngheț!
- Dacă Temperatura > 40°C → Caniculă/Solar blocat!
- Trimitere alertă: Dacă un prag este depășit, ESP32 trimite o cerere HTTP către Telegram.
Pasul 4: Codul de Execuție
Pentru a nu primi 100 de mesaje pe minut, folosim o variabilă de tip “steag” (
alertat) care trimite mesajul o singură dată când se trece de prag, și resetează alerta doar când temperatura revine la normal.cpp
float temp = dht.readTemperature();
float umid = dht.readHumidity();
float PRAG_INGHET = 5.0;
float PRAG_CANICULA = 38.0;
static bool alertaTrimisa = false;
if ((temp <= PRAG_INGHET || temp >= PRAG_CANICULA) && !alertaTrimisa) {
String mesaj = "ATENTIE! Temperatura in sera este de " + String(temp) + "C. Umiditate: " + String(umid) + "%";
bot.sendMessage(CHAT_ID, mesaj, "");
alertaTrimisa = true; // Blochează trimiterea repetată
}
if (temp > (PRAG_INGHET + 2) && temp < (PRAG_CANICULA - 2)) {
alertaTrimisa = false; // Resetează alerta când temperatura revine în parametri siguri
}
Pasul 5: Amplasarea
- Poziționarea senzorului: Nu pune senzorul direct în bătaia soarelui sau pe pământ. Suspendă-l la nivelul frunzelor plantelor, ideal într-o micro-găleată sau cutie de plastic întoarsă invers (cu găuri de aerisire), pentru a-l proteja de razele solare directe care ar falsifica citirea și de picăturile de condens de pe tavanul serei.
- Distanța Wi-Fi: Dacă solarul e departe de casă, poți monta o antenă direcțională la routerul din casă sau poți folosi o placă ESP32 cu mufă pentru antenă externă (ESP32-WROOM-32U).
Leave A Comment?