of 25/25
»Mladi za napredek Maribora 2016« 33. srečanje Tok tok - lahko vstopim? Raziskovalno področje: PROIZVODNO-TEHNIČNO Inovacijski predlog Maribor, februar 2016

Tok tok - lahko vstopim?

  • View
    3

  • Download
    0

Embed Size (px)

Text of Tok tok - lahko vstopim?

33. sreanje
Typewritten text
Avtor: JAKA ZUPANC, MATIJA LIKAR Mentor: BORIS VOLARI Šola: OŠ BRATOV POLANIEV MARIBOR
2
KAZALO
VSEBINA
2.5 Relejsko stikalo .................................................................................................. 8
2.6 Podatkovna baza ................................................................................................ 9
2.8 RFID .................................................................................................................. 10
4
POVZETEK
Zaradi zapletov ob vstopu v uilnico za tehniko in tehnologijo smo se odloili, da bomo
olajšali dostop z elektronsko kljuavnico in RFID tehnologijo. Najprej smo se lotili pisanja
programa v Pythonu. Raspberry Pi smo povezali z RFID italcem in eksperimentalno
plošo, na kateri smo preizkušali naše elektronsko vezje. Nato smo se lotili priprave
Googlove preglednice in pisanja skripte v Google Apps Scriptu. Ko smo to zakljuili, smo
sistem prikljuili na ATX napajalnik, nanj pa elektronsko kljuavnico. Raspberry Pi, RFID
italec in konano elektronsko vezje smo pritrdili v ohišje, v katerega smo prej izvrtali
luknje za LED diodi in luke na RFID italcu. Elektronko kljuavnico smo namestili na
podboj vrat in preizkusili sistem. S tem projektom smo pomagali šoli, osebju na šoli ter
uencem. Dvignili smo nivo varnosti in poskrbeli za evidenco vstopov v uilnico.
5
ZAHVALA
Rada bi se zahvalila najinemu mentorju za vso pomo, navodila in spodbudo ob delu.
Zahvaljujeva se tudi vodstvu šole za kritje finannih stroškov za vso opremo in g. hišniku
za pomo pri vgradnji kljuavnice.
6
1 UVOD
Ob vstopu v uilnico za tehniko in tehnologijo pogosto nastajajo zapleti, saj ima le
pešica osebja klju, ki odklepa vrata. Odloili smo se, da bomo s pomojo Raspberry Pi-
ja, Googlove preglednice in skripte, programa v Pythonu ter elektronskega vezja krmilili
elektrino kljuavnico, ki jo bomo lahko odklepali z RFID obeski, ki jih bo preital RFID
italec ob kljuavnici. Uporabili bomo obeske, ki jih uenci in uitelji e uporabljajo za
evidenco prehrane in uitelji za evidenco delovnega asa. Izdelali bomo tudi preprosto
spletno aplikacijo, preko katere bo Raspberry Pi preverjal, ali imajo posamezniki
dovoljenje za vstop ter beleil vstope. Preko spletne aplikacije bo uitelj uencem dovolil
ali onemogoil vstop ter bo imel popoln pregled nad vsemi, ki so vstopili in tistimi, ki so
eleli vstopiti, vendar so bili zavrnjeni.
2 TEORETSKE OSNOVE
2.1 Elektronska kljuavnica
Elektronska kljuavnica je podobna navadni, le da jo lahko odpremo tudi z dovodom
elektrinega toka vanjo. Dovod elektrinega toka lahko krmilimo tako, da se ob
doloenem dejanju (v našem primeru, da ko se priblia kljuek, ki ima dovoljenje za
vstop) odpre.
Elektronsko kljuavnico namestimo v podboj ob kljuki, tako da se kljuavnica vanj
zatakne. Kljuka na vratih mora biti slepa, saj je drugae sistem nepotreben.
Elektronsko kljuavnico prikljuimo na 12 V izmeninega ali enosmernega toka. Ko je
krog sklenjen, se kljuavnica odklene in obratno.
Fotografija 1: Elektronska kljuavnica s strani
Fotografija 2: Del kljuavnice, ki odlkepa in zaklepa vrata
7
2.2 Raspberry Pi
Raziskovalci iz angleške univerze Cambridge so imeli idejo o majhnem in poceni
raunalniku za otroke, ko so opazili upad znanja in spretnosti programiranja pri
študentih. Ker so otroci zaeli na raunalnike gledati drugae, zaradi cene (starši namre
svojim otrokom ne bi kupili tako dragih raunalnikov za programiranje), je navedena
štirilanska ekipa (Eben Upton, Rob Mullins, Jack Lang in Alan Mycroft) med letoma 2006
in 2008 naredila nekaj prototipov, ki so sedaj zdrueni v Raspberry Pi. V letu 2008 so
procesorji za mobilne telefone postali cenovno ugodni in dovolj moni za zagotavljanje
predvajanja visokokakovostnih posnetkov. Pomislili so, da bi bilo to mogoe tisto, saj
vendarle vsi otroci z raunalnikom ne bi programirali, kot je bilo mišljeno v samem
zaetku. Videti je bilo, da bi projekt vendarle lahko uspel. Ekipo je zapustil en izmed
lanov (Eben Upton), pridruila pa sta se jim dva nova (Pet Lomas in David Braben), da
bi ustvarili Raspberry Pi. Tri leta pozneje se je zaela mnoina proizvodnja modela B.
Celoten postopek je potekal preko pooblašenih podjetij, ki se ukvarjata z elektroniko,
element 14/Premier Farnell in RS Electronics, po letu dni pa je bilo prodanih ve kot
milijon kosov te naprave. Fundacija ima veliko eljo podpreti in pomagati celotni
izobraevalni skupnosti. Bili so veseli in malo zaudeni, saj so prejeli veliko število
povpraševanj od agencij in ljudi iz oddaljenih drav. To jih je vznemirilo, saj so si sami
zadali drugaen cilj, kot le proizvajanje naprav ter prodajo, ki nima povezave z
izobraevanjem. Prekiniti elijo s tem, da je za raunalnik potrebno zapraviti ve sto
evrov, medtem ko druine nimajo monosti uporabe interneta. Hoejo imeti tudi
raunalnik, ki bo dovolj dober za otroke, veselo pa zrejo v prihodnost skladiša. (1)
2.3 Python
Python je prenosljiv, interaktiven, objektno usmerjen skriptni programski jezik, katerega
ukazi se med izvajanjem programa tolmaijo v strojni jezik. Vgrajenih ima veliko
smiselnih lastnosti drugih modernih programskih jezikov. Je primeren jezik za zaetnike,
saj je enostaven, prijazen pri pisanju daljših kod, skripta je lahko berljiva, saj je format
kode enostaven, pregleden in znailen samo za Python. (2)
8
Jezik se je zael razvijati leta 1989. Snoval ga je Guido Van Rossum na Nizozemskem. Ime
je dobil po priljubljeni angleški televizijski nanizanki Letei cirkus Montyja Pythona
(Monthy Python's Flying Circus). 16. oktobra 2000 je bil ustvarjen Python 2.0, ki je
vseboval veliko novih lastnosti in podporo za Unicode. 3. decembra 2008 je izšel Python
3.0. Uporabljajo ga tudi veja podjetja kot so Google, Yahoo!, CERN in NASA. Python se
uporablja na podroju umetne inteligence in za obdelavo naravnega jezika. Uporablja ga
tudi mikroprocesor Raspberry Pi. (3)
Python je enostavno razširljiv preko modulov napisanih v C ali C ++ in ga je mogoe
vgraditi tudi v druge aplikacije, kot na primer knjinico. Lahko se izvaja na UNIX,
Machintosh in DOS napravah. V primerjavi z drugimi programskimi jeziki je kodo v
Pythonu laje pisati, brati in vzdrevati. Jezik prihaja z razhroševalnikom, ki ga v celoti
poganja sam Python, nekaj okenskimi vmesniki, prefinjenim nainom urejanja GNU
Emacs in z veliko primeri ter predstavitvami. Python vsebuje znailne aritmetine
operaterje (seštevanje, odštevanje, mnoenja, deljenje, modulo). Poleg tega vsebuje še
simbola ** za potenciranje in @ za matrino mnoenje. (4)
2.4 Google Apps Script
Google Apps Script je programski jezik, ki temelji na JavaScriptu. Programerjem
omogoa vstavljanje dodatkov in razširitev v Googlove dokumente, preglednice, Drive,
stike, koledarje, zemljevide ... Vse skripte se izvajajo na Googlovih strenikih. Prinaša
enostaven nain za avtomatiziranje dejanj znotraj Googlovih aplikacij ali tretjih strani.
2.5 Relejsko stikalo
Relejsko stikalo ali rele je stikalo, ki ga v celoti upravlja elektrika. Veina jih uporablja
elektromagnet, ki mehansko upravlja stikalo, vendar se uporabljajo tudi druga naela,
kot je SSR (solid-state relay). Relejsko stikalo se uporablja, ko elimo z nijo napetostjo
nadzorovati elektrini krog z visoko napetostjo ali ko elimo nadzorovati ve elektrinih
krogov z enim samim signalom. Solid state releji ne vsebujejo preminih delov, temve
nadzorujejo krog z polprevodno napravo. Nekateri releji se uporabljajo tudi za
9
prepreevanje kratkih stikov in preobremenitve. Sestavni deli elektromagnetnega releja
so kotev, elektromagnetna tuljava in stikalo. Ko skozi tuljavo stee elektrini tok se
ustvari elektromagnetno polje, ki premakne kotev in ta premakne stikala, ki sklenejo ali
prekinejo elektrini krog. (5)
2.6 Podatkovna baza
Podatkovna baza (podatkovna zbirka) je sklop zbirke dokumentov, ki so tematsko
povezani s sistemom za razvršanje dokumentov. Je neke vrste knjinica, vendar v
vsakodnevnem pogovoru pomeni raunalniški sistem za shranjevanje podatkov.
Poznamo ve vrst podatkovnih baz. Razdelimo jih na: hierarhine, mrene, relacijske in
objektne. (6)
obremenitev med strenik in odjemalca. Med seboj komunicirata preko raunalniškega
omreja. Odjemalec streniku pošlje podatke v obliki zahtevka, strenik pa nato vrne
podatke odjemalcu v obliki odgovora. Za delovanje potrebujeta skupni dogovor o obliki
podatkov, ki jih izmenjujeta. Ta je doloen kot "communication protocol". Za dodatno
formalizacijo podatkov lahko strenik izvaja API (application programming interface).
API je niz rutin, protokolov in orodij za gradnjo programskih aplikacij. Za prepreevanje
dostopa do vsebin, so na streniku doloene omejitve, do katerih vsebin lahko
odjemalec dostopa. Ta princip uporabljajo raunalniške aplikacije kot so e-pošta,
omreni tisk in svetovni splet. (7)
10
Radio frekvenna identifikacija (RFID) je tehnologija za prenos podatkov med italcem in
elektronsko znako. Prvi je bila omenjena leta 1948. Elektronska znaka vsebuje
procesor, ki procesira podatke, in anteno, oddaja radijske signale. Sprejema jih RFID
italec. Znake delimo glede na nain napajanja ter nain prenosa podatkov:
1. Aktivni RFID vsebuje baterijo, ki poganja oddajnik. Je draji od ostalih, vendar ima
vejo mo, daljši domet in bolj zanesljivo delovanje v neprijaznem okolju.
2. Pasivni RFID dobi energijo za delovanje v signalu, ki dosee anteno. Je cenejši in ima
kratek domet.
sprejema signal na principu modulacijskega odboja.
4. Indukcijski RFID za delovanje uporablja princip magnetne indukcije. Vsebuje še 2
tuljavi, ki z uporabo bremenske modulacije pošljeta podatke italcu. (8)
3 METODOLOGIJA DELA
3.1 Shema delovanja
Vse se zane, ko oseba prisloni RFID kljuek k italcu kartic. italec pošlje preko USB
kabla Raspberry Pi-ju kodo kljuka. Program na Raspberry Pi-ju preko spleta pošlje
zahtevo za dovoljenje Googlovi preglednici. Skripta v Googlovi preglednici pošlje
odgovor o dovoljenju nazaj Raspberry Pi-ju, ta pa nato po dovoljenju odpre elektronsko
kljuavnico. Skripta v drugem listu Googlove preglednice belei vsak poskus vstopa, zato
vedno vemo kdaj in kdo je poskušal in kdaj in kdo je prišel v sobo.
Shema 1: Prikaz deljenja podatkov med posameznimi napravami
12
3.2 Napajanje
Za napajanje Raspberry Pi-ja in kljuavnice smo uporabili star raunalniški ATX
napajalnik. Napajalnik je prikljuen v elektrino omreje (230 V izmeninega toka).
Za zagon napajalnika smo spojili PS_ON# kabel (zelena) in GROUND kabel (rna):
Fotografija 3: Napajalnik pred zdruevanjem zelenega in rnega kabla
Fotografija 4: Napajalnik po zdruenju zelenega in rnega kabla
Priklopili smo Rasberry Pi tako, da smo spojili +5 V kabel (rdea) in GROUND (rna) z
micro USB prikljukom:
Fotografija 5: ATX napajalnik in micro USB kabel pred spojitvijo kablov
Fotografija 6: Napajalnik in Raspberry Pi po spojitvi z micro USB kablom
13
Za napajanje elektronske kljuavnice smo +12 V kabel (rumena) preko elektronskega
vezja z relejskim stikalom, ki ga upravlja Raspberry Pi, povezali GROUND kabel (rna):
Fotografija 7: Rumeni kabel pred spojitvijo s prikljukom elektronske kljuavnice
Fotografija 8: Oba kabla po spojitvi s prikljukoma
Fotografija 9: Kabla povezana z elektronsko kljuavnico
14
3.3 Elektronsko vezje
Preden smo povezali Raspberry Pi s kljuavnico smo imeli na izhodih samo rdeo in
zeleno diodo. Narisali smo nart in ga prenesli na testno plošico. Elektronsko vezje smo
povezali na standardni komunikacijski vmesnik na Raspberry Pi-ju (GPIO).
Shema 2: Povezava rdee in zelene LED diode z Raspberry Pi-jem
Fotografija 10: Osnovno vezje na testni plošici
Potem smo nadgradili vezje tako, da smo ga preko relejskega stikala povezali z
elektrinim krogom, ki odpira in zapira elektronsko kljuavnico. V primeru, da se prige
zelena LED dioda, stee tudi 5 V iz GPIO 2 v relejsko stikalo, ki sklene elektrini krog in
odklene elektronsko kljuavnico. Ker podatkovna prikljuka GPIO 7 in GPIO 11 oddajata
le 3,3 V signal, smo ga morali predhodno ojaati s tranzistorjem in 5 V napetostjo iz
prikljuka GPIO 2.
15
3.4 Odjemalec
Na Raspberry Pi-ju se izvaja program v Pythonu, ki preko USB kabla dobi kodo od RFID
italca in pošlje zahtevo na strenik. Za odgovor dobi »Da« ali »Ne« in glede na to pošlje
signal na GPIO 7 oz. GPIO 11 na standardnem komunikacijskem vmesniku, kamor je
priklopljeno elektronsko vezje iz prejšnjega poglavja. URL naslov preglednice je zaradi
varnosti cenzuriran.
16
Zaslonska slika 1: Skripta na Rasberry Pi-ju v programskem jeziku Python
17
3.5 Strenik
Strenik je v našem primeru skripta v Googlovih preglednicah, shranjena v Google Drive
in dana v skupno rabo z osebami, ki so odgovorne za dostop do uilnice.
V prvem delovnem listu preglednice so ID-ji kljukov, imena uencev in ali imajo ti vstop
v uilnico. Zaradi varnosti so ID-ji kljukov in imena uencev spremenjena.
Zaslonska slika 2: Seznam uencev v Googlovi preglednici
18
V drugi delovni list preglednice se zapisuje, kdo je priblial svoj RFID kljuek italcu, kdaj
in ali je lahko vstopil. Tabela se sproti posodablja ob vsakem novem obisku.
Zaslonska slika 3: Preglednica s poroilom o vstopih
V Google Apps Script smo zapisali skripto, ki smo jo uvedli kot spletno aplikacijo. Ob
prejeti zahtevi programa na Raspberry Pi-ju kot parameter prejme ID obeska, ga preveri
v prvi preglednici, zapiše obisk v drugo preglednico in vrne odgovor skripti na Raspberry
Pi-ju. URL naslov preglednice je zaradi varnosti cenzuriran.
19
Zaslonska slika 4: Google Apps skripta, ki upravlja spletno aplikacijo ter ureja tabelo
20
4 REZULTAT
S pomojo orodij, ki jih imamo na šoli, in lastnega znanja smo sestavili sistem za nadzor
dostopa, ki temelji na odprtokodni programski opremi in brezplanih spletnih storitvah
ter lahko dostopni in poceni strojni opremi.
Tabela 1: Kosovnica
1. 1 Elektronska kljuavnica 12 V 170 mA AC/DC 28,45 €
2. 1 Raspberry Pi model B 32,03 €
3. 1 Micro SD kartica 8 GB 4,20 €
1. 1 Ploša za elektronsko vezje 10x16 4,50 €
4. 1 Rele 5 V 2,54 €
2. 2 Upornik 1 kΩ 0,08 €
3. 1 NPN Tranzistor 0,06 €
4. 1 LED dioda zelena 0,10 €
5. 1 LED dioda rdea 0,10 €
6. 2 Ohišje za LED diodo 2,02 €
7. 1 ATX napajalnik Rezervni del
8. 1 RFID italec Rezervni del
9. 1 Ohišje 7,02 €
Seznam uporabljene programske opreme:
Operacijski sistem Raspbian (9)
21
RFID italec, Raspberry Pi in elektronsko vezje smo dali v plastino ohišje, v katerega smo
zvrtali luknje in nanj nalepili nalepke. Namestili smo ga na steno ob kljuko vrat v uilnico
za tehniko in tehnologijo.
Fotografija 11: Ohišje za Raspberry Pi, italec in elektronsko vezje
5 DRUBENA ODGOVORNOST
S tem izdelkom osebje šole ne bo potrebovalo stalno spremljati vhodnih vrat v uilnico,
saj bodo imeli na voljo poroilo o vstopih v Googlovi preglednici. Vstop v uilnico bo s
tem olajšan in veliko bolj praktien. Uitelji ne bodo ve posojali svojih kljuev uencem,
da bi lahko vstopali v uilnico, ampak jim bodo samo odobrili dostop v Googlovi
preglednici. Uenci, ki bodo tam imeli pouk tehnike in tehnologije ali drugega predmeta,
bodo lahko vstopili v uilnico tudi, e bo njihov uitelj takrat zaseden. Takšen izdelek se
lahko uporabi tudi v drugih uilnicah ali na glavnem vhodu za laje potrjevanje
prisotnosti uencev. Lahko bi se uporabil tudi na delovnih mestih ali v drugih ustanovah.
22
6 ZAKLJUEK
Ob delu smo dosegli vse zastavljene cilje, zato nam je uspelo narediti vse, kar smo
zapisali novembra v najavi. Ves as smo razmišljali tudi o idejah za izboljšave, vendar do
konca nismo mogli predvideti, kako se bo sistem obnašal, ko bo namešen na vrata. Ko
bo sistem e nekaj asa v uporabi, bomo o idejah znova prieli razmišljati.
e bi eleli izboljšati sistem, da bi ga lahko uporabili še drugje, bi morali prilagoditi
Googlove preglednice, tako da bi bile laje dostopne. Lahko bi ustvarili mobilno
aplikacijo, tako da bi lahko uitelji dostopali do preglednice preko mobilnega telefona ali
druge naprave in odpirali vrata tudi na daljavo. Lahko bi povezali preglednico z
eAsistentom (spletno aplikacijo za evidenco prisotnosti pri pouku, beleenje ocen in
komuniciranje s starši ali skrbniki uencev), tako da bi lahko vstopali v uilnico samo, e
se ujema z uno uro, ki jo imamo trenutno na urniku.
Ob projektni nalogi smo se nauili uporabe Raspberry Pi-ja, spoznali osnove
programiranja v Pythonu in Google Apps Scriptu, nadgradili smo znanje elektrotehnike
in programiranja, spoznali baze podatkov in druge tehnologije ter nove komponente
elektronskih vezij.
1. O Raspberry Pi. Slo-pi. [Elektronski] [Navedeno: 09. 02 2016.] https://slo-pi.com/o-
raspberry-pi.
2. Na kratko o programskem jeziku Python. Univerza v Mariboru. [Elektronski]
[Navedeno: 30. 1 2016.] http://student.pfmb.uni-mb.si/~hoslovnik/prva_stran.htm.
3. Python (programming language). Wikipedia. [Elektronski] [Navedeno: 31. 1 2016.]
https://en.wikipedia.org/wiki/Python_(programming_language).
4. Python for Unix/C Programmers Copyright 1993 Guido van Rossum 1 (1993).
Citerseex. [Elektronski] [Navedeno: 29. 1. 2016.]
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.38.2023.
https://en.wikipedia.org/wiki/Relay.
6. Google Apps Script. Wikipedia. [Elektronski] [Navedeno: 09. 2. 2016.]
https://en.wikipedia.org/wiki/Google_Apps_Script.
https://en.wikipedia.org/wiki/Client%E2%80%93server_model.
https://sl.wikipedia.org/wiki/Radiofrekven%C4%8Dna_identifikacija.
https://www.raspberrypi.org/downloads/raspbian/.
requests.org/en/latest/user/quickstart/.
11. Python (programski jezik). Wikipedia. [Elektronski] [Navedeno: 28. 1. 2016.]
https://sl.wikipedia.org/wiki/Python_%28programski_jezik%29.
https://sl.wikipedia.org/wiki/Podatkovna_zbirka.
25
Fotografija 1: Elektronska kljuavnica s strani ................................................................. 6
Fotografija 2: Del kljuavnice, ki odlkepa in zaklepa vrata ............................................... 6
Fotografija 3: Napajalnik pred zdruevanjem zelenega in rnega kabla ....................... 12
Fotografija 4: Napajalnik po zdruenju zelenega in rnega kabla .................................. 12
Fotografija 3: ATX napajalnik in micro USB kabel pred spojitvijo kablov ....................... 12
Fotografija 4: Napajalnik in Raspberry Pi po spojitvi z micro USB kablom .................... 12
Fotografija 5: rumeni kabel pred spojitvijo s prikljukom elektronske kljuavnice ....... 13
Fotografija 6: oba kabla po spojitvi s prikljukoma ........................................................ 13
Fotografija 7: Kabla povezana z elektronsko kljuavnico ............................................... 13
Fotografija 8: Postavitev na testi plošici ....................................................................... 14
Fotografija 9: Ohišje za Raspberry Pi, italec in elektronsko vezje. ............................... 21
Shema 1: Prikaz deljenja podatkov med posameznimi napravami ................................ 11
Shema 2: Povezava rdee in zelene LED diode z Raspberry Pi-jem ............................... 14
Shema 3: Priklop elektrine kljuavnice na Raspberry Pi ............................................... 14
Zaslonska slika 1: Skripta na Rasberry Pi-ju v programskem jeziku Python ................... 16
Zaslonska slika 2: Seznam uencev v Googlovi preglednici ............................................ 17
Zaslonska slika 3: Preglednica s poroilom o vstopih ..................................................... 18
Zaslonska slika 4: Google Apps skripta, ki upravlja spletno aplikacijo ter ureja tabelo . 19
Tabela 1: Kosovnica ........................................................................................................ 20