Ovo je stara izmjena dokumenta!
Svrha projekta je povećati kvalitetu boravka u prostoriji, svim ljudima koji se u njoj nalaze.
Svi stanari kuće, stana, ili korisnici nekog poslovnog prostora.
1) Ostvariti sustav ambijentalnih senzora u svrhu poboljšanja ugode u prostoriji.
2) Ostvariti izračun PPD i PMV vrijednosti na temelju očitanih vrijednosti sa senzora te prikazati rezultat na korisničkom sučelju
Sustav je ostvaren na Arduino platformi (Arduino Mega 2560). Za mjerenje fizikalnih veličina korištena su tri senzorska 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:
Podsustav za spremanje podataka sadrži:
Spajanje i slanje podataka o trenutnom stanju senzora na web server realizirano je pomoću:
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.
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 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.
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.
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.
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" }
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 je razjašnjena kroz poglavlja “Komunikacija s ostalim podsustavima” i “Komunikacija s vanjskim sustavima”