This shows you the differences between two versions of the page.
|
pm:prj2026:ciprian.popescu0411:tudor.robu [2026/05/06 14:30] tudor.robu created |
pm:prj2026:ciprian.popescu0411:tudor.robu [2026/05/09 23:12] (current) tudor.robu |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Server Watchdog ====== | + | ====== Server Room Guardian ====== |
| + | == Robu Tudor-Sebastian == | ||
| ===== Introducere ===== | ===== Introducere ===== | ||
| - | <note tip> | + | Server Room Guardian este un sistem embedded de monitorizare și control pentru infrastructura personală de acasă, construit în jurul unui microcontroller ATmega328P-XMINI și al unui modul WiFi ESP8266 pe placă NodeMCU V2. |
| - | Prezentarea pe scurt a proiectului vostru: | + | |
| - | * ce face | + | Proiectul monitorizează periodic temperatura și umiditatea din carcasa/server rack-ul în care se află Raspberry Pi-ul și trimite aceste date către un VPS personal. În același timp, sistemul verifică dacă pe server există comenzi noi, cum ar fi pornirea sau oprirea Raspberry Pi-ului. |
| - | * care este scopul lui | + | |
| - | * care a fost ideea de la care aţi pornit | + | Feedback-ul local este oferit prin LED-uri, astfel încât starea sistemului să fie vizibilă imediat: |
| - | * de ce credeţi că este util pentru alţii şi pentru voi | + | * Raspberry Pi online sau offline; |
| - | </note> | + | * temperatură normală sau critică; |
| + | * comunicare activă cu serverul; | ||
| + | * stare de eroare sau avertizare. | ||
| + | |||
| + | Ideea proiectului a pornit de la nevoia de a supraveghea de la distanță infrastructura personală de acasă, în special un Raspberry Pi folosit ca server. În utilizarea zilnică, pot apărea situații în care temperatura din carcasă crește prea mult, conexiunea se pierde sau Raspberry Pi-ul trebuie repornit fără acces fizic direct. | ||
| + | |||
| + | Sistemul este util deoarece permite: | ||
| + | * monitorizarea condițiilor de funcționare ale serverului; | ||
| + | * detectarea rapidă a unei temperaturi critice; | ||
| + | * controlul de la distanță al alimentării Raspberry Pi-ului; | ||
| + | * feedback vizual local prin LED-uri; | ||
| + | * integrarea cu un VPS personal pentru logare și comenzi remote. | ||
| + | * | ||
| ===== Descriere generală ===== | ===== Descriere generală ===== | ||
| - | <note tip> | + | Sistemul este împărțit în două componente principale: partea hardware locală, aflată lângă Raspberry Pi, și partea software/server, aflată pe un VPS personal. |
| - | O schemă bloc cu toate modulele proiectului vostru, atât software cât şi hardware însoţită de o descriere a acestora precum şi a modului în care interacţionează. | + | |
| - | Exemplu de schemă bloc: http://www.robs-projects.com/mp3proj/newplayer.html | + | Partea locală este formată din microcontrollerul ATmega328P-XMINI, modulul ESP8266 NodeMCU V2, senzorul de temperatură și umiditate, LED-urile de stare și circuitul de comandă pentru alimentarea Raspberry Pi-ului. Microcontrollerul citește periodic valorile de temperatură și umiditate, interpretează starea sistemului și comandă LED-urile. Pentru conectarea la Internet, acesta comunică prin USART cu modulul ESP8266. |
| - | </note> | + | |
| + | Modulul ESP8266 are rolul de interfață WiFi. Acesta transmite datele către VPS și verifică dacă există comenzi noi. Comenzile primite de la server sunt trimise către ATmega328P, care decide dacă trebuie pornit sau oprit Raspberry Pi-ul. | ||
| + | |||
| + | <code> | ||
| + | +-----------------------------+ | ||
| + | | VPS Personal | | ||
| + | |-----------------------------| | ||
| + | | - primește temperatură | | ||
| + | | - primește umiditate | | ||
| + | | - salvează/loghează date | | ||
| + | | - expune comenzi remote | | ||
| + | +--------------^--------------+ | ||
| + | | | ||
| + | | WiFi / HTTP | ||
| + | | | ||
| + | +--------------v--------------+ | ||
| + | | ESP8266 NodeMCU V2 | | ||
| + | |-----------------------------| | ||
| + | | - conexiune WiFi | | ||
| + | | - comunicare cu VPS | | ||
| + | | - trimite date măsurate | | ||
| + | | - primește comenzi | | ||
| + | +--------------^--------------+ | ||
| + | | | ||
| + | | USART | ||
| + | | | ||
| + | +--------------v--------------+ | ||
| + | | ATmega328P-XMINI | | ||
| + | |-----------------------------| | ||
| + | | - logica principală | | ||
| + | | - timere pentru citiri | | ||
| + | | - interpretare comenzi | | ||
| + | | - comandă LED-uri | | ||
| + | | - comandă alimentare RPi | | ||
| + | +-------^-----------^---------+ | ||
| + | | | | ||
| + | | | | ||
| + | | +-----------------------------+ | ||
| + | | | | ||
| + | +-------v--------+ +---------v----------+ | ||
| + | | Senzor temp. | | Circuit control | | ||
| + | | și umiditate | | alimentare RPi | | ||
| + | | AM2302/DHT22 | | MOSFET/Optocuplor | | ||
| + | +----------------+ +---------+----------+ | ||
| + | | | ||
| + | | | ||
| + | +----------v----------+ | ||
| + | | Raspberry Pi | | ||
| + | |---------------------| | ||
| + | | - server personal | | ||
| + | | - pornire/oprire | | ||
| + | +---------------------+ | ||
| + | |||
| + | </code> | ||
| + | |||
| + | Fluxul principal de funcționare este următorul: | ||
| + | |||
| + | - ATmega328P pornește și inițializează perifericele: USART, timere, pini GPIO și eventual ADC/PWM. | ||
| + | - Senzorul de temperatură și umiditate este citit periodic. | ||
| + | - Valorile sunt trimise prin USART către ESP8266. | ||
| + | - ESP8266 trimite datele către VPS prin WiFi. | ||
| + | - VPS-ul salvează datele și poate furniza o comandă nouă. | ||
| + | - ESP8266 primește comanda și o transmite către ATmega328P. | ||
| + | - ATmega328P execută acțiunea cerută: pornire/oprire Raspberry Pi sau actualizare stare. | ||
| + | - LED-urile sunt actualizate în funcție de starea Raspberry Pi-ului și de temperatura măsurată. | ||
| ===== Hardware Design ===== | ===== Hardware Design ===== | ||
| - | <note tip> | + | Componentele hardware folosite în proiect sunt: |
| - | Aici puneţi tot ce ţine de hardware design: | + | |
| - | * listă de piese | + | ^ Nr. ^ Componentă ^ Rol în proiect ^ |
| - | * scheme electrice (se pot lua şi de pe Internet şi din datasheet-uri, e.g. http://www.captain.at/electronic-atmega16-mmc-schematic.png) | + | | 1 | ATmega328P-XMINI | Microcontroller principal; controlează logica sistemului, citește senzorii și comandă ieșirile | |
| - | * diagrame de semnal | + | | 2 | ESP8266 NodeMCU V2 | Modul WiFi folosit pentru comunicarea cu VPS-ul personal | |
| - | * rezultatele simulării | + | | 3 | Senzor temperatură și umiditate AM2302 | Măsoară temperatura și umiditatea din carcasa serverului | |
| - | </note> | + | | 4 | LED-uri | Feedback vizual pentru starea Raspberry Pi-ului și temperatura sistemului | |
| + | | 5 | Rezistențe 220Ω | Limitarea curentului | | ||
| + | | 6 | MOSFET sau optocuplor | Controlul fizic al alimentării/pornirii/opririi Raspberry Pi-ului | | ||
| + | | 7 | Breadboard | | ||
| + | | 8 | Fire jumper | | ||
| + | | 9 | Sursă de alimentare (3.3V) | | ||
| + | | 10 | Raspberry Pi | | ||
| ===== Software Design ===== | ===== Software Design ===== | ||