Differences

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

Link to this comparison view

pm:prj2021:apredescu:smart_air_quality_device [2021/06/04 12:11]
rares_stefan.epure [Software design]
pm:prj2021:apredescu:smart_air_quality_device [2021/06/04 14:28] (current)
rares_stefan.epure [Download]
Line 43: Line 43:
 Logica client-server:​ Logica client-server:​
   * Clientul preia datele de pe interfata seriala, prelucreaza datele si le transmite catre server printr-o cerere de tip POST.   * Clientul preia datele de pe interfata seriala, prelucreaza datele si le transmite catre server printr-o cerere de tip POST.
-  * Serverul este implementat in Python pe framework-ul Flask. Primeste datele prin cererea de tip POST si le stocheaza in liste. Pe langa aceasta functionalitate,​ aceste date pot fi achizitionate prin cereri de tip GET pe anumite cai (e.g. "/​pressure",​ "/temp").+  * Serverul este implementat in Python pe framework-ul Flask. Primeste datele prin cererea de tip POST si le stocheaza in liste. Pe langa aceasta functionalitate,​ aceste date pot fi achizitionate prin cereri de tip GET pe anumite cai ("/​pressure",​ "/temperature",​ "/​gas",​ "/​humidity").
  
 Fluxul de dezvoltare a constat intai in testarea componentelor hardware, apoi s-a scris codul, pentru achizitionarea datelor, aferent fiecarui senzor. Dupa ce toate componentele au fost testate si implementate separat, s-a trecut la grupare acestor functionalitati si testarea intregului sistem. Implementarea server-client a fost realizata ulterior, dupa ce functionalitatea de achizitonare de date a fost realizata cu succes. ​ Fluxul de dezvoltare a constat intai in testarea componentelor hardware, apoi s-a scris codul, pentru achizitionarea datelor, aferent fiecarui senzor. Dupa ce toate componentele au fost testate si implementate separat, s-a trecut la grupare acestor functionalitati si testarea intregului sistem. Implementarea server-client a fost realizata ulterior, dupa ce functionalitatea de achizitonare de date a fost realizata cu succes. ​
Line 59: Line 59:
 {{pm:​prj2021:​apredescu:​data_set_values_epure_rares_pm.jpg?​300 | }} {{pm:​prj2021:​apredescu:​data_set_values_epure_rares_pm.jpg?​300 | }}
 ===== Concluzii ===== ===== Concluzii =====
-Proiectul mi-a oferti oportunitatea de a intelege mai bine partea de low level si de a programa un microcontroller. Pe langa partea de software, a fost interesanta conceperea partii hardware, prin creerea unui circuit simplu si prin legarea mai multor componente intre ele. Partea din cadrul proiectului care a necesitat mai multa munca a fost afisarea meniu-ului pe modului LCD, deoarece am incercat sa am mai multe pagini ale meniu-ului (o pagina de start, o pagina de setari si una de afisare a datelor). O alta parte interesanta a fost aceea ca am inteles ​faptul ca senzorii au anumite intarzieri, ceea ce poate produce anumite erori. ​astfel de eroare ​am intalnit cu senzorul de gaz, deoarece clientul nu putea citi date de pe interfata seriala ​datele provenite de la acest server. Dupa introducerea unei mici intarzieri prin functia delay, am putut colectat datele de la acest senzor cu ajutorul client-ului implementat in Python.+Proiectul mi-a oferti oportunitatea de a intelege mai bine partea de low level si de a programa un microcontroller. Pe langa partea de software, a fost interesanta conceperea partii hardware, prin creerea unui circuit simplu si prin legarea mai multor componente intre ele. Partea din cadrul proiectului care a necesitat mai multa munca a fost afisarea meniu-ului pe modului LCD, deoarece am incercat sa am mai multe pagini ale meniu-ului (o pagina de start, o pagina de setari si una de afisare a datelor). O alta parte interesanta a fost aceea ca experimentat ​faptul ca senzorii au anumite intarzieri, ceea ce poate produce anumite erori. ​Am intalnit o astfel de eroare ​la senzorul de gaz, deoarece clientul nu putea citi date de pe interfata seriala. Dupa introducerea unei mici intarzieri prin functia delay, am putut colectat datele de la acest senzor cu ajutorul client-ului implementat in Python.
 ===== Download =====  ===== Download ===== 
 Arhiva contine urmatoarea structura de fisiere: Arhiva contine urmatoarea structura de fisiere:
Line 73: Line 73:
  
 {{pm:​prj2021:​apredescu:​resurse_epure_rares.zip| resurse.zip}} {{pm:​prj2021:​apredescu:​resurse_epure_rares.zip| resurse.zip}}
 +
 +[[https://​youtu.be/​o67sraBXQh4 | Demo]]
 ===== Jurnal ===== ===== Jurnal =====
  
Line 90: Line 92:
  
 [[https://​www.olimex.com/​Products/​Components/​Sensors/​Gas/​SNS-MQ135/​resources/​SNS-MQ135.pdf | MQ135 Datasheet]] [[https://​www.olimex.com/​Products/​Components/​Sensors/​Gas/​SNS-MQ135/​resources/​SNS-MQ135.pdf | MQ135 Datasheet]]
 +
 +[[ https://​ocw.cs.pub.ro/​courses/​pm/​prj2021/​apredescu/​smart_air_quality_device?​do=export_pdf| Pagina in format PDF]]
pm/prj2021/apredescu/smart_air_quality_device.1622797904.txt.gz · Last modified: 2021/06/04 12:11 by rares_stefan.epure
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