Mihocek Ivan Mev 2017 Zavrs Struc

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 34

Udaljeno upravljanje LED rasvjetom

Mihocek, Ivan

Undergraduate thesis / Završni rad

2017

Degree Grantor / Ustanova koja je dodijelila akademski / stručni stupanj: Polytechnic of


Međimurje in Čakovec / Međimursko veleučilište u Čakovcu

Permanent link / Trajna poveznica: https://urn.nsk.hr/urn:nbn:hr:110:286785

Rights / Prava: In copyright

Download date / Datum preuzimanja: 2020-12-29

Repository / Repozitorij:

Polytechnic of Međimurje in Čakovec Repository -


Polytechnic of Međimurje Undergraduate and
Graduate Theses Repository
MEĐIMURSKO VELEUČILIŠTE U ČAKOVCU

STUDIJ RAČUNARSTVA

Ivan Mihocek

Udaljeno upravljanje LED rasvjetom

ZAVRŠNI RAD

Čakovec, 2017.
MEĐIMURSKO VELEUČILIŠTE U ČAKOVCU

STUDIJ RAČUNARSTVA

Ivan Mihocek

Udaljeno upravljanje LED rasvjetom

Remote LED lighting control

ZAVRŠNI RAD

Mentor

mr.sc. Željko Knok, dipl.ing.

Čakovec, 2017.
Sažetak
U sklopu ovog rada napravljeno je i dokumentirano daljinsko upravljanje LED rasvjetom
preko PubNub protokola te je ukratko objašnjena paradigma Internet of Things te pametne
kuće. Platforma na kojoj je rad rađen je popularno računalo Raspberry Pi, s Raspibian
verzijom Linuxa. Napisana je programska podrška koja se vrti na Raspberry Piju (Python i
bash shell) te jednostavno korisničko sučelje u JavaScriptu i HTML-u. Raspberry Pi također
vrti apache server na sebi. Napravljena je i jednostavna demonstracija pomoću LED diode.
Za regulaciju jačine svjetlosti korištena je PWM modulacija. U uvodu je dan kratak opis polja
koje će se obrađivati, nadalje je opisan IoT. Prelazi se na samu tehničku izvedbu i opis
hardverskog dijela (Raspberry) te softverskog dijela s isječcima koda. U zaključku su dana
predložena poboljšanja samog sustava.

Ključne riječi:
Internet of Things, Smart Home, Smart Lightning, Raspberry Pi, LED, Python, Raspibian,
PWM
Sadržaj
Sažetak ....................................................................................................................................... 1
1. Uvod ...................................................................................................................................... 2
2. Programski alati i podrška ..................................................................................................... 3
2.1. Internet of Things paradigma ......................................................................................... 3
2.1.1. Općenito .................................................................................................................. 3
2.1.2. Primjena................................................................................................................... 3
2.1.3. Pametna kuća ........................................................................................................... 5
2.1.4. Protokoli .................................................................................................................. 7
2.1.4.1. Zigbee ............................................................................................................... 8
2.1.4.2. Z-Wave ........................................................................................................... 10
2.1.4.3. Wi-Fi .............................................................................................................. 10
2.1.4.4. MQTT............................................................................................................. 11
2.1.4.5. PubNub ........................................................................................................... 12
2.2. Arhitektura sustava ....................................................................................................... 14
2.2.1. Blok-shema ............................................................................................................ 14
2.2.2. Raspberry Pi .......................................................................................................... 14
2.2.3. LED rasvjeta .......................................................................................................... 16
2.2.3.1. Općenito ......................................................................................................... 16
2.2.3.2. PWM kontrola jačine rasvjete ........................................................................ 18
2.2.3.3. Rasvjeta .......................................................................................................... 19
Programska podrška ............................................................................................................. 21
2.2.4. Programska podrška na Raspberry Pi platformi .................................................... 21
2.2.4.1. Skripta pidriver.py .......................................................................................... 22
2.2.4.2. Skripta za dobivanje IP adrese na e-mail ....................................................... 23
2.2.4.3. Apache server ................................................................................................. 24
2.2.5. Primanje i vizualizacija podataka .......................................................................... 24
3. Rezultati ............................................................................................................................... 27
4. Zaključak ............................................................................................................................. 29
5. Literatura ............................................................................................................................. 30
Ivan Mihocek Udaljeno upravljanje LED rasvjetom

1. Uvod
Automatizacija kuće (engl. Home Automation) je korištenje i kontrola kućanskih
uređaja preko daljinskog upravljanja ili automatski. U tu svrhu se u zadnje vrijeme najviše
počeo spominjati Internet of Things, tj. mreža senzora i aktuatora unutar kuće koji upravljani
preko centralnog sustava automatiziraju dom.

Pretpostavlja se da će do 2019. 68 milijuna kuća u Sjevernoj Americi i Europi biti


„pametne kuće“. Također, pretpostavka je da će do 2020. 50 milijardi uređaja biti umreženo
unutar Internet of Things paradigme [1].

Unutar te paradigme nalazi se i „pametna rasvjeta“ obrađena u ovom završnom radu.


19 % svjetske potrošnje električne energije je iskorišteno za rasvjetu te 6 % stakleničkih
emisija dolazi od te energije [2]. Pametna rasvjeta je dobar način za minimizaciju i uštedu na
rasvjeti, pomoću daljinskog uključivanja i isključivanja svjetla. Također pruža veći stupanj
komfornosti unutar same kuće.

Ova tema odabrana je zbog lake dostupnosti Raspberry Pi platforme, zbog mnogo dostupnog
otvorenoga koda te zbog zanimljivosti same teme.

Cilj rada je približiti Raspberry Pi platformu studentima, naučiti nešto o Internet of Things
paradigmi te proučiti pametne kuće kao dolazeću novu tehnologiju.

Međimursko veleučilište u Čakovcu 2


Ivan Mihocek Udaljeno upravljanje LED rasvjetom

2. Programski alati i podrška


2.1. Internet of Things paradigma
2.1.1. Općenito
Termin Internet of Things (internet stvari) skovao je britanski poduzetnik Kevin
Asthon 1999. To je mreža objekata (elektronike, softvera, senzora) koja omogućuje
prikupljanje i obradu podataka. Time se objektima omogućuje da budu kontrolirani preko
postojeće mrežne infrastrukture. Objekti mogu biti, primjerice, implantati za srčane bolesnike,
senzori ugrađeni u automobile, uređaji za pametne kuće itd. [3]

Slika 1. Internet of things


Izvor: https://mmta.co.uk/2016/11/15/the-internet-of-things-a-connected-world/

2.1.2. Primjena
Najveća primjena IoT paradigme je u sljedećim poljima:

Međimursko veleučilište u Čakovcu 3


Ivan Mihocek Udaljeno upravljanje LED rasvjetom

• Nadzor okoliša – tu se tipično radi o senzorima za kontrolu kvalitete vode,


atmosfere i tla. Izazov na ovom polju uključuje dizajn senzora s niskom
potrošnjom, velikim područjem pokrivanja te mogućnosti mobilnosti.
• Nadzor infrastrukture – u urbanom i ruralnom području posebno je važna
mogućnost nadzora velikih mostova, tračnica te velikih farmi. Moguće je
izbjeći mnoge nesreće pravilnim nadzorom (npr. senzori naprezanja postavljeni
na mostu).
• Štednja energije – integracijom žarulja, pametnih utičnica te prekidača na IoT
sustav moguće je značajno uštedjeti energiju. Očekuje se da će u budućnosti
uređaji komunicirati direktno s elektranom u svrhu balansiranja opterećenja
električne mreže. Na tržištu postoji već niz rješenja koja idu u tom smjeru:
Belkinov WeMo, Budderfly, EcoGuard itd. [4]

Slika 2. Pametna utičnica


Izvor: http://www.edimax.co.id

• Proizvodnja – kontrola procesa proizvodnje preko mreže omogućuje bržu


proizvodnju te dinamički odziv na potrebe tržišta.
• Medicina – IoT uređaji mogu se koristiti za udaljeni nadzor zdravlja te za
sustave za uzbunu (npr. senzori za nadzor starijih osoba). Senzori koji se
upotrebljavaju su senzori za mjerenje tlaka, otkucaja srca, pacemakera itd. U

Međimursko veleučilište u Čakovcu 4


Ivan Mihocek Udaljeno upravljanje LED rasvjetom

ovu kategoriju spadaju i uređaji za pomoć u vježbanju (mjerenje kalorija,


otkucaja srca). [4]
• Pametne kuće i zgrade – u ovu kategoriju spada i uređaj razvijen u sklopu ovog
završnog rada. To su uređaji za kontrolu rasvjete, grijanja, ventilacije, klime i
kućanskih aparata (Slika 3).

Slika 3. Pametna kuća


Izvor: https://www.wirelessdesignmag.com/

• Promet – IoT uređaji mogu pomoći u integraciji komunikacije, kontrole i


informacija kroz cijeli prometni sustav. Posebno zanimljive primjene su u
pametnoj kontroli prometa, pametnom parkiranju, elektroničkoj naplati
cestarine, kontroli velike flote vozila (dostava).

2.1.3. Pametna kuća


Inteligentna ili pametna kuća je kuća koja ima ugrađen centralni upravljački sustav.
Takav sustav je u mogućnosti integrirati više sustava (grijanje, potrošnja tople vode, hlađenje,
rasvjeta, sigurnost). [13]
Tržište pametnih kuća je 2015. g. vrijedilo 5,77 milijardi dolara, dok je prognoza za 2020. g
10 milijardi dolara. Rana kućna automatizacija počela je sa strojevima za uštedu energije.

Međimursko veleučilište u Čakovcu 5


Ivan Mihocek Udaljeno upravljanje LED rasvjetom

Samostalni kućanski aparati na struju ili plin postali su održivima tijekom 1900-ih s
uvođenjem distribucije električne energije i doveli su do uvođenja strojeva za pranje rublja
(1904.), grijalica za vodu (1889.), hladnjaka, šivaćih strojeva, perilice posuđa i sušilice za
odjeću. Godine 1975. razvijena je prva tehnologija kućne automatizacije opće namjene X10.
To je komunikacijski protokol za elektroničke uređaje. Primarno koristi ožičenje prijenosnika
električne energije za signalizaciju i upravljanje. Do 2012. godine, u Sjedinjenim Državama,
prema ABI Researchu, instalirano je 1,5 milijuna kućanskih sustava.

Prema [14], postoje 3 generacije pametnih kuća:


• prva generacija: bežična tehnologija s proxy poslužiteljem, npr. Zigbee, Z-
Wave
• druga generacija: umjetna inteligencija koja upravlja električnim uređajima,
npr. Amazon Echo
• treća generacija: robotski prijatelj koji komunicira s ljudima, npr. Robot Rovio,
Roomba.

Aplikacije i tehnologije u koje zadire pametna kuća su:

• grijanje, ventilacija i klimatizacija (HVAC): moguće je daljinsko upravljanje


svim kućnim energijskim monitorima preko interneta s jednostavnim i
prijateljskim korisničkim sučeljem
• sustav kontrole rasvjete
• sustav kontrole broja ukućana: moguće je znati trenutni broj ukućana pomoću
pametnih metara i senzora za okoliš kao što su CO2 senzori koji se mogu
integrirati u sustav automatizacije zgrada kako bi se povećala energetska
učinkovitost
• kontrola uređaja i integracija s pametnom mrežom i pametnim mjeračem,
iskorištavanjem, na primjer, visokog izlaza solarnog panela sredinom dana za
pokretanja strojeva za pranje

Međimursko veleučilište u Čakovcu 6


Ivan Mihocek Udaljeno upravljanje LED rasvjetom

• sigurnost: kućni sigurnosni sustav integriran sa sustavom kućne automatizacije


može pružiti dodatne usluge kao što su daljinski nadzor sigurnosnih kamera
putem interneta ili centralno zaključavanje svih vanjskih vrata i prozora
• detektori poplave, dima i detektori CO.

Pametne kuće bi se mogle ugrubo podijeliti u dvije vrste:


• Kompletna/invazivna rješenja (engl. Whole house automation) – kuće/stanovi
projektirani prije izgradnje da budu pametni. Radi se o skupim i naprednim
rješenjima, koja mogu biti bežična (Wi-Fi, Zigbee, Z-Wave) ili žična (PLC –
Power Line Communication). Takve sustave rade velike tvrtke, sustavi su
zatvoreni i nekompatibilni s ostalima na tržištu. Primjeri takvih sustava su
Creston, Control4, AMX, Elan Home Systems, HomeSeer.

• Neinvazivna/korisnički nastrojena rješenja (engl. Consumer friendly home


automation) – jeftina i user friendly rješenja. Korisnik većinom dobije
centralnu jedinicu koja prikuplja podatke od uređaja te razne plug and play
uređaje koje može sam instalirati. Primjeri takvih sustava su Insteon, NEST,
WeMo, Archos, Qivicon, Philips Hue, Iskon Smart Home.

Trenutni najveći problem za korisnike pametnih kuća su nesigurni sustavi (Wi-Fi i njegova
ranjivost) te činjenica da je tehnologija još u povojima, pa se može dogoditi da korisnik kupi
uređaje, i nakon nekog vremena proizvođač odluči napustiti taj servis, gasi servere i uređaji
postanu beskorisni.

Također, problem je u nedostatku pravih standarda. Postoji mnogo različitih i nekompatibilnih


tehnologija gdje se ne može postići pravi IoT ako svi uređaji ne rade zajedno.

2.1.4. Protokoli
Za povezivanje pametne kuće koriste se razni protokoli za komunikaciju. Ti protokoli se
mogu podijeliti u dvije vrste:

Međimursko veleučilište u Čakovcu 7


Ivan Mihocek Udaljeno upravljanje LED rasvjetom

• protokoli za povezivanje centralne jedinice s pametnim uređajima


• protokoli za povezivanje centralne jedinice s cloudom i mobilnim aplikacijama.

U Tablici 1. je dan pregled najčešćih protokola koji se koriste za povezivanje centralne


jedinice s ostalim uređajima. Trenutno najrašireniji bežični protokoli su Wi-Fi, Zigbee i Z-
Wave.

Protokol Power Bežično Brzina (Power Komentar Domet


line line i RF) (bežično)
X10 Da Da RF: 300 bit/s Zastario, nepouzdan, još
PL: 20 bit/s raširen
UPB Da Ne PL: 200 bit/s Pouzdan
Insteon Da Da RF: 38.4 kbit/s X10 kompatibilan 45 m
PL: 2.4 kbit/s
Zigbee Ne Da do 250 kbit/s Problemi kod 10 – 20 m
povezivanja (unutrašnjost)
čvorova različitih
proizvođača
Z-Wave Ne Da 9,6/40 kbit/s 30 m
Wi-Fi Ne Da do 600 Mbit/s Dosta troši, overkill kod oko 45 m
jednostavnih senzora (unutrašnjost)
Bluetooth Ne Da 1 Mbit/s Oko 20 m
Smart (unutrašnjost)
Tablica 1.
Izvor: https://www.lifewire.com/best-home-automation-technology-817601

2.1.4.1. Zigbee
Zigbee je je bežični protokol baziran na IEEE 802.15.4 specifikaciji. Dizajniran je za
komunikaciju gdje je potrebno ostvariti nisku potrošnji i nisku brzinu prijenosa te gdje nije
potreban veliki domet (10 – 100 m). Veći dometi se ostvaruju na principu isprepletene mreže

Međimursko veleučilište u Čakovcu 8


Ivan Mihocek Udaljeno upravljanje LED rasvjetom

(engl. mesh network), gdje svaki krajnji čvor može poslati poruku drugom krajnjem čvoru
preko posrednika koji su između u mreži.

Svaki uređaj u mreži ima dvije adrese: 64-bitnu MAC adresu i 16-bitnu mrežnu adresu. MAC
adresa je unikatna u svijetu, dok je mrežna adresa unikatna u mreži.

Fizički se komunikacija odvija na 2,4 GHz (širom svijeta), 902 – 928 MHz (SAD i Australija)
te 868 MHz (Europa).

U mreži postoje 3 tipa uređaja:

• Coordinator – uređaj koji kreira mrežu i daje joj jedinstveni PAN ID broj.
Njegova mrežna adresa je uvijek 0.
• Ruter – uređaj koji bi trebao biti priključen na stalno napajanje (gradska
mreža), a ne bateriju. Sposoban je povećavati domet mreži preko mesh
topologije.
• End device – uređaj koji može biti energetski ograničen (baterijsko napajanje)
te može slati podatke samo do najbližeg rutera, koji se onda dalje brine da
podaci stignu na odredište.

Slika 4. Zigbee mreža


Izvor: http://www.rfwireless-world.com/Tutorials/Zigbee_tutorial.html

Budući da je Zigbee standard specificiran i otvoren, mnogi proizvođači rade svoje čipove,
module i programske pakete koji podržavaju Zigbee komunikaciju.

Međimursko veleučilište u Čakovcu 9


Ivan Mihocek Udaljeno upravljanje LED rasvjetom

Još jedna bitna stavka u pametnim kućama je sigurnost. Zigbee protokol koristi 128-bitne
simetrične enkripcijske ključeve za zaštitu.

2.1.4.2. Z-Wave
Z-Wave je bežični protokol koji se koristi u pametnim kućama. Karakteristike su mu
pouzdanost i niska brzina prijenosa. Koristi nelicencirane frekvencije za prijenos (868 i 908
MHz), što pomaže u sprječavanju smetnji i interferencija s Wi-fi, Bluetooth i Zigbee
protokolima. Poruka može preskočiti četiri čvora na putu do krajnjeg čvora, što je dovoljno za
većinu primjena u pametnim kućama.

Glavna razlika između Z-Wave i Zigbee protokola je u zatvorenosti. Z-Wave čipove i


module proizvodi samo jedna tvrtka: Sigma Designs. Oni daju i programsku podršku, koja
osigurava da su svi Z-Wave uređaji kompatibilni. Zigbee uređaje proizvodi mnoštvo
proizvođača i moguća su razna tumačenja istog protokola što dovodi do nekompatibilnosti.

Sigurnost Z-Wave protokola je u tome što je to zatvoreni protokol te nigdje nije objavljen
dizajn radiodijela čipova, što u praksi onemogućava potencijalne zlonamjernike u
kriminalnim radnjama.

2.1.4.3. Wi-Fi
Wi-Fi je tehnologija za bežično lokalno povezivanje s uređajima na temelju IEEE
802.11 standarda. Wi-Fi je zaštitni znak Wi-Fi Alliancea koji ograničava upotrebu terminala
Wi-Fi Certified na proizvode koji uspješno provode testove za certificiranje
interoperabilnosti. Uređaji koji mogu upotrebljavati Wi-Fi tehnologiju uključuju osobna
računala, konzole za videoigre, pametne telefone, digitalne fotoaparate, tablet-računala,
pametne televizore, digitalne audioreproduktore i moderne pisače. Kompatibilni Wi-Fi uređaji
mogu se povezati s internetom putem WLAN-a i bežične pristupne točke. Takva pristupna
točka (ili hotspot) ima raspon od oko 20 metara u zatvorenom prostoru i veći raspon na
otvorenom. Pokrivenost hotspotom može biti manja kao (npr. jednokrevetna soba sa zidovima
koji blokiraju radiovalove) ili vrlo velika (npr. nekoliko četvornih kilometara ostvareno
korištenjem višestrukih preklapajućih pristupnih točaka).

Wi-Fi najčešće koristi 2,4 GHz UHF i 5 GHz ISF frekvencije. Bez fizičkih veza, on je
osjetljiviji na napad od žičanih veza, kao što je ethernet.

Međimursko veleučilište u Čakovcu 10


Ivan Mihocek Udaljeno upravljanje LED rasvjetom

Za komunikaciju između centralne jedinice i cloud servisa koriste se razni protokoli; ovdje su
obrađeni MQTT i PubNub.

2.1.4.4. MQTT
MQTT je publish-subscribe bazirani protokol namijenjen za upotrebu na vrhu TCP-IP
protokola. Troši vrlo malo mrežnog prometa te je podoban za senzore koji šalju svoje podatke
na „oblak“. Zahtijeva priključenje na neku vrstu dispečera (engl. Broker), koji prima pretplate
(engl. subscribe) pojedinog senzora/uređaja na neku temu. [5]
Protokol MQTT (Message Queue Telemetry Transport) razvili su Andy StanfordClark
(IBM) i Arlen Nipper (Eurotech) 1999. godine, da bi pratili naftovod usred pustinje. Bio im je
potreban protokol koji bi omogućio efikasnu brzinu prijenosa podataka uz malu potrošnju
baterije i jeftiniji cjelokupni sustav. Razvijeni protokol MQTT s objavi – pretplati
arhitekturom pokazao se lakšim i ekonomičnijim od protokola HTTP (HyperText Transfer
Protocol) s modelom zahtjeva i odgovora. Model objavi – pretplati pogonjen je događajima i
omogućava klijentima da objavljuju poruke bez brige o njihovoj konačnoj destinaciji.
Konačnu destinaciju objavljene poruke određuje posrednik MQTT koji na osnovi klijentskih
pretplata prosljeđuje poruke i tako oslobađa klijente od slanja zahtjeva za porukama od
interesa, za razliku od protokola HTTP kod kojeg klijenti moraju tražiti informacije koje
trebaju od poslužitelja. Protokol MQTT odlikuje i mala veličina fiksnog zaglavlja od svega 2
bajta što dodatno smanjuje mrežno opterećenje.

Međimursko veleučilište u Čakovcu 11


Ivan Mihocek Udaljeno upravljanje LED rasvjetom

Slika 5. MQTT protokol


Izvor: https://thenewstack.io/mqtt-protocol-iot/

2.1.4.5. PubNub
PubNub je također publish-subscribe protokol za komunikaciju između senzora i
servisa za vizualizaciju podataka. Vrlo lako se koristi te postoje biblioteke koje ga podržavaju
u JavaScriptu, .NET-u, Javi, Rubyju, Pythonu itd. U ovom radu se koristi ovaj protokol. Dio
koji se vrti na Raspberry Piju je napisan u Pythonu, dok je dio koji se izvodi u browseru
Javascript.
Mreža PubNub sadržava 300 milijuna uređaja te streama više od 750 milijardi poruka
na mjesec. PubNub koristi model objavljivanja/pretplate za streaming podataka u realnom
vremenu i signalizaciju uređaja te podržava sve mogućnosti WebSocketa, Socket.IO, SignalR,
WebRTC Data Channel i drugih protokola za streaming. PubNub nudi SDK-ove za više od 70
različitih programskih jezika i okruženja, uključujući JavaScript, iOS i Android, kao i
JavaScript okvire kao što su AngularJS, Ember.js i Backbone.js. PubNub također pruža
programsku podršku za SBC platforme, uključujući Raspberry Pi, Arduino, Texas Instruments
i Microchip.

Međimursko veleučilište u Čakovcu 12


Ivan Mihocek Udaljeno upravljanje LED rasvjetom

Slika 6. PubNub arhitektura


Izvor: https://www.pubnub.com/docs/web-javascript/data-streams-publish-and-
subscribe

Protokol podržava broadcast (jedan prema mnogima) i unicast (jedan na jedan)


poruke. Sve poruke su zaštićene AES i TLS/SSL enkripcijom. [6]

Međimursko veleučilište u Čakovcu 13


Ivan Mihocek Udaljeno upravljanje LED rasvjetom

2.2. Arhitektura sustava


2.2.1. Blok-shema

Slika 7. Blok-shema
Izvor: Ivan Mihocek

Na blok-shemi (Slika 5.) se nalazi razvijeni sustav. Sastoji se od popularnog SBC-a


(engl. Single board computer) Raspberry Pija, rasvjete tj. ledice, pripadajućih otpornika,
mobitela ili laptopa za kontrolu te Wi-Fi access pointa za stvaranje Wi-Fi mreže.

2.2.2. Raspberry Pi

Međimursko veleučilište u Čakovcu 14


Ivan Mihocek Udaljeno upravljanje LED rasvjetom

Raspberry Pi je računalo u obliku male tiskane pločice koja na sebi sadrži sve elemente
potrebne za rad, nastalo kao proizvod Raspberry Pi Foundation sa željom da se potakne razvoj
informatičke pismenosti s naglaskom na programiranje. Izvorni model je postao mnogo
popularniji nego što se očekivalo te se prodavao izvan ciljanog tržišta (npr. u robotici). Do
2016. g. prodano je 11 milijuna uređaja, što je najprodavanije britansko računalo svih
vremena.

Osnovu Rasperry Pi računala čine Broadcom čipovi koji su odgovorni za centralni


ARM procesor (700 MHz ARM1176JZF-S core ARM11 family) i grafički procesor (Broadcom
VideoCore IV, OpenGL ES 2.0, MPEG-2 and VC-1, 1080p30 h.264/MPEG-4 AVC high-
profile decoder and encoder). Radna memorija je 256 MB (A model), tj. 512 MB (B model).

Osnovu sustava čine i 21 GPIO 3,3 V podatkovne linije te 10/100 ethernet modul za
priključak na žičnu mrežu i USB hub s 2 vanjska priključka.

Slika 8. Raspberry Pi
Izvor: https://www.raspberrypi.org/

Priključci dostupni na ploči su:

• video – HDMI 1.3 i 1.4, RCA


• audio – HDMI, 3,5 mm stereo

Međimursko veleučilište u Čakovcu 15


Ivan Mihocek Udaljeno upravljanje LED rasvjetom

• vanjska memorija – SD kartica


• USB – 2 USB 2.0 priključka
• mrežni adapter – standardni RJ45 priključak
• napajanje – micro USB adapter

Preporučena prodajna cijena (bez ostalih troškova) je 25 USD za model A i 34 USD za


model B. Da bi Raspberry Pi postao iskoristivo malo osobno računalo, minimalno je potrebno
dodati sljedeće komponente:

• SD memorijsku karticu kapaciteta 4 GB ili veću


• vanjsko napajanje od 5 V / 1-2 A.

Na Raspberry Pi moguće je instalirati šaroliku lepezu operacijskih sustava koji se


uglavnom baziraju na Linuxovim osnovama ili su sami Linuxove distribucije. Neki od
najpoznatijih su:

• Raspbian – Linux Debian distribucija s osnovnim elementima OS-a, orijentirana na


učenje programiranja
• Android 4.0 – standardna distribucija
• OpenELEC – kućna multimedijalna platforma
• Instant WebKiosk – operacijski sustav baziran na web-pregledniku.

U ovom radu se koristi Raspberry Pi B verzija i Raspibian OS. Za Raspberry Pi moguće je


kupiti razne dodatne periferije koje se priključe na njega, kao na primjer kamera, Gertboard
(pločica sa senzorima), infracrvena kamera te razne druge ekspanzijske pločice. [7]

2.2.3. LED rasvjeta

2.2.3.1. Općenito
Svjetleća dioda ili LED (od engl. light-emitting diode), često LE-dioda, posebna
vrsta poluvodičke diode koja emitira svjetlost kada je propusno polarizirana, tj. kada kroz nju
teče struja. Prilikom direktne rekombinacije para elektron – šupljina, emitira se foton svjetla.
Takvo svojstvo imaju poluvodiči galijev arsenid (GaAs), galijev fosfid (GaP) i silicijev
karbid (SiC). Ta pojava se naziva elektroluminiscencija. Boja emitiranog svjetla ovisi o

Međimursko veleučilište u Čakovcu 16


Ivan Mihocek Udaljeno upravljanje LED rasvjetom

poluvodiču, kao i o primjesama u njemu i varira od infracrvenog preko vidljivog


do ultraljubičastog dijela spektra. [8]

Slika 9. Svjetleće diode i električni simbol


Izvor: http://multidict.net/clilstore/page.php?id=5189

Svjetleća dioda je nelinearni elektronički element i, da bi došla u radnu točku,


potrebno je limitirati struju pomoću serijskog otpornika. Dioda se spaja na izlaz GPIO pina na
Raspberry Pi. Na tim pinovima moguće je dobiti 3,3 V. Uz pad napona na diodi od ~ 0,7 V,
na otporniku ostaje 2,6 V. Većini dioda potrebno je oko 20 mA da bi normalno svijetlile, što
nam daje vrijednost otpornika R1 od 130 oma.

Slika 10. Elektronička shema


Izvor: https://www.cl.cam.ac.uk/projects/raspberrypi/tutorials/turing-machine/two.html

U slučaju da bi preklapali neko veće trošilo od diode (na primjer žarulja sa žarnom
niti), GPIO pinovi ne bi mogli osigurati dovoljnu struju. Tada je potreban kompleksniji krug,
gdje GPIO pin uključuje i isključuje tranzistorsku sklopku, koja upravlja relejem na koji je

Međimursko veleučilište u Čakovcu 17


Ivan Mihocek Udaljeno upravljanje LED rasvjetom

spojena žarulja (Slika 9.). Dioda tu služi za zaštitu od induciranog napona u trenutku
prekidanja struje u zavojnici releja.

Slika 11. Shema za prekidanje jačeg trošila


Izvor: http://www.electroschematics.com/8975/arduino-control-relay/

2.2.3.2. PWM kontrola jačine rasvjete

PWM (engl. Pulse width modulation) je modulacijska tehnika koja se koristi da bismo
s jednom naponskom razinom u sustavu (npr. 3,3 ili 5 V) mogli kontrolirati razinu snage
dovedene u trošilo. To se radi tako da se prosjek napona kontrolira uključivanjem i
isključivanjem. Efektivna snaga dovedena u sustav je onda ovisna o omjeru vremena koliko je
napon uključen i isključen (Slika 9.). Taj omjer se naziva radni ciklus (engl. duty cycle). U
ovom radu je ta tehnika iskorištena za kontrolu svjetlosti ledice. Za kreiranje PWM signala
iskorištena je Python biblioteka RPIO. [9]

Međimursko veleučilište u Čakovcu 18


Ivan Mihocek Udaljeno upravljanje LED rasvjetom

Slika 12. PWM modulacija


Izvor: http://www.electronics-tutorials.ws/blog/pulse-width-modulation.html

Slika 13. Oscilogram PWM-a pomoću RPIO biblioteke


Izvor: https://pythonhosted.org/RPIO/pwm_py.html

2.2.3.3. Rasvjeta
LED rasvjeta je rasvjeta u kojoj je izvor svjetla svjetleća dioda (LED) ili više njih.
LED rasvjeta ima životni vijek i električnu efikasnost nekoliko puta veću od žarulja sa
žarnom niti te su puno efikasnije i od flourescentnih žarulja. Za usporedbu, LED žarulja s
istom količinom svjetlosti kao žarulja sa žarnom niti troši 10 puta manje energije. Za razliku
od flourescentnih žarulja, LED žarulja nema vrijeme zagrijavanja, već momentalno svijetli u
punom sjaju. U Tablici 2. je prikazana usporedba triju najpopularnijih vrsta žarulja te je očito
da je LED rasvjeta najtrajnija i najštedljivija. Zbog dugotrajnosti i štedljivosti, početna razlika
u cijeni se vrlo brzo isplati.

Žarna nit Halogena LED

Međimursko veleučilište u Čakovcu 19


Ivan Mihocek Udaljeno upravljanje LED rasvjetom

Cijena ($) 0,41 1,17 3,66


Snaga (W) 60 43 6,5
Trajnost (h) 1000 1000 15000
Potrošnja nakon 20 godina ($) 307 259 42
Tablica 2.
Izvor: https://en.wikipedia.org/wiki/LED_lamp

Ušteda u rasvjeti je vrlo bitna jer se 19 % energije na svijetu koristi za osvjetljavanje.


U posljednje vrijeme javljaju se i bežične LED žarulje, koje u sebi imaju neku vrstu
radioprijamnika. Najčešće su povezane pomoću Zigbee ili Wi-Fi protokola. Najpoznatije su
Osramove Zigbee žarulje i Philipsove Hue žarulje. Takve žarulje mogu još dodatno smanjiti
potrošnju energije. Budući da su povezane radijski, a preko centralne jedinice su i spojene na
cloud, moguće je napraviti razna pravila za njihovo gašenje i paljenje. Također, korisnik može
paliti i gasiti svjetlo kada nije kod kuće (ako je npr. zaboravio).

Slika 14. Philipsov Hue sustav


Izvor: https://support.myharmony.com/en-us/harmony-experience-with-philips-hue

Korištenje automatskog smanjenja svjetla (engl. dimming) je aspekt pametne rasvjete koji
služi za smanjenje potrošnje energije. Ručno osvjetljavanje svjetla također ima isti učinak
smanjenja potrošnje energije.

Automatski sustavi smanjenja osvjetljenja, uključujući senzore pokreta i pojedinačne (osobne)


kontrole, prikladni su za uredske prostore otvorenog plana i mogu uštedjeti znatnu količinu

Međimursko veleučilište u Čakovcu 20


Ivan Mihocek Udaljeno upravljanje LED rasvjetom

energije (oko 32 %) u usporedbi s konvencionalnim rasvjetnim sustavom, čak i kada je


instalirana gustoća rasvjetne moći sustava automatskog osvjetljenja ~ 50 % veća od
konvencionalnog sustava.

Kao odgovor na tehnologiju dnevnog svjetla, razvijeni su sustavi automatiziranog odgovora


koji su povezani s dnevnim svjetlom kako bi se dodatno smanjila potrošnja energije. Te su
tehnologije korisne, ali imaju svoje padove. Mnogo puta, brzo i često može se pojaviti
prebacivanje svjetla, osobito tijekom nestabilnih vremenskih uvjeta. Ne samo da to smeta
ukućanima, nego također može smanjiti životni vijek žarulje. Varijacija ove tehnologije je
„diferencijalno prebacivanje“ ili „mrtvopojasna“ fotoelektrična kontrola koja ima više
osvjetljenja s kojima se prebacuje radi smanjenja smetnji ukućanima.

Pametna rasvjeta koja koristi senzore pokreta može raditi zajedno s drugom rasvjetom koja je
spojena na istu mrežu kako bi prilagodila rasvjetu po različitim uvjetima.

U budućnosti će svi senzori raditi u sinergiji s rasvjetom te će rasvjeta biti uključena


isključivo kada ima ukućana u pametnom domu, tj. u određenoj sobi.

Programska podrška
2.2.4. Programska podrška na Raspberry Pi platformi
Na Raspberry Piju se vrti Raspbian 7 OS, temeljen na Debian verziji Linuxova OS-a.
Na Raspberry Pi se spaja pomoću SSH shella, koji omogućuje pristup konzoli preko IP
adrese uređaja. Alat korišten za SSH konekciju je Putty [10].

Softver za primanje i slanje podataka je napisan u Python programskom jeziku,


verzija 2.7, koji dolazi instaliran na Raspberry Piju. Dio koda je iskorišten s repozitorija s
[11]. Koristi se git sustav za verzioniranje i spremanje koda, koji je već instaliran na
Raspberry Piju. Za dohvaćanje koda na lokalni sustav koristi se naredba u konzoli:

git clone https://github.com/shyampurk/PubNub-RaspberryPi-


RemoteControl.git

Međimursko veleučilište u Čakovcu 21


Ivan Mihocek Udaljeno upravljanje LED rasvjetom

Da bi se mogao koristiti PubNub sustav, potrebno je instalirati ga na sustav.


Naredba je sljedeća:

pip install pubnub

Također, potrebno je instalirati RPIO i RPi.GPIO biblioteke za upravljanje GPIO


pinovima i PWM sustavom:

sudo apt-get install python-dev python-rpi.gpio

sudo apt-get install python-setuptools

sudo easy_install -U RPIO

Za pokretanje skripte treba se pozicionirati unutar PubNub direktorija koji je


skinut s git repozitorija, ući u /driver direktorij te pokrenuti naredbu:

sudo python pidriver.py

Za automatizirano pokretanje skripte kod startupa Raspberryja, potrebno je dodati


sljedeću liniju u /etc/rc.local datoteku:

sudo python ./pidriver.py

2.2.4.1. Skripta pidriver.py


Skripta pidriver.py je skripta pisana u Pythonu, koja se vrti u pozadini, i čeka poruke s
PubNub servera te ih parsira. Također, upravlja GPIO pinom na koji je spojena ledica. Da bi
skripta mogla komunicirati s PubNubom te GPIO pinovima, potrebno je prvo uvesti potrebne
biblioteke:

from pubnub import Pubnub


import json,time
import RPi.GPIO as GPIO

Također, potrebno je postaviti GPIO pin u izlazni pin, koji može pogoniti ledicu:

#Setup GPIO
GPIO.setmode(GPIO.BOARD)
GPIO.setup(16, GPIO.OUT)

Međimursko veleučilište u Čakovcu 22


Ivan Mihocek Udaljeno upravljanje LED rasvjetom

Potrebno je i registrirati PubNub servis s važećim ključem za pretplatu i postavljanje


sadržaja:
#Setup PubNub
pubnub = Pubnub(publish_key="pub-c-bd0276ed-f876-49cc-b73d-
aa05b31efe63",subscribe_key="sub-c-76d94746-b211-11e4-b35d-
02ee2ddab7fe")
pubnubChannelName = 'gpio-raspberry-control'

Nakon toga potrebno je registrirati kanal i funkciju koja će se zvati kad se dobije neka
poruka:
pubnub.subscribe(pubnubChannelName, gpioCallback)

Ovaj dio koda prima poruke s browsera i prema njima pali i gasi ledicu:

#PubNub Channel Subscribe Callback


def gpioCallback(msg,channel):

global glow

respstring = ''
command = msg

print "Command is : " + str(command)

if('req' in command):
if(command['req'] == 'toggle'):

if(glow):
glow = False;
respstring = 'off'
else:
glow = True
respstring = 'on'

GPIO.output(16, glow)

respmsg = {"resp" : respstring }


pubnub.publish(pubnubChannelName, respmsg)

Dio koda za PWM povećavanje i smanjivanje jačine svjetlosti nije prikazan zbog
veličine te će biti predan u digitalnom obliku.

2.2.4.2. Skripta za dobivanje IP adrese na e-mail

Međimursko veleučilište u Čakovcu 23


Ivan Mihocek Udaljeno upravljanje LED rasvjetom

Za lakši pristup Raspberry Piju napravljena je skripta koja javi IP adresu samog Pija
na e-mail adresu kod samog bootanja sustava. Skripta se zove startup_mailer.py te je
njezin poziv također dodan u /etc/rc.local datoteku.

Za dohvaćanje IP adrese unutar Pythona korištena je socket biblioteka:

testIP = "8.8.8.8"
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect((testIP, 0))
ipaddr = s.getsockname()[0]
host = socket.gethostname()

Za slanje e-maila je korištena Python biblioteka email.

2.2.4.3. Apache server


Na Raspberry Piju je također instaliran apache server [12]. Pomoću njega je moguće
spajati se na web-sučelje direktno pomoću IP adrese dobivene preko e-maila.

Da bi se to omogućilo, unutar /var/www direktorija potrebno je iskopirati dio koda za


primanje i vizualizaciju podataka (indeks.html).

2.2.5. Primanje i vizualizacija podataka

U svrhu ovog završnog rada razvijeno je jednostavno grafičko sučelje. Statički dio je u
HTML-u, dok interakcija s PubNubom radi u Javascriptu.

Međimursko veleučilište u Čakovcu 24


Ivan Mihocek Udaljeno upravljanje LED rasvjetom

Slika 15. Grafičko sučelje


Izvor: Ivan Mihocek

Na Slici 12. prikazano je jednostavno grafičko sučelje. Tipka TOOGLE služi za


isključivanje i uključivanje same ledice. Tipke LED + i LED – služe za kontrolu jačine
svjetlosti same ledice (pomoću PWM modulacije).

Grafički dio je izveden u HTML-u. Datoteka je index.html. Ta datoteka se može staviti


na Raspberry Pi te se pokretati preko apache servera. To znači da kad se u web-preglednik
upiše IP adresa Pija, pokrenut će se index.html. Naravno, računalo ili mobitel mora biti u istoj
lokalnoj mreži kao Raspberry Pi. Ako nije, treba osigurati da Raspberry Pi ima internet-
konekciju te pokrenuti index.html direktno u web-pregledniku mobitela ili računala. Na taj
način se može spajati i paliti svjetlo s bilo kojeg mjesta s internet-konekcijom.

Npr., kod za prikaz ledice je sljedeći:

#led {

position: absolute;
margin: 0px;
left: 110px;
top: 75px;
width: 51px;
height: 75px;
right: auto;
bottom: auto;
border-radius: 25px 25px 0px 0px;
border: 0px none rgb(0, 0, 0);
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
-webkit-transform: translateZ(0px);
background-size: 100% 100%;

Međimursko veleučilište u Čakovcu 25


Ivan Mihocek Udaljeno upravljanje LED rasvjetom

}
Dio za komunikaciju preko PubNuba je u Javascriptu. Najprije se moramo povezati s
istim ključem koji je korišten na Raspberry Piju te istim imenom kanala:

var pubnub = PUBNUB.init({


publish_key: 'pub-c-bd0276ed-f876-49cc-b73d-aa05b31efe63',
subscribe_key: 'sub-c-76d94746-b211-11e4-b35d-02ee2ddab7fe'
});

pubnub.subscribe({
channel: 'gpio-raspberry-control',
message: function(m){

Nadalje, potrebno je implementirati funkcije triju tipki (smanjenje svjetla, povećanje te


uključenje/isključenje):

$( document ).ready(function() {
$('#plus').click(function(e){
pubmsg = { "req" : "plus" };
pubnub.publish(
{
channel : 'gpio-raspberry-control' ,
message : pubmsg
}
);
});
$('#minus').click(function(e){
pubmsg = { "req" : "minus" };
pubnub.publish(
{
channel : 'gpio-raspberry-control' ,
message : pubmsg
}
);
});
$('#toogle').click(function(e){
pubmsg = { "req" : "toogle" };
pubnub.publish(
{
channel : 'gpio-raspberry-control' ,
message : pubmsg
}
);
});
});
Na Slici 15. je prikazano moguće unapređenje sustava, gdje bi se na grafičkom sučelju
prikazivao tlocrt kuće s postavljenim žaruljama (bežičnim). Klikom na pojedinu žarulju dobio
bi se uvid u njezino stanje (on/off) i jačinu svjetlosti (postotak). Trenutno zbog vremenskog

Međimursko veleučilište u Čakovcu 26


Ivan Mihocek Udaljeno upravljanje LED rasvjetom

ograničenja u ovom radu to nije izvedeno (a i zbog skupih bežičnih žarulja) te je ostavljeno za
neke buduće radove.

Slika 15. Tlocrt kuće s bežičnim žaruljama


Izvor: https://www.researchgate.net/figure/281170377_fig1_Fig-1-CASAS-smart-home-floor-
plan-and-sensor-layout-The-location-of-each-sensor-is

3. Rezultati

Međimursko veleučilište u Čakovcu 27


Ivan Mihocek Udaljeno upravljanje LED rasvjetom

Testiranje je provedeno tako da je Raspberry Pi uključen u kućni ruter. Napajanje je dovedeno


preko micro USB kabela i punjača za mobitel. LED rasvjetu predstavlja LED dioda s
otpornikom.

Nakon bootanja, Raspberry pošalje svoju IP adresu na odabrani e-mail. Ako se ta IP adresa
unese u web-preglednik, i ako je računalo/mobitel u istoj lokalnoj mreži kao Raspberry, dolazi
se do stranice za upravljanje i vizualizaciju podataka. Tu se može paliti i gasiti LED rasvjeta.

Ako računalo/mobitel nije u lokalnoj mreži, potrebno je ručno pokrenuti datoteku index.html.
Tim pristupom se LED rasvjeta može paliti i gasiti s bilo kojeg mjesta na svijetu s internet-
konekcijom.

U ovom radu je pokazano da se pomoću lako dostupnih platformi i otvorenoga koda može
lako doći do vidljivih rezultata u Internet of Things paradigmi. Pomoću lako dostupnih
materijala moguće je doći do rezultata koji su lako primjenjivi u praksi, industriji i znanosti.

Slika 16: Razvijeni sustav


Izvor: Ivan Mihocek

Slika 17: Razvijeni sustav u kutiji

Izvor: Ivan Mihocek

Međimursko veleučilište u Čakovcu 28


Ivan Mihocek Udaljeno upravljanje LED rasvjetom

4. Zaključak
Ovim završnim radom pokazano je da Raspberry Pi kao raširena platforma za IoT
projekte vrlo dobra za ovakve projekte (LED rasvjeta). Također, je pokazano da je PubNub
kao sustav za povezivanje IoT uređaja vrlo fleksibilan i jednostavan za korištenje. Za
cjelokupno programiranje korišten je programski jezik Python koji je prikladan za ovakve
projekte jer je vrlo jednostavan i lak za korištenje. Pokazano je da je dobro koristiti raširenu
platformu kao što je Raspberry Pi zbog lake nabavljivosti i vrlo velike online zajednice koja
omogućava razmjenu ideja i programskog koda.

Za sljedeći korak, bilo bi potrebno zamijeniti ledicu pravom LED žaruljom. Također,
redizajn i postavljanje stranice za prikaz i upravljanje na internetu bio bi dobar sljedeći korak.

Međimursko veleučilište u Čakovcu 29


Ivan Mihocek Udaljeno upravljanje LED rasvjetom

5. Literatura
[1] M2M Research Series: Smart Homes and Home Automation
https://ec.europa.eu/research/innovation-union/pdf/active-healthy-
ageing/berg_smart_homes.pdf

[2] Smart Lightning: https://en.wikipedia.org/wiki/Smart_lighting

[3] Internet of Things: http://www.theinternetofthings.eu/

[4] Techopedia: https://www.techopedia.com/definition/28247/internet-of-things-iot

[5] MQTT Protocol: http://mqtt.org/

[6] PubNub Protocol: https://www.pubnub.com/

[7] Raspberry Pi: https://www.raspberrypi.org/

[8] TechTarget: http://whatis.techtarget.com/definition/light-emitting-diode-LED

[9] PWM modulation: https://en.wikipedia.org/wiki/Pulse-width_modulation

[10] Putty: http://www.putty.org/

[11] LED control from web: https://www.pubnub.com/blog/2015-06-11-remote-control-


raspberry-pi-leds-from-a-web-browser-ui/

[12] Apache: http://www.apache.org/

[13] Inteligentna ili pametna kuća, Željko Knok, Bruno Trstenjak, Jurica Trstenjak:
hrcak.srce.hr/file/99078

[14] "Sustainable Smart Home and Home Automation: Big Data Analytics Approach", Li,
Rita Yi Man; Li, Herru Ching Yu; Mak, Cho Kei; Tang, Tony Beiqi.

Međimursko veleučilište u Čakovcu 30

You might also like