Korisnički alati

Site alati


2017:studenti:aoreskovic:projektni_zadatak

Razlike

Slijede razlike između dviju inačica stranice

Poveznica na ovu usporedbu

2017:studenti:aoreskovic:projektni_zadatak [2017/06/28 20:34]
aoreskovic [Moja uloga na projektu]
2017:studenti:aoreskovic:projektni_zadatak [2023/06/19 18:11]
Redak 1: Redak 1:
-====== Svrha projekta ====== 
- 
-Svrha projekta je povećati kvalitetu boravka u prostoriji, svim ljudima koji se u njoj nalaze. 
- 
-====== Korisnici projekta ====== 
- 
-Svi stanari kuće, stana, ili korisnici nekog poslovnog prostora. 
- 
-====== Ciljevi projekta ====== 
- 
-1) Ostvariti sustav ambijentalnih senzora u svrhu poboljšanja ugode u prostoriji. 
- 
-  * Praćenje vrijednosti temperature,​ vlažnosti zraka, buke, tlaka i osvjetljenja u prostoriji 
-  * Unos željenih vrijednosti preko prilagođenog korisničkog sučelja s povratnim informacijama 
-  * Regulacija stanja u prostoriji na temelju unesenih preferenci korisnika i vrijednosti senzora 
-  * Implementacija aktuatora za temperaturu,​ buku i svjetlost, simbolički predstavljene LED diodama 
-  * Mogućnost praćenja trenutnih iznosa mjerenih vrijednosti preko web preglednika 
- 
-2) Ostvariti izračun PPD i PMV vrijednosti na temelju očitanih vrijednosti sa senzora te prikazati rezultat na korisničkom sučelju 
- 
-====== Resursi ====== 
- 
-Sustav je ostvaren na Arduino platformi (Arduino Mega 2560). Za mjerenje fizikalnih veličina korištena su tri senzorska modula: 
- 
-  * senzor za temperaturu,​ vlagu i tlak BME280 - korištena I2C komunikacija prema Arduinu 
-  * senzor za buku MAX4466 - uređaj se s Arduinom jednostavno spaja pomoću tri priključka:​ OUT, GND i VCC, OUT priključak se spaja na jedan od analognih priključaka Arduina 
-  * senzor za intenzitet svjetlosti - fotootpornik,​ spaja se na analogni priključak Arduina 
- 
-Korisničko sučelje izvedeno je pomoću LCD prikaznika i tipkovnice za Arduino. Dobivanje informacije o trenutnom vremenu ostvareno je preko RTC modula: 
- 
-  * LCD-2004A - spoj LCD-a sa „Arduino Mega 2560“ ostvaren je koristeći međusklop „YwRobot LCM1602 V1“ namjenjenog jednostavnijem ostvarivanju I2C serijske veze 
-  * Matrična tipkovnica - spaja se na proizvoljne digitalne izvode Arduina 
-  * DS3231 RTC, međusklop ZS-042 - daje informaciju o stvarnom vremenu, spaja na napajanje od 3.3 V te koristi I2C sabirnicu 
- 
-Podsustav za spremanje podataka sadrži: 
- 
-  * proizvoljnu microSD karticu 
-  * ​​Arduino SD modul za čitanje i pisanje - koristi SPI komunikaciju gdje se vanjski međusklop ponaša kao //slave//, dok Arduino predstavlja //master// 
- 
-​​Spajanje i slanje podataka o trenutnom stanju senzora na web server realizirano je pomoću: 
- 
-  * ESP8266 mikrokontroler,​ međusklop Wemos D1 Mini Pro - slanje podataka senzora s Arduina na ESP8266 ostavareno je preko UART-a, a sam modul ostvaruje internet vezu prema web serveru 
- 
-Za sve navedene module korištene su besplatne biblioteke i programska podrška za Arduino. Više o programskoj implementaciji može se naći u pdf verziji dokumentacije projekta. 
- 
-====== Ograničenja ====== 
- 
-Nemogućnost ostvarivanja svih potrebnih mjerenja za izračun PPD i PMV. Na primjer, za detekciju odjeće koja se nalazi na osobama potreban je računalni vid, ali zbog nedostatka vremena i resursa takvo mjerenje se neće realizirati. Sve fizičke veličine osim sobne temperature,​ vlažnosti i tlaka zraka postavljene su u očekivane vrijednosti koje su dobivene iz [[http://​ieeexplore.ieee.org/​document/​6427051/​|referentne literature]]. 
- 
- \\ Nedostatak aktuatora koji bi mijenjali uvjete u prostoriji. Njihov utjecaj će biti zamijenjen LED-icama koje ih simboliziraju. Regulacije temperature realizirana je jednostavnom naredbom uključivanja/​isključivanja “klime”. Razina željene svijetlosti korisnika simbolizirana je svjetlinom druge LED diode. Detektor buke pali treću LED diodu ako je razina buke iznad prosječne vrijednosti od strane korisnika. 
- 
-====== Komunikacija s ostalim podsustavima ====== 
- 
-Središnji dio sustava će biti Arduino MEGA2560 na koji će se spajati periferni senzorski moduli. Komunikacija će se odvijati koristeći postojeći dogovor za svaki od senzora - većinom serijska veza pomoću SPI ili I2C. 
- 
-Moj dio projekta u ovome dijelu je bio omogućiti komunikaciju s Wemos D1 sklopom baziranim na ESP8266 bežičnim kontrolera. Komunikacija između arduina i WeMosa je izvedena pomoću UART-a - asinkrone serijske komunikacije. Serial1 s arduina je spojen na Wemos Serial priključak i to Tx→Rx i Rx→Tx. 
- 
-Takvu poruku je jednostavno kreirati i jednostavno parsirati. 
- 
-Da bi se što veći teret s Arduina (koji je u ovom slučaju imao značajno manju procesorsku snagu → 8 bitni na 16 MHz, naspram WeMosa koji ima 32 bitni procesor na 80 ili 160 MHz), dogovoren je format “^&​DATUM&​TEMP&​VLAGA&​TLAK&​SVJETLINA&​BUKA&​PORUKA&​$”. Takav string se može jednostavno formatirati na arduinu, i time je sav ostatak procesiranja (spajanje na internet, komunikacija sa serverom, HTTP zahtjevi) migriran s arduina na WeMos. Takav string se također veoma jednostavno parsira. Serijski port sluša od pojavljivanja znaka '​^'​ do pojavljivanja znaka '​$'​. Nakon toga se stringovi dijele po '&',​ na način da se kao prvi string (datum) uzima sav tekst između prvog pojavljivanja '&'​ do drugog pojavljivanja '&',​ idući string, temperature je teks od drugog do trećeg pojavljivanja znaka '&'​ itd. 
- 
-====== Komunikacija s vanjskim sustavima ====== 
- 
-{{  http://​hobbycomponents.com/​2267-thickbox_default/​wemos-d1-mini-pro-esp8266-development-board.jpg?​nolink&​300x300}} 
- 
-Za komunikaciju s internetom je korišten modul “WeeMos D1 pro” koji koristi ESP8266. Uređaj je programiran u Arduino IDE. WeeMos prima formatirani string preko UART komunikacije. Taj string onda parsira i kreira JSON paket. Taj paket se onda post upitom šalje na zavodski server. Zavodski server stoji iza domene echo.zesoi.fer.hr,​ kojem smo dali alias spvp.anteo.me. Na njemu se vrti aplikacija pisana u okruženju “Ruby on rails”. Kada dobije zahtjev, obradi ga, ubaci vrijednosti u grafove, ispiše poruke i vrati HTTP 201 odgovor. 
- 
-<​code>​ 
-POST /logs HTTP/1.1 
-Host: spvp.anteo.me 
-Content-Type:​ application/​json 
-X-Auth-Token:​ --TAJNI-KLJUČ-- 
-{ 
-  "​created_at":​ "​2017-06-05 03:​00:​55",​ 
-  "​temperature":​ "​32",​ 
-  "​moisture":​ "​88.62415",​ 
-  "​pressure":​ "​991.99443",​ 
-  "​brightness":​ "​5.22814",​ 
-  "​noise":​ "​5.94466",​ 
-  "​message":​ "​Poruka"​ 
-}​​ 
-</​code>​ 
- 
-====== Moja uloga na projektu ====== 
- 
-Moja uloga na projektu detaljno je razjašnjena kroz poglavlja "​Komunikacija s ostalim podsustavima"​ i "​Komunikacija s vanjskim sustavima"​. Kao što je opisano svodilo se na komunikaciju Arduino → WeeMos → Web Server. 
- 
  
2017/studenti/aoreskovic/projektni_zadatak.txt · Zadnja izmjena: 2023/06/19 18:11 (vanjsko uređivanje)