ERK'2019, Portorož, 82-85 82 Razvoj in integracija sistema za regulacijo osvetljenosti prostora v okolju Interneta stvari Gregor Jeromel 1 , Grega Močnik 1 , dr. Marjan Golob 1 1 Univerza v Mariboru, Fakulteta za elektrotehniko, računalništvo in informatiko, Koroška cesta 46, 2000 Maribor E-pošta: gregor.jeromel@student.um.si, {grega.mocnik, marjan.golob}@um.si Development and integration of a room illumination regulation system in Internet of Things environment This article describes the development and integration of an IoT system for regulation illumination in the workplace. It consists of a central device that connects to the Internet and controls the motors for blinds. The actuator for movement of the outer blinds is a stepping motor with a transmission and clutch. The system allows integration into any room in which external blinds are used. The main requirement for development was that the system operates independently. 1 Uvod Zaradi boljše dostopnosti elektronskih sklopov in napredka tehnologij na vseh nivojih, se vlaga vedno več razvoja tudi v avtomatizacijo bivalnih in delovnih prostorov. V prostore se vključujejo sistemi IoT, ki omogočajo vedno bolj prijazno in naravno interakcijo med uporabniki. Uporabniki v IoT okolju upravljajo s storitvami preko pametne naprave, ki je povezana v brezžično ali mobilno omrežje. IoT naprave s katerimi lahko uporabniki upravljajo, praviloma delujejo po vnaprej izdelanih režimih obratovanja, pri čemer je mogoče tudi spreminjanje parametrov in povratnih informacij. Povezava naprav z internetom omogoča tudi vključevanje umetne inteligence v storitev. Osvetljenost je poleg temperature in vlažnosti prostora ter svežega zraka ena od ključnih lastnosti za dobro počutje človeka, ki ustvarja. Ker v tem primeru ne velja, da je več bolje, je potrebno osvetljenost pravilno omejiti saj je lahko premočna ali preveč usmerjena svetloba moteča. Eden izmed načinov osvetlitve prostora je s pomočjo notranje razsvetljave s katero lahko osvetljujemo prostor ne glede na zunanjo naravno svetlobo. Drugi način je osvetljevanje prostorja s pomočjo dnevne svetlobe. Dnevna svetloba je za osvetlitev prostora varčna, saj ne uporablja električne energije. Hkrati je tudi okolje, ki ja na ta način osvetljeno, prijetnejše. Dnevna svetloba pa skozi čas nima enakomerne moči, kar nam daje razlog za razvoj sistema za regulacijo osvetljenosti prostora. 1.1 Opis problema Za zastiranje zunanje svetlobe se uporabljajo različni načini. Svetlobo lahko zastiramo s pomočjo zaves, rolet, notranjih ali zunanjih žaluzij. Zavese so na notranji strani oken in lahko delno prepuščajo svetlobo ali jo popolnoma zastrejo. Nimajo možnosti reguliranega zastiranja po celotni površini, pomik pa je prečen glede na okno. Notranje žaluzije so sestavljene iz večjega števila segmentov, katerih kot se lahko spremeni. Vsi segmenti se lahko premikajo v vertikalni smeri okna, kar omogoči hitro spremembo osvetljenosti prostora. Rolete so nameščene na zunanji strani okna, njihov pomik je v vertikalni smeri okna. Ker nimajo rotirajočih segmentov kot žaluzije nimamo možnosti delnega zastiranja. Zunanje žaluzije so nameščene na zunanji strani oken in delujejo po enakem principu kot notranje, vendar so robustnejše zaradi zunanjih vremenskih vplivov. Cilj razvoja sistema je narediti motorsko krmiljene zunanjih žaluzij na treh oknih velikosti 6 m 2 in regulirati osvetljenost v 35 m 2 velikem prostoru z višino okrog 3,5 m. Namembnost prostora je laboratorij v katerem so 4 večja in 4 manjša delovna mesta. Direktiva narekuje, da mora biti na delovni površini v laboratoriju osvetljenost najmanj 500 lx [1]. Polna dnevna svetloba brez neposredne sončne osvetlitve znaša od 10000 in 25000 lx [1, 2]. Ker gre za avtomatizacijo procesa, se žaluzije premikajo s pomočjo aktuatorja, ki je v tem primeru koračni motor s prenosom. Prenos zagotavlja ustrezen navor za njihovo dvigovanje in spuščanje. Za merjenje osvetljenosti se uporablja fotoupor. Odvisnost upornosti na svetlobo je vhodni podatek v regulacijski sistem. Položaj senzorja v prostoru je določen na empiričen način in sicer z iskanjem povprečnega svetlobnega toka, kar nam omogoči enakomerno osvetljenost posameznega delovnega mesta. 1.2 Pregled in uporaba tehnologij Izraz Internet stvari (angl. Internet of Things - IoT) predstavlja koncept za povezovanje naprav med seboj in v internet s ciljem lažjega upravljanja z napravami in izboljšanja kakovosti bivanja [3]. Koncept IoT je torej namenjen povezovanju velikega števila naprav, ki med seboj komunicirajo preko interneta. Naprave se povezujejo v omrežje internet kot samostojne komponente, vendar pošiljajo oziroma prejemajo informacije iz skupnega naslova kamor so prijavljene. Naprave se lahko povezujejo v omrežje internet preko različnih brezžičnih ali žičnih protokolov. Če se naprave niso sposobne povezati neposredno na splet se najprej povežejo na komunikacijske prehode med uporabljenim fizičnim slojem IoT in interneta [4]. Internet predstavlja v konceptu IoT orodje, ki nam omogoča dostopnost naprav na globalnem nivoju. Informacije vseh naprav se lahko stekajo na eno ali več zbirnih strežnikov, ki so lahko na poljubnih geografskih lokacijah. 83 Med množico tipično uporabljenih protokolov za sisteme IoT kot so, CoaP, MQTT, BLE, smo izbrali MQTT [5], zaradi enostavne implementacije in uporabe. Za zbiranje podatkov se uporabi strežnik MQTT, na katerega naprave objavljajo podatke in se naročajo. Naprave podatke objavljajo na določene teme, vse prijavljene naprave lahko pridobijo podatke iz tem na katere so prijavljene [6]. Pogosto strežnik MQTT nastopa kot del oblačne platforme znotraj katere so še realno časovna podatkovna zbirka in ostali mehanizmi, ki so aplikativno odvisni. Pri razvoju strojne programske opreme si lahko pomagamo z uporabo operacijskih sistemov za vgrajene sisteme. Operacijski sistem ponuja že implementirane komunikacijske sklade, s tem omogoči hitrejši razvoj strojne programske opreme za vgrajene sisteme. Eden izmed znanih je mbedOS [7]. Delno odprtokodni operacijski sistem za vgrajene sisteme je namenjen za razvoj naprav v konceptu IoT. Operacijski sistem je plod razvoj podjetja ARM MBED [7]. Glavne značilnosti so povezovanje preko protokola IP, RTOS in gonilniki za strojno periferijo. Naprave, ki so del okolja IoT se med seboj lahko povezujejo na različne načine. Najpogostejši način povezovanja naprav je Bluetooth [8], saj ga je v letu 2018 uporabljalo kar 4 milijarde naprav [9]. V praksi se vse pogosteje uporablja Bluetooth Low Energy ali energijsko varčen Bluetooth, ki je osebna brezžična povezava [9]. Bluetooth Low energy je namenjen je predvsem za sisteme, ki so baterijsko napajani. Zelo znane so tudi tehnologije povezovanja v pod gigaherčnem pasu, saj z izbiro nizke frekvence omogočajo manjšo porabo energije [10, 11]. Eden izmed načinov je WiFi [8] in je najbolj razširjen brezžični protokol, ki se uporablja za povezovanje naprav v omrežje. Ker bo naprava na stalnem napajanju, visoka porabe energije v primerjavi z IoT protokoli ni ključnega pomena. WiFi deluje na frekvenčnem pasu 2,4 GHz, vedno bolj razširjen je tudi na 5 GHz frekvenčnem pasu [8]. Izbira slednjega sicer omogoča večji prenos podatkov vendar ima manjši doseg [8]. Za povezavo sistema za regulacijo osvetljenosti in pošiljanje podatkov na strežnik MQTT je bil izbran WiFi, ki ni ravno energijsko varčen, vendar smo ga izbrali zaradi že implementiranega omrežja v izbranem prostoru. Prav tako sistem ni baterijsko napajan, kar pomeni, da ni potrebno varčevanje z energijo. V tem primeru komunikacijski prehod ni potreben. Omejitev uporabe sistema predstavlja le dostopnost brezžičnega omrežja WiFi in zunanje žaluzije na oknih v prostoru. 2 Razvoj strojne opreme sistema Razvoj strojne opreme je potekal po sklopih, ki so pokrivali zahteve sistema za regulacijo osvetljenosti prostora. Za sistem sta bistvena dva sklopa, regulacijski in povezljivostni sklop. Regulacijski sklop omogoča regulacijo osvetljenosti na podlagi vhodnih parametrov. Povezljivostni sklop je namenjen za povezovanje sistema v internet. Podrobna zgradba strojne opreme je vidna na sliki 1. Strojna oprema se je načrtovala v programskem okolju AltiumDesigner 17.0 [12]. Slika 1. Zgradba strojne opreme sistema za regulacijo osvetljenosti Na sliki 1 so s številkami predstavljeni tudi strojni vmesniki, to so fizične povezave med sklopi, po katerih poteka komunikacija ali napajanje. Slika 2. Strojni elementi: a) sklopka, b) nosilec motorja, c) ohišje za elektronsko vezje V sklopu strojne opreme je bilo potrebno razviti tudi strojne elemente (slika 2), ki so omogočali namestitev sistema za regulacijo osvetljenosti. Strojni elementi, ki so bili razviti so bili sklopka (slika 2a), preko katere je motor vrtel os ročice za žaluzije, nosilec motorja (slika 2b) in ohišje za elektronsko vezje (slika 2c). Strojni elementi so bili razviti v programskem okolju SolidWorks 2018 [13]. Izdelavo strojnih elementov nam je omogočil 3D tiskalnik. Izdelano tiskano vezje je razvidno na sliki 3. Na sliki 3 so vidni tudi posamezni sklopi, ki so bili integrirani na tiskano vezje. 2.1 Napajalni sklop Sistem ima dva napajalna dela in sicer za krmilni del in dela za motorje. Krmilniški del se napaja preko mini USB priključka ali napajalne letve. Na sliki 1 to predstavlja oznaka 2a. Za napajanje krmilnega dela na vezju je dodan napetostni stabilizator, ki zniža in stabilizira napajalno napetost na 3,3 V (na sliki 1 oznaka 2b). Napajalni del za motorje ima priključek, nanj se lahko priključi zunanji napetostni vir (na sliki 1 oznaka 8) z nazivno napetostjo in tokom 24 V/6 A. 2.2 Krmilniški sklop V krmilniškem sklopu je mikrokrmilnik STM32L152RE [14], ki se uporablja predvsem v aplikacijah, ki so baterijsko napajane. Izbran tip je arhitekture ARM Cortex M0+. Mikrokrmilnik se programira preko mini USB konektorja v načinu DFU [15], za kar poskrbi 84 vmesnik z oznako 1 na sliki 1. V ta del spada tudi stikalo s katerim izbiramo dva načina delovanja krmilnika, programiranje ali normalno obratovanje. Dodani so tudi priključki za JTAG in I 2 C. Priključki JTAG omogočajo programiranje strojne programske opreme, ko način DFU ni mogoč [16]. Priključek za I 2 C je namenjen dodajanju naprav, ki delujejo na istoimenskem vodilu. 2.3 Sklop za brezžično komunikacijo WiFi V sklopu za brezžično komunikacijo je sistem na čipu - SoC (angl. System-on-Chip), ESP WROOM 02 [17], ki je sestavljen iz procesorja ESP8266EX in radiofrekvenčnega dela, ki je namenjen za povezavo v brezžično omrežje WiFi. Sklop za brezžično komunikacijo WiFi s krmilniškim sklopom komunicira preko serijskega protokola UART [17], strojni vmesnik 3 na sliki 1. 2.4 Senzorski sklop Senzorski sklop zagotavlja spremljanje okoliških parametrov kot sta temperatura in vlaga ter osvetljenost. Sklop ima dva senzorja. Senzor HTS221 [18] meri temperaturo in relativno vlago. Za merjenje osvetljenosti je uporabljen svetlobno občutljiv upor LDR [19], kateri je vezan kot delilnik napetosti z uporom enake vrednosti. Senzorski sklop komunicira s krmilniškim sklopom na dva načina preko I 2 C vodila (9 vmesnik na sliki 1) in z merjenjem analogne napetosti (11 vmesnik na sliki 1) na svetlobno občutljivim uporom. 2.5 Sklop za interakcijo z uporabnikom in končna stikala Sklop ima tri tipke in tri LED, ki se lahko uporabijo za uporabniško interakcijo. V tem sklopu je tudi 6 končnih stikal s katerimi omejujemo delovanje motorja. Krmiljenje LED, detekcija tipk in končnih stikal poteka preko digitalnih izhodov in vhodov krmilnega sklopa, vmesnika 4 in 5 na sliki 1. 2.6 Gonilniki motorjev Sklop za gonilnike motorjev vsebuje tri gonilnike A4988 [20], ki se uporabljajo za krmiljenje bipolarnih koračnih motorjev. Napajanje motorjev je od 8 do 35 V. Največji dovoljeni trajni tok, ki lahko teče skozi gonilnik je 2 A. Gonilniki prenesejo tokovni sunek do 4 A. Nastavitev največjega še dovoljenega toka skozi tuljavo koračnega motorja se nastavi preko spremenljivega upora. Gonilnik vzdržuje nastavljen tok ne glede na hitrost vrtenja zaradi tega dobimo časovno konstanten navor. Gonilniki motorjev komunicirajo preko digitalnih izhodov s krmilniškim sklopom (vmesnik 6 na sliki 1). Tok, ki ga gonilnik zagotavlja omejimo glede na nazivne vrednosti izbranega motorja (1,68 A). Tok nastavljamo posredno preko referenčne napetosti na spremenljivem uporu. Enačba (1) opisuje izračun referenčne napetosti s katero omejimo tudi tok. 𝑉 𝑟𝑒𝑓 = 8 ∙ 𝐼 𝑚𝑎𝑥 ∙ 𝑅 𝑐𝑠 (1) 𝑉 𝑟𝑒𝑓 je referenčna napetost, ki se nastavi na potenciometru. 𝐼 𝑚𝑎𝑥 je največji dovoljen tok, ki ga gonilnik mora zagotavljati za krmiljenje motorja, vrednost je enaka nazivni vrednosti tok koračnega motorja. Izračunana vrednost 0,913 V se nastavi z spremenljivim uporom. Z manjšanjem največjega toka skozi tuljavo manjšamo navor motorja. 2.7 Koračni motor s prenosom Koračni motor 42STH38 [21] ima bipolarno vezavo navitij. Poln zasuk osi motorja je 200 korakov, en korak pa je enak 1,8° zasuka osi. Naziven tok znaša 1,68 A. Navor, ki ga proizvede je 0,36 Nm, kar je premalo za dviganje in spuščanje zunanjih žaluzij. Za povečanje navora je dodan planetarni prenos, ki ima prestavno razmerje 1:14, s tem se tudi zmanjša kot zasuka osi na 0,13°, navor pa se poveča 3,3 Nm. Navor koračnega motorja se na izhodu prenosa poveča za faktor 9 in ne za 14, kar pripisujemo posledici notranjih izgub prenosa, ki se pojavijo zaradi trenja med zobniki in zobniško osjo. Z izbiro prestavnega razmerja se zmanjša kotna hitrost na osi prenosa. Slika 3. Izdelano tiskano vezje sistema za regulacijo osvetljenosti, 1: Krmilniški sklop, 2: svetlobno spremenljiv upor, 3: Povezljivostni sklop (ESP), 4: Senzor za temperaturo in vlago, 5: Diode LED, 6: Gonilniki koračnih motorjev, 7: Priključek za napajanje koračnih motorjev, 8: Priključki za koračne motorje, 9: Priključki za končna stikala 2.8 Postopek meritve in izračun potrebnega navora za premikanje žaluzij Postopek meritve navora je bil izveden tako, da se je na rotacijsko os žaluzij pritrdila potezna tehtnica s katero se je merila sila potrebna za premik četrtine kotnega zasuka osi žaluzije. Os žaluzij je bila postavljena pravokotno glede na silo potrebno za zasuk. Dolžina osi je 25 cm. Sila s katero se je os žaluzij premaknila za polni obrat je okrog 5 N. Potreben navor je bil izračun z enačbo (2). 𝐹 𝑁 = 𝐹 𝑅 ∙ 𝑙 𝑅 1 (2) V enačbi (2) predstavlja 𝐹 𝑅 , silo za premik ročice, 𝑙 𝑅 , dolžino ročice. Izračunan navor za zasuk ročice je 1,25 Nm, kar nam daje potrditev o ustrezni izbiri koračnega motorja (3,3 Nm). 3 Razvoj programske opreme sistema Strojna programska oprema se je razvijala po sklopih, s katerimi je bilo mogoče zagotoviti delovanje 85 posameznega strojnega sklopa. Strojna programska oprema se deli na tri dele, povezljivostni, regulacijski in glavni proces. Na sliki 3 je prikazana blokovna shema strojne programske opreme, iz katerega so vidni glavni, ter znotraj le teh pomožni procesi. Slika 3. Blokovna zgradba strojne programske opreme 3.1 Povezljivostni proces Povezljivostni proces vsebuje programske vmesnike za povezavo sistema v internetno omrežje preko WiFi. Z mrežnim protokolom TCP vzpostavimo zanesljivo povezavo s strežnikom MQTT. V našem primeru je najprimernejši MQTT protokol. Kjer se podatki pošiljajo na strežnik-posrednik (angl. broker) na način prijavi-objavi. Gre za organizirano pošiljanje podatkov na strežnik, kjer ima vsak poslan podatek pripono h kateri temi na strežniku pripada. Pri poizvedovanju za podatek iz strežnika se moramo na temo prijaviti. Znotraj povezljivostnega procesa je sklop vmesnik med slojem TCP in MQTT. Ta podsklop prenaša podatke do sklopa za brezžično komunikacijo WiFi znotraj katerega je ESP modul. Ta sklop zagotavlja podpora komunikacijskim protokolom od transportnega do fizičnega sloja [22]. 3.2 Regulacijski proces Proces vsebuje vmesnike, ki upravlja z digitalnimi vhodi in izhodi mikrokrmilnika. Vsebuje gonilnike za I 2 C komunikacijsko vodilo s katerim komuniciramo s senzorjem temperature in vlage HTS221, gonilnike za ADC pretvorbo in gonilnike za 1-Wire protokol. V regulacijskem procesu je tudi regulacijska zanka, ki ima vhodne parametre, odločitveni model ter povratno zanko. 3.3 Glavni proces Povezuje regulacijski in povezljivostni proces s pretočnostjo podatkov v obe smeri. Tu se podatki dobljeni iz obeh procesov obdelajo in pripravijo za izmenjevanje med ostalima procesoma. 4 Zaključek Z regulacijo osvetljenosti s pomočjo premika žaluzij smo dosegli, da je delovna površina v prostoru ves čas enakomerno osvetljena. Sistem smo v okolje integrirali tako, da mu lahko nastavljamo parametre za regulacijo, ki so urnik našega delovnega časa in jakost željene osvetljenosti. S povezavo sistema z urnikom dosežemo, da nas čaka že primerno osvetljen prostor, ko vstopimo vanj. V prvi verziji sistema je bila uporabljena histerezna regulacija. Tovrsten sistem omogoča integracijo ostalih načinov regulacijo kot je mehka regulacija ali PID. Uporaba tovrstnih regulacij bi omogočila bolj zvezen prehod med stanji, kar naredi boljšo uporabniško izkušnjo. Izdelan sistem nam daje tudi možnosti nadgradnje s sistemom za odpiranje oken. Literatura [1] SIST EN 12464 ‐ Razsvetljava na delovnem mestu. [2] Paul Schlyter, Radiometry and photometry in astronomy FAQ (2006) [3] Wigmore, I. . Internet of Things (IoT). TechTarget. [4] Want, Roy; Bill N. Schilit, Scott Jenson (2015). Enabling the Internet of Things. pp. 28–35. [5] Pal, Arpan (May – June 2015). Internet of Things: Making the Hype a Reality. IT Pro. [6] ISO/IEC 20922:2016 Message Queuing Telemetry Transport (MQTT) v3.1.1. June 15, 2016. [7] https://www.mbed.com/, Dostopno: 15.7.2019 [8] Bluetooth Range, bluair.pl. Dostopno: 15.7.2019 [9] https://www.bluetooth.com. Dostopno: 15.7.2019 [10] Johnson, Richard (1984). Antenna Engineering Handbook (2nd ed.). McGraw-Hill. [11] Friis, H.T. (May 1946). A Note on a Simple Transmission Formula. IRE Proc.: 254–256. [12] https://www.altium.com/, Dostopno: 15.7.2019. [13] https://www.solidworld.si/, Dostopno: 15.7.2019. [14] https://www.st.com/resource/en/datasheet/stm32l15 1qe.pdf, Dostopno:15.7.2019. [15] STM AN3156-Application note USB DFU protocol used in the STM32 bootloader [16] https://www.xjtag.com/about-jtag/what-is-jtag/out- jtag/what-is-jtag/, Dostopno: 15.7.2019. [17] https://www.espressif.com/sites/default/files/docum entation/0c-esp-wroom-02_datasheet_en.pdf, Dostopno: 15.7.2019 [18] https://www.st.com/resource/en/datasheet/hts221.pd f, Dostopno: 15.7.2019. [19] https://www.kitronik.co.uk/blog/how-an-ldr-light- dependent-resistor-works/, Dostopno: 15.7.2019. [20] https://www.pololu.com/product/1182, Dostopno: 15.7.2019. [21] http://www.electronica60norte.com/mwfls/pdf/MOT ORES_PASOA_PASO.pdf, Dostopno: 15.7.2019. [22] https://www.electronicdesign.com/what-s- difference-between/what-s-difference-between-osi- seven-layer-network-model-and-tcpip, Dostopno: 15.7.2019.