Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2022:sionescu:homemonitoringsystem [2022/05/10 14:16]
eduard.mieila
pm:prj2022:sionescu:homemonitoringsystem [2022/05/24 11:21] (current)
eduard.mieila [Home Monitoring System]
Line 1: Line 1:
 ====== Home Monitoring System ====== ====== Home Monitoring System ======
-MIEILĂ Eduard-Robert +<note tip>​[[eduard.mieila@stud.acs.upb.ro|MIEILĂ Eduard-Robert]] \\ 333CA</​note>​ 
-333CA+
 ===== Introducere ===== ===== Introducere =====
  
-Dispozitiv ​ce măsoară temperatura,​ umiditatea, cantitatea de lumina ​din casa, detectează mișcări. Se poate activa o alarmă pentru mișcare și se pot aprinde leduri de semnalizare. Controlul și vizualizarea datelor se realizează prin platforma Blynk, via WiFi.+Home Monitoring System este un dispozitiv ​ce măsoară temperatura,​ umiditatea, cantitatea de lumină ​din casă și detectează mișcări. Se poate activa o alarmă pentru mișcare și se pot aprinde leduri de semnalizare. Controlul și vizualizarea datelor se realizează prin platforma Blynk, via WiFi
 + 
 +Tot prin aplicația Blynk vom putea urmări grafice pentru a vedea cum a variat temperatura sau umiditatea din casa. Toată interacțiunea utilizatorului cu dispozitivul se va realiza printr-un dispozitiv mobil.
  
 ===== Descriere generală ===== ===== Descriere generală =====
  
-{{:pm:​prj2022:​sionescu:​mieila_er-blockdg-proj-pm.png?​600|}}+Proiectul folosește un NodeMCU cu ESP8266. Acesta este împărțit în 2 module: 
 +  * Modulul central ce conține NodeMCU, LED-urile, Buzzerul și senzorul de temperatura/​umiditate 
 +  * Modulul auxiliar ce conține senzorul de mișcare și fotorezistorul utilizat pentru măsurarea intensității luminii
  
 +Sistemul extrage date de la senzorul de temperatură/​umiditate,​ senzorul de mișcare și de la fotorezistor și le trimite către platforma Blynk de 10 ori pe secundă(conform recomandărilor Blynk IoT). Dacă sunt activate notificările de mișcare sau alarma din aplicație, atunci se vor transmite mesajele necesare către utilizator și se va porni buzzer-ul/​LED-ul albastru. Tot în cadrul aplicației vom avea și LED-uri digitale ce vor arăta dacă senzorul PIR a detectat mișcare sau daca fotorezistorul înregistrează o valoare peste un anumit prag setat in cod.
  
 +Alarma se declanșează dacă senzorul de mișcare are 2 activări consecutive în mai puțin de 15 secunde pentru a evita rezultate fals-pozitive.
 +
 +**Diagrama bloc a proiectului:​**
 +{{ :​pm:​prj2022:​sionescu:​mieila_er-blockdg-proj-pm.png?​600 |}}
 ===== Hardware Design ===== ===== Hardware Design =====
 Componente necesare: Componente necesare:
Line 22: Line 31:
   * 1 x Buzzer Activ   * 1 x Buzzer Activ
   * Fire/​Rezistențe/​Conectori/​Cablaj de test/​Cutii-carcase   * Fire/​Rezistențe/​Conectori/​Cablaj de test/​Cutii-carcase
 +
 +**Schema electrică:​**
 +{{ :​pm:​prj2022:​sionescu:​mieila_er-schematic-proj-pm.png?​600 |}}
  
 ===== Software Design ===== ===== Software Design =====
  
 +Pentru programarea plăcii NodeMCU am folosit Arduino IDE si API-ul Blynk.
 +
 +În faza de setup vom seta LED-ul albastru de semnalizare pe ON pentru a marca faptul ca device-ul bootează. Se inițializeză variabilele pentru măsurarea timpului, apoi senzorul DHT22, se realizează conexiunea cu serverul Blynk, se activează un timer pentru trimterea datelor în aplicație și se seteaza modul pinilor de I/O. La final, vom activa buzzer-ul pentru a anunța că dispozitivul a terminat procesul de pornire și stingem LED-ul albastru.
 +
 +În cod vom regăsi mai multe funcții de tipul BLYNK_WRITE(VIRTUAL_PIN) (detalii despre această funcție se pot găsi [[https://​docs.blynk.io/​en/​getting-started/​using-virtual-pins-to-control-physical-devices|aici]]) pentru butoanele din aplicație ce vor controla:
 +  * Alarma
 +  * Buzzer-ul
 +  * Notificările de mișcare
 +Aceste funcții vor modifica variabile de stare ce sunt folosite în funcția loop.
 +
 +Funcția loop funcționează după următorul scenariu:
 +  - Rulează instrucțiunile Blynk
 +  - Rulează timerul ce trimite date către Blynk
 +  - Verifică dacă senzorul PIR a detectat mișcare
 +    - Verifică dacă această mișcare este a doua în ultimele 15 secunde
 +       * În caz afirmativ se verifică daca trebuie să se trimită notificări către utilizator și dacă trebuie să se activeze alarma
 +       * În caz negativ doar va activa LED-ul virtual din aplicație și va actualiza timpul ultimei mișcări.
 +  - Dacă nu s-a detectat o nouă mișcare, setează toate variabilele de mișcare pe LOW.
 +
 +Controlul LED-ului albastru se realizează direct prin Blynk. Tot prin Blynk se setează și culoarea LED-ului RGB.
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
 +Interfața aplicației create în Blynk(de la stânga la dreapta: ecran simplu, ecran cu notificare de mișcare și ecran cu butoane active):
 +{{ :​pm:​prj2022:​sionescu:​mieila_er-blynk-screen.jpg?​600 |}}
  
-===== Concluzii =====+Proiectul final: 
 +{{ :​pm:​prj2022:​sionescu:​mieila_er-proj-asamblat.jpg?​600 |}}
  
 +Asamblarea proiectului:​
 +{{ :​pm:​prj2022:​sionescu:​mieila_er-proj-dezasamblat.jpg?​600 |}}
 +===== Concluzii =====
 +Construcția dispozitivului a pornit în vară, ca un proiect personal, de la ideea unui senzor de temperatură și de mișcare pentru casă, ulterior dovedindu-se util și pentru alte situații(verificarea statusului unui bec din casă/a mișcării dintr-o anumită încăpere) prin continuarea proiectului. Acesta a fost dezvoltat mai departe pentru PM și va continua să fie îmbunătățit pe parcurs.
 ===== Download ===== ===== Download =====
 +{{:​pm:​prj2022:​sionescu:​mieila_er-bucharestesp-homemonitoringsystem-schematic.pdf|Schematic Proiect - PDF}}
  
 +{{:​pm:​prj2022:​sionescu:​mieila_er-bucharestesp-homemonitoringsystem-publish.zip|Cod sursă - Home Monitoring System}}
 ===== Jurnal ===== ===== Jurnal =====
 +  * **septembrie 2021** - Idee inițială\\
 +  * **octombrie 2021** - Construcția primului model\\
 +  * **18 aprilie 2022** - Alegere proiect PM + Ideea îmbunătățirii\\
 +  * **10 mai 2022** - Milestone 1 - Început documentație\\
 +  * **19 mai 2022** - Finalizare construcție proiect\\
 +  * **24 mai 2022** - Finalizare documentație\\
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
 +[[https://​docs.blynk.io/​|Documentație Blynk IoT]]\\
 +[[https://​nodemcu.readthedocs.io/​en/​release/​|Documentație NodeMCU]]\\
 +[[https://​www.arduino.cc/​en/​software|Arduino IDE]]\\
 +
  
 <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​ <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​
  
pm/prj2022/sionescu/homemonitoringsystem.1652181419.txt.gz · Last modified: 2022/05/10 14:16 by eduard.mieila
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0