This shows you the differences between two versions of the page.
pm:prj2025:ajipa:mihnea_stefan.voicu [2025/05/25 12:24] mihnea_stefan.voicu [Software Design] |
pm:prj2025:ajipa:mihnea_stefan.voicu [2025/05/25 22:00] (current) mihnea_stefan.voicu |
||
---|---|---|---|
Line 20: | Line 20: | ||
Senzorii trimit date către ESP8266 → ESP le afișează pe LCD și le trimite prin Wi-Fi către platformele web → În paralel, ESP primește date de la OpenWeather → Compară valorile locale cu cele externe → Totul este alimentat de baterii, iar rezultatul este vizibil atât local (pe ecran), cât și online (în cloud). | Senzorii trimit date către ESP8266 → ESP le afișează pe LCD și le trimite prin Wi-Fi către platformele web → În paralel, ESP primește date de la OpenWeather → Compară valorile locale cu cele externe → Totul este alimentat de baterii, iar rezultatul este vizibil atât local (pe ecran), cât și online (în cloud). | ||
- | {{:pm:prj2025:ajipa:diagrama_pm.jpg?650x400}} | + | {{:pm:prj2025:ajipa:diagrama_pm_v2.png?650x400}} |
Line 139: | Line 139: | ||
client.stop(); | client.stop(); | ||
}</code> | }</code> | ||
+ | | ||
+ | ==Interacțiunea între funcționalități== | ||
+ | *În loop(), funcționalitățile interacționează în următorul mod: | ||
+ | *Se citesc datele locale; | ||
+ | *Se preiau date externe de pe Internet, exemplu OpenWeather; | ||
+ | *Se afișează toate datele, locale și externe pe ecranul TFT; | ||
+ | *Se trimit datele către serverele cloud; | ||
+ | *Se așteaptă 20 de secunde pentru un nou ciclu de actualizare. | ||
+ | |||
+ | ==Validarea funcționării== | ||
+ | *Validare prin consola serială, sunt afișate în consolă datele citite și URL-urile trimise către servere; | ||
+ | *Validare vizuală prin ecranul TFT, unde datele locale și cele externe sunt afișate distinct pe ecran; | ||
+ | *Validare prin platformele externe, accesând contul ThingSpeak sau Weather Underground, utilizatorul poate vizualiza graficele actualizate în timp real, ceea ce confirmă că datele au fost transmise cu succes. | ||
+ | |||
+ | <html> | ||
+ | <iframe width="800" height="450" | ||
+ | src="https://www.youtube.com//embed/3CEIe9QNAU0" | ||
+ | frameborder="0" | ||
+ | allow="autoplay; encrypted-media" | ||
+ | allowfullscreen> | ||
+ | </iframe> | ||
+ | </html> | ||
+ | |||
+ | |||
+ | ===== Rezultate obținute ===== | ||
+ | |||
+ | În urma implementării și testării proiectului, au fost obținute următoarele rezultate: | ||
+ | *Citirea corectă a datelor locale de la senzorii DHT22 (temperatură și umiditate), BMP280 (presiune atmosferică) și senzorul UV analogic; | ||
+ | *Afișarea pe ecranul TFT a datelor colectate local, alături de datele meteorologice preluate de la serviciul OpenWeather, în format lizibil și structurat; | ||
+ | *Obținerea datelor externe prin conexiune WiFi și API-uri HTTP de la OpenWeatherMap; | ||
+ | *Transmiterea cu succes a datelor către ThingSpeak și Weather Underground; | ||
+ | *Valorile UV pot varia brusc din cauza fluctuațiilor de lumină ambientală, ceea ce poate necesita un algoritm de stabilizare. | ||
+ | |||
+ | |||
+ | ===== Concluzii ===== | ||
+ | |||
+ | În concluzie, proiectul propus demonstrează un sistem funcțional, robust și capabil să furnizeze utilizatorului date meteo complete, combinând surse proprii de măsurare cu informații din surse externe. Interacțiunea dintre componente: ESP8266, senzori, ecran TFT, conexiune WiFi și API-uri externe este bine sincronizată și validată prin teste practice. Acest lucru arată că proiectul este complex din punct de vedere tehnic și poate fi utilizat ca bază pentru proiecte mai avansate sau implementări reale. | ||
+ | |||
+ | |||
+ | ===== Download ===== | ||
+ | |||
+ | [[https://github.com/Mihnea0309/Statie-Meteo-PM|Repository Github - Stație Meteo]] | ||
+ | |||
+ | |||
+ | ===== Bibliografie și resurse ===== | ||
+ | |||
+ | [[https://thesolaruniverse.wordpress.com/2021/05/02/wiring-an-ili9341-spi-tft-display-with-esp8266-based-microcontroller-boards-nodemcu-and-wemos-d1-mini/|Cum se conectează ecranul la ESP8266]] | ||
+ | |||
+ | [[https://openweathermap.org/current|OpenWeather API]] | ||
+ | |||