Slijede razlike između dviju inačica stranice
Starije izmjene na obje strane Starija izmjena Novija izmjena | Starija izmjena | ||
2017:studenti:aoreskovic:projektni_zadatak [2017/06/28 17:12] aoreskovic |
2017:studenti:aoreskovic:projektni_zadatak [2023/06/19 16:11] (trenutno) |
||
---|---|---|---|
Redak 11: | Redak 11: | ||
1) Ostvariti sustav ambijentalnih senzora u svrhu poboljšanja ugode u prostoriji. | 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 | |
- | Praćenje vrijednosti temperature, vlažnosti zraka, buke, tlaka i osvjetljenja u prostoriji | + | * 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 |
- | + | ||
- | 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 | 2) Ostvariti izračun PPD i PMV vrijednosti na temelju očitanih vrijednosti sa senzora te prikazati rezultat na korisničkom sučelju | ||
Redak 37: | Redak 23: | ||
Sustav je ostvaren na Arduino platformi (Arduino Mega 2560). Za mjerenje fizikalnih veličina korištena su tri senzorska modula: | 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 temperaturu, vlagu i tlak BME280 - korištena I2C komunikacija prema Arduinu | + | * senzor za intenzitet svjetlosti - fotootpornik, spaja se na analogni priključak Arduina |
- | + | ||
- | * | + | |
- | + | ||
- | 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: | 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 | |
- | LCD-2004A - spoj LCD-a sa „Arduino Mega 2560“ ostvaren je koristeći međusklop „YwRobot LCM1602 V1“ namjenjenog jednostavnijem ostvarivanju I2C serijske veze | + | * DS3231 RTC, međusklop ZS-042 - daje informaciju o stvarnom vremenu, spaja na napajanje od 3.3 V te koristi I2C sabirnicu |
- | + | ||
- | * | + | |
- | + | ||
- | 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: | 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// | |
- | 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: | 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 |
- | + | ||
- | 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. | 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. | ||
Redak 99: | Redak 62: | ||
====== Komunikacija s vanjskim sustavima ====== | ====== Komunikacija s vanjskim sustavima ====== | ||
- | Za komunikaciju s internetom je korišten modul “WeeMos D1 pro” koji koristi ESP8266. Preko tog modula šalju se podaci sa senzora i trenutno stanje broja korisnika na zavodski server, putem predefiniranog formata. Zavodski server stoji iza domene echo.zesoi.fer.hr, kojem smo dali alias spvp.anteo.me. | + | {{ 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, kako je upisano u prošlom poglavlju. Taj string onda parsira i kreira JSON paket, koji izgleda kao što je prikazano ispod POST zahtjeva. | ||
+ | |||
+ | Taj paket se onda post upitom šalje na zavodski server koristeći POST zahtjev. Zahtjev osim standarnih rubrika sadrži i "X-Auth-Token!", 1024 bitni ključ koji osigurava da samo noi koji ga znaju mogu slati podatke na 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> | <code> | ||
Redak 114: | Redak 83: | ||
"noise": "5.94466", | "noise": "5.94466", | ||
"message": "Poruka" | "message": "Poruka" | ||
- | } | + | } |
</code> | </code> | ||
- | 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, koji inače 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. | ||
====== Moja uloga na projektu ====== | ====== Moja uloga na projektu ====== | ||
- | Moja uloga na projektu je razjašnjena kroz poglavlja "Komunikacija s ostalim podsustavima" i "Komunikacija s vanjskim sustavima" | + | 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. |