Sigurna, štedljiva, upravljiva utičnica

Слични документи
Daljinski upravljiva utičnica

Naslov seminarskog rada

LED-svjetiljka s Litij-ion akumulatorom

ELEKTROTEHNIČKI FAKULTET, UNIVERZITET U BEOGRADU KATEDRA ZA ELEKTRONIKU UVOD U ELEKTRONIKU - 13E041UE LABORATORIJSKA VEŽBA Primena mikrokontrolera

KONFIGURACIJA MODEMA THOMPSON SpeedTouch 500 Series (530/530i/510/510i)

Sadržaj Wi-Fi MESHtar...4 Upute za povezivanje osnovnog paketa od dva uređaja...6 Savjeti i napredne postavke A) Preporuke za optimalno postavljanje u

Microsoft Word - WLA-5200AP_QSG_HRV_7modes_1.doc

PuTTY CERT.hr-PUBDOC

RIP (računalom integrirana proizvodnja, engl. CIM) Embedded računala Internet of Things (IoT) Open source hardware i software Hardware maker movement

VIK-01 opis

PRIKAZIVAČ BRZINE I BROJILO PROMETA ZA STATISTIČKU OBRADU PODATAKA

Microsoft Word - Svrha projekta.doc

Yeastar_S20_vodic_za_montazu

JEDNOFAZNI ASINKRONI MOTOR Jednofazni asinkroni motor je konstrukcijski i fizikalno vrlo sličan kaveznom asinkronom trofaznom motoru i premda je veći,

WAMSTER Prezentacija

Microsoft Word - Tok casa Elektronski elementi Simeunovic Bosko

INDIKATOR SVJETLA FUNKCIJE TIPKI 1. Prikazuje se temperatura i parametri upravljanja 2. Crveno svjetlo svijetli kad grijalica grije 3. Indikator zelen

BDV-EF1100

Elektronika 1-RB.indb

AKVIZICIJA PODATAKA SA UREĐAJEM NI USB-6008 NI USB-6008 je jednostavni višenamjenski uređaj koji se koristi za akviziciju podataka (preko USBa), kao i

F-6-14

Microsoft Word - ZADACI H&S 1-4.doc

RIP (računalom integrirana proizvodnja, engl. CIM) Embedded računala Internet of Things (IoT) Open source hardware i software Hardware maker movement

Pages from 5527 lite guick guide from PDF - prevod_IO_FC - Serbian.doc

STONEX S5 GNSS prijemnik GNSS prijemnik visoke točnosti za prikupljanje podataka za GIS

Microsoft Word - PLC na Ethernet mrezi.doc

Informacije o proizvodu Instalacija-iKey-čitača AZU30000 TCS TürControlSysteme AG Geschwister-Scholl-Str. 7 D Genthin Technische Änderungen vorb

Toplinska i električna vodljivost metala

F-6-158

Microsoft Word - 13-Mreze.doc

Z-16-48

BDV-E6100/E4100/E3100/E2100

Mjerna oprema 2011

Naslov seminarskog rada

P11.3 Analiza zivotnog veka, Graf smetnji

Z-16-45

CJENIK KUĆNE I KOMERCIJALNE SERIJE AZURI DC INVERTER ZIDNI KLIMA UREĐAJI SUPRA STANDARDNO UKLJUČENO -- Wifi sučelje -- Led display -- Automatski rad -

Naslov seminarskog rada

РЕПУБЛИКА СРБИЈА МИНИСТАРСТВО ПРИВРЕДЕ ДИРЕКЦИЈА ЗА МЕРЕ И ДРАГОЦЕНЕ МЕТАЛЕ Београд, Мике Аласа 14, ПП: 34, ПАК: телефон: (011)

Računalne mreže Osnove informatike s primjenom računala

KORISNIČKO UPUTSTVO

Apple MagSafe 2 85W adapter za struju (za MacBook Pro sa Retina displejom) MagSafe 2 85W adapter za struju poseduje magnetni DC konektor tako da ako s

Microsoft PowerPoint - LB7-2_WCCF_2010.ppt

Sveučilište J.J. Strossmayera Fizika 2 FERIT Predložak za laboratorijske vježbe Određivanje relativne permitivnosti sredstva Cilj vježbe Određivanje r

ODE_0 [Compatibility Mode]

1. PRIMIJENJENI PROPISI Na jednofazna statička brojila električne energije tipova ZCE5225 i ZCE5227 proizvodnje Landis+Gyr (u daljnjemu tekstu: brojil

KA-SERIE KA KA KA KA KA KA KA-10 SPD-SERIE SPD-8V SPD-10 17

SVEUČILIŠTE U RIJECI Odsjek za politehniku Sebastijan Mofardin Mobilno upravljani sustav za navodnjavanje DIPLOMSKI RAD Rijeka 2018.

Rad u mrežnom okruženju Osnove informatike s primjenom računala

RAČUNALO

Mentor: Ružica Mlinarić, mag. inf. Računalstvo Usporedba programskih jezika Sabirnice Operacijski sustav Windows 10 Operacijski sustav ios Osnovna gra

Vaillant BiH 2017 cjenik final web.pdf

Microsoft Word - Neprekidan izvor napajanja.docx

MultiBoot Korisnički priručnik

oae_10_dom

VMC_upute_MacOS

m_BlueEagleII_Cover.indd

JMBAG Ime i Prezime Mreže računala Završni ispit 16. veljače Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i službeni šalabahter.

Broj indeksa:

Microsoft Word - privitak prijedloga odluke

install_KEE_Croatian.indd

JAVNA USTANOVA PARK PRIRODE TELAŠĆICA T F E w A Sali X 1, Sali IBAN HR25

KATALOG TEMA ZA ZAVRŠNE RADOVE Strojarstvo

Microsoft PowerPoint - OOPpredavanja05 [Compatibility Mode]

Medicinski prekidački izvor napajanja PSMA06 UPUTSTVO ZA UPOTREBU v 1.1 Tehnički podaci Model: PSMA06 Ulaz: V ~ 50/60 Hz ma Izlaz: 6 V

Повезивање са интернетом

Produženo jamstvo za nova vozila OPEL Trogodišnje jamstvo Četverogodišnje jamstvo Petogodišnje jamstvo Neograničena Neograničena MODEL do km d

David Zovko - Moj Croduino - s obrascima

pricalica.PDF

KorisnickoA5TercF1

Verzija 1 A R C M A N S E C U R I T Y D E V I CE ilogger-11 opis uređaja i tehnička specifikacija ARCMAN Vikentija Rakića Zemun Tel: 011/3731

EMC doc

F-6-59

Yeastar_S100_vodic_za_montazu

Test ispravio: (1) (2) Ukupan broj bodova: 21. veljače od 13:00 do 14:00 Županijsko natjecanje / Osnove informatike Osnovne škole Ime i prezime

Microsoft PowerPoint - 13-Funkcije_2.ppt [Compatibility Mode]

CARNET: Upute za korisnike Sadržaj uputa 1. Što je CARNET? Tko ima pravo na CARNET uslugu? CARNET APN Uvjeti korištenja usluge

OpenVPN GUI CERT.hr-PUBDOC

Asfora

Memorijski moduli Priručnik

Web programiranje i primjene - Osnovni pojmovi WEB tehnologije korišteni u kolegiju

Ukupno bodova:

Microsoft PowerPoint - uvod2008.htm

Microsoft PowerPoint - LB7-2_WCCF_2012.ppt

Elektrotehnički fakultet Univerziteta u Beogradu Relejna zaštita laboratorijske vežbe Vežba 3: ISPITIVANJE ELEKTRONSKOG FREKVENCIJSKOG RELEJA RFN-30 U

РЕПУБЛИКА СРБИЈА МИНИСТАРСТВО ПРИВРЕДЕ ДИРЕКЦИЈА ЗА МЕРЕ И ДРАГОЦЕНЕ МЕТАЛЕ Београд, Мике Аласа 14, ПП: 34, ПАК: телефон: (011)

Slide 1

Yeastar_S50_vodic_za_montazu

Logičke izjave i logičke funkcije

ANTENALL d.o.o. Ljiljane Krstić 24, Zemun - Altina Tel CENOVNIK D-LINK MREŽNE OPREME Važi od :

1. BP LED SIJALICA E27 BP LED Sijalica je tip štedne sijalice (SSL) koja koristi diode koje emitiraju svijetlost (LEDs) kao izvor svijetlosti. Te diod

katalog1414

untitled

PROTIVPROVALA JUN HONEYWELL.xlsx

ELEKTRONIKA

Daljinski upravljiva utičnica

Sveučilište u Zagrebu

8 2 upiti_izvjesca.indd

Транскрипт:

Matija Nestić 0036478072 Mato Lovrenović 0036468828 SEMINARSKI RAD - SPVP Tekst je namijenjen svima zainteresiranima za pametne kuće Potrebna predznanja: Elektronika, računalne mreže Prototip pametne utičnice 14. lipnja 2018

Sažetak Pametne utičnice omogućuju korisnicima da uključuju i isključuju trošila putem Interneta. utičnica nudi korisnicima veću sigurnost korištenjem senzora za detekciju trošila. Senzor omogućuje da je napon u utičnici samo kada je detektirano spojeno trošilo te se time minimizira mogućnost strujnog udara. Utičnica se sastoji od senzora blizine, releja, tipkala za ručno uključivanje trošila i LED indikatora. Prilikom uključivanja utičnica se spaja na lokalnu WiFi mrežu. Za povezivanje sa lokalnom mrežom i upravljanje utičnicom koristi se mikrokontroler ESP8266 za kojeg je razvijena programska podrška korištenjem Arduino biblioteka. Prednosti sigurne, štedljive i upravljive utičnice su mogućnost povezivanja sa Internetom, kontrola utičnice iz bilo kojeg kutka svijeta i sigurnost koju nam pruža senzor blizine objekata. Projekt je koristan svima koji žele upravljati trošilima sa veće udaljenosti ili im je bitno da iz sigurnosnih razloga utičnica nije pod naponom. Sadržaj UVOD... 3 DIJELOVI SUSTAVA (MATIJA NESTIĆ)... 4 1.1. Power board... 5 1.2. Logic board... 7 1.2.1. Regulator napona 3,3 V... 8 1.2.2. ESP8266... 9 1.2.3. Komponente za interakciju sa korisnikom...11 1.2.4. Značenje i prikaz statusa LED indikatorom...12 1.2.5. Senzor za detekciju spojenog trošila (QRE1113)...13 KUČIŠTE (MATIJA NESTIĆ)...14 PROGRAMSKA PODRŠKA (MATO LOVRENOVIĆ)...17 1.2.6. Incijalizacija...18 1.2.7. Spajanje na lokalnu WiFi mrežu...19 1.2.8. Detekcija i klasifikacija pritisnute tipke...20 1.2.9. Agent za promjenu stanja...21 1.2.10. Posluživanje HTTP zahtjeva...22 ZAKLJUČAK...24 LITERATURA...25 Ovaj seminarski rad je izrađen u okviru predmeta Sustavi za praćenje i vođenje procesa na Zavodu za elektroničke sustave i obradbu informacija, Fakulteta elektrotehnike i računarstva, Sveučilišta u Zagrebu. Sadržaj ovog rada može se slobodno koristiti, umnožavati i distribuirati djelomično ili u cijelosti, uz uvjet da je uvijek naveden izvor dokumenta i autor, te da se time ne ostvaruje materijalna korist, a rezultirajuće djelo daje na korištenje pod istim ili sličnim ovakvim uvjetima. 2

utičnica Uvod Pametne utičnice povezane sa Internetom, utikači, letve za napajanje i prekidači izvrstan su početak izgradnje pametne kuće. Dodaju praktičnost bilo kojem uređaju i mogu uvelike smanjiti račun za struju isključivanjem električnih uređaja koji se trenutno ne koriste i troše struju dok čekaju u pripravnosti (stand-by). Osim smanjenje potrošnje, povezanost sa Internetom omogućuje upravljanje utičnicom iz bilo kojeg kutka Zemlje. Štedljiva, sigurna i upravljiva utičnica polazi od koncepta pametne utičnice, ali mu se dodaje sigurnosni aspekt. Cilj je povećati sigurnost utičnice odnosno smanjiti broj nesreća uzrokovanih strujnim udarom. Sigurnost utičnica može biti osobito bitna obiteljima sa malo djecom koja mogu nastradati ako gurnu prst ili neki metalni predmet u utičnicu. Rješenje tog probleme je utičnica koja je pod naponom samo kada je priključeno trošilo. Uz sigurnosni aspekt utičnica je i upravljiva preko Interneta. Uz upravljanje utičnicom to nam omogućava i slanje informacija o korištenju trošila. Takve podatke možemo iskoristiti za analizu potrošnje i korištenja ili za pokretanje nekog drugog djela pametne kuće. 3

Sklopovlje pametne utičnice (Matija Nestić) Sigurna, štedljiva i upravljiva utičnica sastoji se od kućišta, ugradbene elektronike i programske podrške. Unutar kućišta nalaze se dvije tiskane pločice. Tiskane pločice podijeljene su po funkcionalnosti, prva pločica sadrži komponente potrebne za napajanja sklopova i relej za uključivanje odnosno isključivanje trošila. Druga tiskana pločica na sebi sadrži komponente za komunikaciju, interakciju sa korisnikom (tipkalo, LED indikator) i senzor prisutnosti utikača u utičnici. Tiskane pločice su povezane kablom za upravljanje relejom te napajanje logičke tiskane pločice. 4

utičnica 1.1. Power board Slika 1 3D prikaz power board tiskane pločice Power board je tiskana pločica na kojoj se nalaze komponente za napajanje sklopova i relej koji uključuje odnosno isključuje trošilo. Na ulazne konektore tiskane pločice dovode se obje faze gradske mreže. Relej se koristi kako bi kontrolirao uključivanje i isključivanje trošila prekidanjem jedne od faza gradske mreže. Kontaktom releja mogu teći struji do 10 A, uz prekidanje napona do 250 VAC. Špula releja uklapa kontakte sa naponima od 5 V. Za kontrolu releja koristi se MOSFET 2N7002. Pošto je špula induktivni teret koji uključujemo i isključujemo relativno velikom brzinom potrebno je zaštiti tranzistor diodom D1 (1N4148) od prevelikog induciranog napona. Slika 2 Shema sklopa za upravljanje i zaštitu releja 5

Slika 3 Shema napajanja +5 V Za dobivanje napajanja od 5 V koristi se Meanwellovo AC/DC prekidačko napajanje. Prekidačko napajanje IRM-02-05 dolazi kao gotov modul i ne zahtjeva dodatne pasivne komponente. Snaga prekidačkog napajanja je 2 W, a izlazni napon je stabiliziranih 5 V. Slika 4 Unutarnja blok shema IRM-02-05 6

utičnica 1.2. Logic board Slika 5 3D prikaz logic board tiskane pločice Logic board je tiskana pločica na kojoj se nalaze komponente za komunikaciju, upravljanje cijelim sustavom, interakciju sa korisnikom i senzor prisutnosti utikača u utičnici. Za komunikaciju se koristi ESP8266 koji se spaja na lokalnu WiFi mrežu i stvara mali web server za upravljanje utičnicom. ESP8266 koristi se i za upravljanje cijelim sustavom. Korisnik može upravljati utičnicom preko web servera ili preko tipkala na kućištu. Povratnu informaciju o stanju utičnice korisnik može dobiti preko web servera ili putem LED indikatora. 7

1.2.1. Regulator napona 3,3 V Slika 6 Shema regulatora 3,3 V Za dobivanje napona od 3,3 V koristi se linearni regulator AZ1117EH-3.3 koji se nalazi na logic board PCB-u. Linearni regulator je odabran jer je ulazni napon relativno mali (5 V) pa nemamo preveliku disipaciju snage. To nam omogućuje jednostavniji dizajn u odnosu na prekidački regulator. Uz regulator imamo dva keramička kondenzatora u 1206 kućištu kapaciteta 2.2 uf. Koriste za filtriranje i stabilizaciju regulatora. 8

utičnica 1.2.2. ESP8266 ESP8266 je jeftini mikrokontroler sa podrškom za WiFi. Dolazi sa integriranim TCP/IP stackom. Proizvodi ga Espressif Systems iz Kine. U sklopu ovog projekta korišten je gotov modul ESP8266-12E. Na tiskanoj pločici modula se uz mikrokontroler nalazi i flash memorija, antena i par pasivnih komponenti potrebnih za rad sklopa. Gotov modul omogućuje brzi razvoj i lagano povezivanje na lokalnu mrežu odnosno vezu sa Internetom. Mikrokontroler uz TCP/IP stack ima 17 GPIO priključaka te jedinice za komunikaciju pomoću I2C, 1-wire, SPI, UART protokola što nam omogućuje kontrolu nad sustavom (nije nam potreban još jedan mikrokontroler). U ovome projektu ESP8266 se koristi za povezivanje sa lokalnom mrežom WiFi mrežom, stvaranje web servera na mreži te za očitavanje senzora i upravljanje relejom i LED indikatorom. Slika 7 9

Slika 8 Shema spajanja modula ESP8266-12E sa ostatkom komponenti Modul se napaja napajanjem od 3,3 V. Tijekom odašiljanja potrebno mu je oko 150-200 ma struje (vršna potrošnja je oko 300 ma) pa je potrebno dodati kondenzatore C5 i C6 koji moraju biti blizu modula kako bi mogli predati dovoljno energije odašiljaču. Za programiranje se koristi USB- UART bridge sa TX, RX i DTR, RTS linijama. TX i RX linije se koriste za prijenos podataka, a DTR i RTS linije se koriste za konfiguraciju sklopa pri programiranju (pomoću tranzistora Q4 i Q2). Pritezni otpornici R1-R6 se također koriste za konfiguraciju modula. Osim WiFi-a i UART-a koriste se ulazni GPIO priključci za prikupljanje podataka o stanju tipke i senzora blizine te izlazni GPIO priključci upravljanje relejom i LED indikatorom. 10

utičnica 1.2.3. Komponente za interakciju sa korisnikom Kako je već navedeno korisnik može upravljati sa utičnicom (i pregledati trenutno stanje) preko web servera koji je utičnica stvorila. Drugi način na koji korisnik može upravljati utičnicom je pomoću tipkala odnosno može saznati trenutno stanje utičnice pomoću LED indikatora na kućištu. Slika 9 Shema periferije Tipkalo je spojeno preko zateznog otpornika od 100 kohma na napajanje od 3,3 V. Dok korisnik ne stisne tipkalo, mikrokontroler će očitavati visoko stanje na svom GPIO ulazu. Kada korisnik stisne tipkalo, ulaz GPIO_PB biti će spojen na masu. Kondenzator C8 koristi se za debouncing tipkala odnosno za sprječavanje krivog očitanja tipkala usred titranja kontakta. LED indikator spojen je na napajanje od 3,3 V preko otpornika od 220 Ohma. Katoda LED indikatora spojena je na izlazni GPIO priključak mikrokontrolera. Odabrana je ovakva konfiguracija zato jer izlazni stupanj GPIO-a ima veću sink od source struje. To nam omogućuje da po potrebi možemo podesiti otpornik R9 kako bi postigli željeno osvjetljene za specifičan LED indikator. 11

1.2.4. Značenje i prikaz statusa LED indikatorom Prilikom ukopčavanja utičnice u gradsku mrežu mikrokontroler se mora inicijalizirati. Tijekom toga procesa LED indikator će cijelo vrijeme biti uključen. Nakon toga utičnica ulazi u konfiguracijski mod. U tom stanju utičnica će stvoriti vlastitu pristupnu točku (Access point) pomoću koje je moguće upisati podatke potrebne za spajanje na željenu mrežu. Tijekom toga stanja LED indikator treperiti će malom frekvencijom (1 Hz). Kada je veza ostvarena sa lokalnom mrežom LED indikator će brzo treperiti tijekom jedne sekunde te se nakon toga ugasiti. Tijekom rada utičnice LED indikator prikazuje trenutno stanje releja utičnice. Ako je trošilo spojeno i uključeno LED indikator će svijetliti odnosno neće ako trošilo nije spojeno ili nije uključeno. Tipkalo radi nakon konfiguracije i spajanja utičnice na lokalnu mrežu. Ako je trošilo spojeno u utičnicu, ali trenutno nije uključeno, utičnicu možemo uključiti kratkim pritiskom na tipkalo. Ako je trošilo prisutno i trenutno uključeno možemo ga isključiti dugim pritiskom na tipkalo (trajanje pritiska 2..10 sekundi). 12

utičnica 1.2.5. Senzor za detekciju spojenog trošila (QRE1113) Za detekciju spojenog trošila u utičnici koristio se senzor blizine objekta QRE1113. Senzor je pozicioniran u središtu utičnice. Dolazi u malom 2,7 x 3,4 mm kućištu sa četiri nožice. Unutar kućišta nalazi se IR LED dioda i fototranzistor. Detekcija objekta se vrši na principu reflektirane svjetlosti IR LED diode u fototranzistor. Slika 10 Kućište QRE1113 Dioda je spojena na konstantni izvor napajanja od 3,3 V preko otpornika R5 od 220 Ohma (Id = 10 ma). Fototranzistor je spojen u emiterskom spoju pojačala odnosno kolektor mu je spojen na napajanje preko otpornika R12 otpora 12 kohma. Pomoću otpora R5 i R6 moguće je mijenjati osjetljivost fototranzistora. Izlaz senzora je kolektor fototranzistora koji se nakon toga spaja na ulaz tranzistora Q3. Tranzistor 2N7002 ima napon praga od 1,2 V i koristi se kako bi osigurali da signal na ulazu GPIO priključka nikad ne dođe u nedefinirano područje rada. Slika 11 Princip rada senzora blizine QRE1113 13

Kućište (Matija Nestić) Za potrebe projekta dizajnirano je kućište po mjeri koje sadrži sve komponente koje se koriste u projektu. Kučište je dizajnirano oko utičnice, utikača i elektroničkih komponenti, a dizajnirano je pomoću Autodesk Inventora. Autodesk Inventor je moćan softverski alat za parametarsko 3D modeliranje kompleksnih sklopova, izradu prateće tehničke dokumentacije te renderiranje i mehaničke simulacije. Veći dio kućišta je napravljen pomoću 3D printera koji se koristio za izradu prednjeg i stražnjeg dijela kućišta te za izradu power tipkice. Stražnji dio kućišta sastoji se od stražnje maske izrađene na 3D printeru i gotovog utikača koji je kupljen i zalijepljen u kućište. Prednja strana kućišta sastoji se od gotove utičnice te prednje maske i tipkice. Utičnica je kao i utikač lijepljena na prednju masku. Kućište je zatvoreno vijcima za plastiku. Slika 12 3D prikaz gotov kućišta 14

utičnica Slika 13 3D prikaz gotov kućišta Slika 14 3D prikaz unutrašnjosti kućišta 15

Slika 15 3D prikaz unutrašnjosti kućišta 16

utičnica Programska podrška (Mato Lovrenović) Programska podrška napisana je u Arduino IDE okruženju korištenjem biblioteka razvijenih za Arduino platformu. Kod se sastoji od nekoliko komponenti. To su inicijalizacija mikrokontrolera, spajanja na dostupnu WiFi mrežu, posluživanje http zahtjeva, detekcija vrste pritiska tipkala i agenta za uključivanje i isključivanje releja odnosno utičnice. Tijekom inicijalizacije mikrokontroler inicijalizira varijable i postavlja GPIO priključke na početne vrijednosti. Nakon toga započinje spajanje na WiFi mrežu. Ukoliko mikokontroler pronađe WiFi mrežu na koju se već spajao pokušat će se spojiti sa podacima koje ima spremljene u memoriji. Ako tijekom traženja dostupnih mreža ne postoji poznata mreža, stvara se AP sa nazivom S2U2_ + zadnja 3 bytea mac adrese. Novostvorena mreža omogućava unos podataka za spajanje na neku od dostupnih WiFi mreža. Nakon unosa podataka i uspješnog spajanja na WiFi mrežu, mikrokontroler ulazi u beskonačnu petlju u kojoj poslužuje HTTP zahtjeve, provjerava stanje tipkala i upravlja se relejom i LED indikatorom. Slika 16 Dijagram osnovnih komponenti programske podrške 17

1.2.6. Incijalizacija Tijekom inicijalizacije mikrokontroler postavlja GPIO priključke u potrebna stanja. Inicijalizira dva izlaza za relej i LED indikator te dva ulazna priključka za očitavanje stanje tipkala i senzora blizine. Na kraju funkcije za inicijalizaciju periferije uključuje LED indikator kao signalizaciju da je uređaj uključen i da je završena faza inicijalizacije periferije. Funkcija za inicijalizaciju periferije: void initperip (){ //Init GPIOs direction pinmode(relay, OUTPUT); pinmode(led, OUTPUT); pinmode(btn, INPUT); pinmode(sense_proxy, INPUT); //initial periph. states LedOn(); RelayOff(); 18

utičnica 1.2.7. Spajanje na lokalnu WiFi mrežu Spajanje na lokalnu WiFi mrežu vrši se pomoću biblioteke WiFiManager koju je razvio GitHub korisnik tzapu. Biblioteka stvara WiFi pristupnu točku sa konfiguracijskim portalom za unos podataka o WiFi mreži. Stvorena pristupna točka preusmjerava sve uređaje na adresu konfiguracijskog portala. Ako WiFiManager prilikom pokretanja pronađe WiFi mrežu koja se već koristila i podaci o njoj su spremljeni u memoriju, započinje sa automatskim spajanjem na tu WiFi mrežu. Biblioteka omogućuje dodavanje prilagođenih polja uz postojeća SSID i password polja. U ovom projektu je to iskorišteno za mogućnost promjene hostnamea mdns usluge. Nakon spajanja na WiFi mrežu pokreće se web server i mdns usluga. Kod za konfiguraciju WiFi-a: //Wifi setup WiFiManager wifimanager; wifimanager.setapcallback(wificonfigmodecallback); byte mac [6]; WiFi.macAddress(mac); friendlyname = "S2U2_" + String(mac[4], HEX) + String(mac[5], HEX) + String(mac[6], HEX); WiFiManagerParameter hostname("server", "hostname", friendlyname.c_str(), 40); wifimanager.addparameter(&hostname); for (int i=0; i<6; i++) Serial.println(mac[i]); String ssid = friendlyname; char ssid_c [50] = {0; ssid.tochararray(ssid_c, 50); if (!wifimanager.autoconnect(ssid_c, "12345678")){ Serial.println("Connection timeout, RESET"); ESP.reset(); //signal succesful wifi connection friendlyname = String(hostName.getValue()); ledticker.attach(0.2, LedTick); delay(1000); ledticker.detach(); LedOff(); // print ip address for debuging Serial.println("ip addr"); Serial.println(WiFi.localIP()); //Wifi setup complete 1.2.8. 19

Detekcija i klasifikacija pritisnute tipke Tipkalo se koristi kako bi korisnik mogao upravljati utičnicom bez spajanja na web server. Kako bi se spriječilo slučajno uključivanje i isključivanje trošila, uveden je dugi i kratki pritisak tipke. Dugi pritisak tipke isključuje uređaj ako uređaj trenutno radi. Kratki pritisak uključuje uređaj ako uređaj trenutno ne radi. Stanje tipkala se očitava svakih 100 ms (PB_POOL_RATE u ms). Kratki pritisak se definira kao pritisak tipke između 0,2 i 1,5 sekunde. Dugi pritisak je definiran od 1,5 do 10 sekundi. Klasifikacija se svodi na brojanje pozitivnih očitanja i vidljiva je u kodu. Kod za detekciju i klasifikaciju stanja tipke if (readbtnpres){ //btn is pressed cnt++; else{ if (cnt){ if (cnt > PB_SHORT_PRESS_TIME * 1000/PB_POOL_RATE){ if (cnt <= PB_LONG_PRESS_TIME * 1000/PB_POOL_RATE){ //long press occured pbstate = PB_LONG_PRESS; else{ //error timeout occured pbstate = PB_NO_PRESS; else{ //short press occured pbstate = PB_SHORT_PRESS; cnt = 0; delay(100); private: uint8_t cnt; uint8_t pbstate; public: unsigned int getpbstate(void){ unsigned int temp = (unsigned int) pbstate; pbstate = PB_NO_PRESS; return temp; 20

utičnica 1.2.9. Agent za promjenu stanja Utičnica može dobiti zahtjev za promjenu stanja iz raznih izvora. Zahtjev za promjenu stanja može doći putem weba, preko tipke ili zato jer trošilo više nije prisutno. Kako bi se izbjegla komplicirana struktura upravljanja releja i LED indikatora koristi se agent koji se poziva svaki put kada netko želi promijeniti stanje utičnice. void socketagent (){ if (digitalread(sense_proxy)){ if (socketstate == STATE_ON){ if (pbtask.getpbstate() == PB_LONG_PRESS){ socketstate = STATE_OFF; else{ if (pbtask.getpbstate() == PB_SHORT_PRESS){ socketstate = STATE_ON; else{ //reset to default state if (socketstate!= STATE_OFF){ socketstate = STATE_OFF; if (socketstate == STATE_ON){ RelayOn(); LedOn(); else{ RelayOff(); LedOff(); 21

1.2.10. Posluživanje HTTP zahtjeva Jedan od načina upravljanja utičnicom je putem web preglednika. Korisnik se koristeći mdns usluge spaja na web stranicu utičnice i od tamo može vidjeti trenutno stanje utičnice odnosno može vidjeti je li trošilo spojeno u utičnicu je li uključeno ili isključeno. Uz trenutno stanje može i upravljati utičnicom to jest slati zahtjev za uključivanje i isključivanjem utičnice. Web stranica napisana je u html kodu koji se jednim dijelom mijenja i generira ovisno o stanju utičnice. Zahtjevi za promjenu stanja prenose se GET metodom koristeći json tehnologiju. 22

utičnica Kod za obradu HTTP zahtjeva: void httprequest(){ LedOn(); int n = server.args(); if (n) { String _argname = server.argname(0); String _argval = server.arg(0); if (_argname == "json") { StaticJsonBuffer<200> jsonbuffer; JsonObject& root = jsonbuffer.parseobject(_argval); String state = root["state"]; if (state == "on"){ setstate(state_on); else if (state == "off"){ setstate(state_off); else{ //error, reload page else{ //error, reload page // Display the HTML web page String htmlmsg = "<!DOCTYPE html><html>\n"; htmlmsg += "<head><meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n"; htmlmsg += "<link rel=\"icon\" href=\"data:,\">\n"; // CSS to style the on/off buttons // Feel free to change the background-color and font-size attributes to fit your preferences htmlmsg += "<style>html { font-family: Helvetica; display: inline-block; margin: 0px auto; text-align: center;\n"; htmlmsg += ".button { background-color: green; border: none; color: white; padding: 16px 40px;\n"; htmlmsg += "text-decoration: none; font-size: 60px; margin: 2px; cursor: pointer;\n"; htmlmsg += ".button2 {background-color: red;</style></head>\n"; // Web Page Heading htmlmsg += "<body><h1>pametna Uticnica</h1>\n"; htmlmsg += "<body><h1>ime: " + friendlyname + "</h1>\n"; if (getstate() == STATE_ON && digitalread(sense_proxy)){ // Display current state, and ON/OFF buttons for GPIO 5 htmlmsg += "<p> Utikac: prisutan </p>\n"; htmlmsg += "<p> Stanje uticnice: Ukljuceno </p>\n"; htmlmsg += "<p><a href=\"/?json={%22state%22:%22off%22\"><button class=\"button button2\">off</button></a></p>\n"; else{ //current state = off htmlmsg += digitalread(sense_proxy)==high? "<p> Utikac: prisutan </p>\n" : "<p> Utikac : nije prisutan </p>\n" ; htmlmsg += "<p> Stanje uticnice: Iskljuceno</p>\n"; htmlmsg += "<p><a href=\"/?json={%22state%22:%22on%22\"><button class=\"button\">on</button></a></p>\n"; htmlmsg += "</body></html>\n"; // The HTTP response ends with another blank line htmlmsg +="\n"; server.send(200, "text/html", htmlmsg); LedOff(); 23

Zaključak Rezultat ovog projekta je prototip štedljive, sigurne i upravljive utičnice. Utičnica omogućava spajanje sa lokalnom WiFi mrežom, upravljanje trošilom preko Interneta te povećanu sigurnost korisnika. Prednost S2U2 utičnice je povećana sigurnost i zaštita od strujnog udara. Koristi od utičnice će imati svi ljudi koji imaju potrebu upravljati sa trošilima sa većih udaljenosti te ljudi kojima je potrebna povećana sigurnost utičnica, kao npr. roditelji sa malom djecom. Sljedeći koraci su stvaranje servera koji će moći upravljati sa svim S2U2 utičnicama na mreži sa jednog mjesta te skupljati podatke sa svih utičnica. 24

utičnica Literatura [1] Arduino ticker, https://github.com/esp8266/arduino/tree/master/libraries/ticker [2] ESP mdns (13.6.2018.), https://github.com/esp8266/arduino/tree/master/libraries/esp8266mdns [3] ESP8266 wiki (13.6.2018.), https://www.esp8266.com/wiki/doku.php [4] IRM-02 datasheet (13.6.2018.), http://www.meanwell.com/upload/pdf/irm- 02/IRM-02-SPEC.PDF [5] NodeMCU wiki (13.6.2018.), https://en.wikipedia.org/wiki/nodemcu [6] SRD-05VDC Relej datasheet, http://www.circuitbasics.com/wpcontent/uploads/2015/11/srd-05vdc-sl-c-datasheet.pdf [7] WiFi Manager (13.6.2018.), https://github.com/tzapu/wifimanager 25

Pojmovnik Pojam Kratko objašnjenje Više informacija potražite na Arduino IDE ESP8266 12E IDE za razvoj Arduino programske podrške Gotov WiFi modul sa antenom i mikrokontrolerom i TCP/IP stackom https://www.arduino.cc/en/main/software? https://en.wikipedia.org/wiki/esp8266 WiFi Bežična lokalna mreža https://en.wikipedia.org/wiki/wi-fi mdns Multicast DNS https://en.wikipedia.org/wiki/multicast_dns HTTP Hypertext Transfer Protocol https://en.wikipedia.org/wiki/hypertext_transfer_protocol 26