Differences

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

Link to this comparison view

pm:prj2021:amocanu:inspectorpm [2021/06/02 11:05]
costin.ghiban [Hardware Design]
pm:prj2021:amocanu:inspectorpm [2021/06/02 23:13] (current)
costin.ghiban [Rezultate obținute]
Line 28: Line 28:
 Schema electrică: Schema electrică:
  
-{{:​pm:​prj2021:​amocanu:​inspectorpm_schema_electrica.png?​800|}}+{{:​pm:​prj2021:​amocanu:​inspectorpm_schema_electrica.png?​750|}}
 ====Software Design==== ====Software Design====
 +Senzorul de praf realizează o nouă măsurătoare la fiecare 10ms. Cu ajutorul unor variabile contor calculez o medie pe oră a valorilor transformate din Volți în µg/m³ (densitatea de praf) și o medie pe zi. Pentru a facilita testarea și prezentarea rezultatelor,​ am redus durata de calculare a mediei de 1000 de ori.
 +
 +  - Funcția ''​void printVo(float Vo)''​ implementează procesarea măsurătorilor și transmiterea lor pe serială:
 +    * Parametrul funcției reprezintă semnalul primit pe pinul analogic A5 transformat în Volți. ​
 +    * Din acesta este scăzută o valoare de referință,​ considerată a fi valoarea citită de senzor în condiții ideale, de 0 particule de praf în aer. Această valoare de referință am stabilit-o adjustând măsuratorile senzorului cu cele ale unor stații publice de monitorizare a calității aerului, precum [[http://​aerlive.ro|]]. ​
 +    * Rezultatul obținut se împarte la sensibilitatea măsurătorii,​ constantă setată în program, și apoi înmulțește cu 1000.
 +    * La fiecare 360 de măsurători se calculează media pe oră (360000 pentru o oră reală) și la 24 de astfel de medii, media pe zi.
 +  - Pentru comunicarea prin Bluetooth am folosit biblioteca SoftwareSerial.h
 +    * Comenzile acceptate momentan de sistem sunt '​v',​ pentru afișare „verbose”,​ detaliată, și '​n'​ pentru afișarea strict a mediilor.
 +  - Script-ul Python care însoțește proiectul realizează conectarea la modulul Bluetooth, folosind adresa MAC a acestuia, inclusă în program, recepționarea datelor pe oră și pe zi (cu aceeași mențiune legată de timpul virtual vs. real), prelucrarea lor și afișarea a două grafice relevante cu ajutorul bibliotecii matplotlib. Programul primește date într-o buclă infinită, oprirea măsurătorii făcându-se prin transmiterea unui semnal SIGINT/​KeyboardInterrupt.
 +<note important>​Modulul Bluetooth trebuie asociat dispozitivului pe care se rulează scriptul în prealabil, altfel conexiunea va eșua.</​note>​
 +<note tip>​Pentru comunicarea prin intermediul telefonului mobil se poate folosi o aplicație de tipul Terminal for Bluetooth, ca
 +[[https://​play.google.com/​store/​apps/​details?​id=de.kai_morich.serial_usb_terminal&​hl=en&​gl=US]] ​
 +pentru Android sau
 +[[https://​apps.apple.com/​us/​app/​bluetooth-terminal/​id1058693037]] ​
 +pentru iOS.</​note>​
 ====Rezultate obținute==== ====Rezultate obținute====
 +
 +{{:​pm:​prj2021:​amocanu:​inspectorpm_hourly_average_graph.png?​500|Media măsurătorilor pe oră}}
 +
 +{{:​pm:​prj2021:​amocanu:​inspector_daily_average_graph.png?​500|Media măsurătorilor pe zi}}
 +
 +{{:​pm:​prj2021:​amocanu:​inspectorpm_beginning.jpg?​500|How it started}}
 +
 +{{:​pm:​prj2021:​amocanu:​inspectorpm_ending.jpeg?​500|How it goes}}
 +
 +{{:​pm:​prj2021:​amocanu:​inspectorpm_mobile_bluetooth.jpg?​500|}}
 +
 +[[https://​youtu.be/​5Aph0dWvy5E|Demo]]
 +
 ====Concluzii==== ====Concluzii====
-====Download====+Trecând peste dificultățile hardware întâmpinate în conectarea părților componente ale stației, proiectul mi-a stimulat imaginația și mi-a oferit șansa de experimenta ce înseamnă lumea IoT. A fost o experiență plăcută și interesantă și plănuiesc ca pe viitor să duc mai departe proiectul prin adăugarea altor senzori relevanți și dezvoltarea unei platforme mai prietenoase.
 ====Bibliografie/​Resurse==== ====Bibliografie/​Resurse====
-{{:​pm:​prj2021:​amocanu:​inspector_pm.pdf|Inspector PM}}+{{:​pm:​prj2021:​amocanu:​inspectorpm_hc-serial-bluetooth-module-datasheet.pdf|HC-05 Datasheet}} 
 + 
 +[[https://​github.com/​GhibanCostin/​InspectorPM|Github Repository pentru codul sursă]] 
 + 
 +{{:​pm:​prj2021:​amocanu:​inspector_pm.pdf|InspectorPM pdf}}
pm/prj2021/amocanu/inspectorpm.1622621103.txt.gz · Last modified: 2021/06/02 11:05 by costin.ghiban
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