

> Sketchnote autorice [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliku za veću verziju.
> Sketchnote autorice [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliku za veću verziju.
@ -203,7 +203,7 @@ Kao drugi korak 'Hello World', pokrenut ćete CounterFit aplikaciju i povezati s
Aplikacija će se pokrenuti i otvoriti u vašem web pregledniku:
Aplikacija će se pokrenuti i otvoriti u vašem web pregledniku:


Bit će označena kao *Disconnected*, s LED-icom u gornjem desnom kutu isključenom.
Bit će označena kao *Disconnected*, s LED-icom u gornjem desnom kutu isključenom.
@ -224,7 +224,7 @@ Kao drugi korak 'Hello World', pokrenut ćete CounterFit aplikaciju i povezati s
1. U ovom novom terminalu pokrenite datoteku `app.py` kao i prije. Status CounterFit-a promijenit će se u **Connected** i LED-ica će se upaliti.
1. U ovom novom terminalu pokrenite datoteku `app.py` kao i prije. Status CounterFit-a promijenit će se u **Connected** i LED-ica će se upaliti.


> 💁 Ovaj kod možete pronaći u mapi [code/virtual-device](../../../../../1-getting-started/lessons/1-introduction-to-iot/code/virtual-device).
> 💁 Ovaj kod možete pronaći u mapi [code/virtual-device](../../../../../1-getting-started/lessons/1-introduction-to-iot/code/virtual-device).


> Sketchnote autorice [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliku za veću verziju.
> Sketchnote autorice [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliku za veću verziju.
@ -38,7 +38,7 @@ Dvije glavne komponente IoT aplikacije su *Internet* i *stvar*. Pogledajmo ove d
Ovi uređaji komuniciraju s fizičkim svijetom, bilo pomoću senzora za prikupljanje podataka iz okoline ili kontroliranjem izlaza ili aktuatora za fizičke promjene. Tipičan primjer je pametni termostat - uređaj koji ima senzor temperature, način za postavljanje željene temperature poput kotačića ili zaslona osjetljivog na dodir, i vezu s grijanjem ili hlađenjem koje se može uključiti kada je detektirana temperatura izvan željenog raspona. Senzor temperature detektira da je prostorija prehladna, a aktuator uključuje grijanje.
Ovi uređaji komuniciraju s fizičkim svijetom, bilo pomoću senzora za prikupljanje podataka iz okoline ili kontroliranjem izlaza ili aktuatora za fizičke promjene. Tipičan primjer je pametni termostat - uređaj koji ima senzor temperature, način za postavljanje željene temperature poput kotačića ili zaslona osjetljivog na dodir, i vezu s grijanjem ili hlađenjem koje se može uključiti kada je detektirana temperatura izvan željenog raspona. Senzor temperature detektira da je prostorija prehladna, a aktuator uključuje grijanje.


Postoji ogroman raspon različitih stvari koje mogu djelovati kao IoT uređaji, od specijaliziranog hardvera koji detektira jednu stvar, do uređaja opće namjene, pa čak i vašeg pametnog telefona! Pametni telefon može koristiti senzore za detekciju svijeta oko sebe i aktuatora za interakciju sa svijetom - na primjer, koristeći GPS senzor za detekciju vaše lokacije i zvučnik za davanje uputa za navigaciju do odredišta.
Postoji ogroman raspon različitih stvari koje mogu djelovati kao IoT uređaji, od specijaliziranog hardvera koji detektira jednu stvar, do uređaja opće namjene, pa čak i vašeg pametnog telefona! Pametni telefon može koristiti senzore za detekciju svijeta oko sebe i aktuatora za interakciju sa svijetom - na primjer, koristeći GPS senzor za detekciju vaše lokacije i zvučnik za davanje uputa za navigaciju do odredišta.
@ -54,7 +54,7 @@ Uređaji također ne moraju uvijek izravno povezivati na Internet putem WiFi-a i
U primjeru pametnog termostata, termostat bi se povezao putem kućnog WiFi-a na cloud servis. Poslao bi podatke o temperaturi ovom cloud servisu, a odatle bi se ti podaci zapisali u neku vrstu baze podataka, omogućujući vlasniku kuće da provjeri trenutne i prošle temperature putem aplikacije na telefonu. Drugi servis u oblaku znao bi željenu temperaturu vlasnika kuće i slao poruke natrag IoT uređaju putem cloud servisa kako bi rekao sustavu grijanja da se uključi ili isključi.
U primjeru pametnog termostata, termostat bi se povezao putem kućnog WiFi-a na cloud servis. Poslao bi podatke o temperaturi ovom cloud servisu, a odatle bi se ti podaci zapisali u neku vrstu baze podataka, omogućujući vlasniku kuće da provjeri trenutne i prošle temperature putem aplikacije na telefonu. Drugi servis u oblaku znao bi željenu temperaturu vlasnika kuće i slao poruke natrag IoT uređaju putem cloud servisa kako bi rekao sustavu grijanja da se uključi ili isključi.


Još pametnija verzija mogla bi koristiti AI u oblaku s podacima iz drugih senzora povezanih s drugim IoT uređajima, poput senzora prisutnosti koji detektiraju koje su prostorije u upotrebi, kao i podatke poput vremenske prognoze ili čak vašeg kalendara, za donošenje odluka o tome kako pametno postaviti temperaturu. Na primjer, mogla bi isključiti grijanje ako iz vašeg kalendara pročita da ste na odmoru, ili isključiti grijanje po sobama ovisno o tome koje prostorije koristite, učeći iz podataka kako bi s vremenom postajala sve preciznija.
Još pametnija verzija mogla bi koristiti AI u oblaku s podacima iz drugih senzora povezanih s drugim IoT uređajima, poput senzora prisutnosti koji detektiraju koje su prostorije u upotrebi, kao i podatke poput vremenske prognoze ili čak vašeg kalendara, za donošenje odluka o tome kako pametno postaviti temperaturu. Na primjer, mogla bi isključiti grijanje ako iz vašeg kalendara pročita da ste na odmoru, ili isključiti grijanje po sobama ovisno o tome koje prostorije koristite, učeći iz podataka kako bi s vremenom postajala sve preciznija.
@ -94,7 +94,7 @@ CPU-ovi se oslanjaju na sat koji otkucava milijune ili milijarde puta u sekundi.
> 💁 CPU-ovi izvršavaju programe koristeći [ciklus dohvaćanja-dekodiranja-izvršavanja](https://wikipedia.org/wiki/Instruction_cycle). Za svaki otkucaj sata, CPU će dohvatiti sljedeću instrukciju iz memorije, dekodirati je, a zatim je izvršiti, poput korištenja aritmetičko-logičke jedinice (ALU) za zbrajanje 2 broja. Neka izvršenja će trajati više otkucaja, pa će sljedeći ciklus započeti nakon što se instrukcija dovrši.
> 💁 CPU-ovi izvršavaju programe koristeći [ciklus dohvaćanja-dekodiranja-izvršavanja](https://wikipedia.org/wiki/Instruction_cycle). Za svaki otkucaj sata, CPU će dohvatiti sljedeću instrukciju iz memorije, dekodirati je, a zatim je izvršiti, poput korištenja aritmetičko-logičke jedinice (ALU) za zbrajanje 2 broja. Neka izvršenja će trajati više otkucaja, pa će sljedeći ciklus započeti nakon što se instrukcija dovrši.


Mikrokontroleri imaju mnogo niže brzine sata od stolnih ili prijenosnih računala, pa čak i većine pametnih telefona. Na primjer, Wio Terminal ima CPU koji radi na 120MHz ili 120.000.000 ciklusa u sekundi.
Mikrokontroleri imaju mnogo niže brzine sata od stolnih ili prijenosnih računala, pa čak i većine pametnih telefona. Na primjer, Wio Terminal ima CPU koji radi na 120MHz ili 120.000.000 ciklusa u sekundi.
@ -182,7 +182,7 @@ Arduino ploče programiraju se u C ili C++. Korištenje C/C++ omogućuje da vaš
U funkciji `setup` napisali biste kod za inicijalizaciju, poput povezivanja na WiFi i cloud usluge ili inicijalizacije pinova za ulaz i izlaz. Vaš kod u funkciji `loop` sadržavao bi obradu, poput čitanja sa senzora i slanja vrijednosti u oblak. Obično biste uključili odgodu u svaku petlju, na primjer, ako želite da se podaci senzora šalju svakih 10 sekundi, dodali biste odgodu od 10 sekundi na kraju petlje kako bi mikrokontroler mogao spavati, štedeći energiju, a zatim ponovno pokrenuti petlju kada je potrebno.
U funkciji `setup` napisali biste kod za inicijalizaciju, poput povezivanja na WiFi i cloud usluge ili inicijalizacije pinova za ulaz i izlaz. Vaš kod u funkciji `loop` sadržavao bi obradu, poput čitanja sa senzora i slanja vrijednosti u oblak. Obično biste uključili odgodu u svaku petlju, na primjer, ako želite da se podaci senzora šalju svakih 10 sekundi, dodali biste odgodu od 10 sekundi na kraju petlje kako bi mikrokontroler mogao spavati, štedeći energiju, a zatim ponovno pokrenuti petlju kada je potrebno.


✅ Ova arhitektura programa poznata je kao *petlja događaja* ili *petlja poruka*. Mnoge aplikacije koriste ovo u pozadini i to je standard za većinu desktop aplikacija koje rade na OS-ima poput Windowsa, macOS-a ili Linuxa. `Loop` osluškuje poruke od korisničkih sučelja poput tipki ili uređaja poput tipkovnice i reagira na njih. Više možete pročitati u ovom [članku o petlji događaja](https://wikipedia.org/wiki/Event_loop).
✅ Ova arhitektura programa poznata je kao *petlja događaja* ili *petlja poruka*. Mnoge aplikacije koriste ovo u pozadini i to je standard za većinu desktop aplikacija koje rade na OS-ima poput Windowsa, macOS-a ili Linuxa. `Loop` osluškuje poruke od korisničkih sučelja poput tipki ili uređaja poput tipkovnice i reagira na njih. Više možete pročitati u ovom [članku o petlji događaja](https://wikipedia.org/wiki/Event_loop).
# Interakcija s fizičkim svijetom pomoću senzora i aktuatora
# Interakcija s fizičkim svijetom pomoću senzora i aktuatora


> Sketchnote autorice [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliku za veću verziju.
> Sketchnote autorice [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliku za veću verziju.
@ -92,7 +92,7 @@ Digitalni senzori, poput analognih senzora, opažaju svijet oko sebe koristeći
Najjednostavniji digitalni senzor je tipka ili prekidač. To je senzor s dva stanja, uključen ili isključen.
Najjednostavniji digitalni senzor je tipka ili prekidač. To je senzor s dva stanja, uključen ili isključen.


Pinovi na IoT uređajima poput GPIO pinova mogu izravno mjeriti ovaj signal kao 0 ili 1. Ako je napon poslan isti kao napon vraćen, očitana vrijednost je 1, inače je očitana vrijednost 0. Nema potrebe za pretvorbom signala, može biti samo 1 ili 0.
Pinovi na IoT uređajima poput GPIO pinova mogu izravno mjeriti ovaj signal kao 0 ili 1. Ako je napon poslan isti kao napon vraćen, očitana vrijednost je 1, inače je očitana vrijednost 0. Nema potrebe za pretvorbom signala, može biti samo 1 ili 0.
@ -125,7 +125,7 @@ Neki uobičajeni aktuatori uključuju:
Slijedite odgovarajući vodič kako biste dodali aktuator svom IoT uređaju, kontroliran senzorom, za izradu IoT noćnog svjetla. Ono će prikupljati razine svjetla iz senzora svjetla i koristiti aktuator u obliku LED-a za emitiranje svjetla kada je detektirana razina svjetla preniska.
Slijedite odgovarajući vodič kako biste dodali aktuator svom IoT uređaju, kontroliran senzorom, za izradu IoT noćnog svjetla. Ono će prikupljati razine svjetla iz senzora svjetla i koristiti aktuator u obliku LED-a za emitiranje svjetla kada je detektirana razina svjetla preniska.


@ -140,7 +140,7 @@ Kao i senzori, aktuatori mogu biti analogni ili digitalni.
Analogni aktuatori uzimaju analogni signal i pretvaraju ga u neku vrstu interakcije, gdje se interakcija mijenja ovisno o naponu koji se isporučuje.
Analogni aktuatori uzimaju analogni signal i pretvaraju ga u neku vrstu interakcije, gdje se interakcija mijenja ovisno o naponu koji se isporučuje.
Jedan primjer je svjetlo koje se može prigušiti, poput onih koje možda imate u svom domu. Količina napona isporučena svjetlu određuje koliko jako svijetli.
Jedan primjer je svjetlo koje se može prigušiti, poput onih koje možda imate u svom domu. Količina napona isporučena svjetlu određuje koliko jako svijetli.


Kao i kod senzora, stvarni IoT uređaj radi na digitalnim signalima, a ne analognim. To znači da za slanje analognog signala IoT uređaj treba digitalno-analogni pretvarač (DAC), bilo direktno na IoT uređaju ili na priključnoj ploči. Ovo će pretvoriti 0 i 1 iz IoT uređaja u analogni napon koji aktuator može koristiti.
Kao i kod senzora, stvarni IoT uređaj radi na digitalnim signalima, a ne analognim. To znači da za slanje analognog signala IoT uređaj treba digitalno-analogni pretvarač (DAC), bilo direktno na IoT uređaju ili na priključnoj ploči. Ovo će pretvoriti 0 i 1 iz IoT uređaja u analogni napon koji aktuator može koristiti.
@ -187,7 +187,7 @@ Digitalni aktuatori, poput digitalnih senzora, imaju ili dva stanja koja se kont
Jedan jednostavan digitalni aktuator je LED. Kada uređaj pošalje digitalni signal 1, šalje se visoki napon koji pali LED. Kada se pošalje digitalni signal 0, napon pada na 0V i LED se gasi.
Jedan jednostavan digitalni aktuator je LED. Kada uređaj pošalje digitalni signal 1, šalje se visoki napon koji pali LED. Kada se pošalje digitalni signal 0, napon pada na 0V i LED se gasi.


✅ Koje druge jednostavne aktuatore s 2 stanja možete zamisliti? Jedan primjer je solenoid, koji je elektromagnet koji se može aktivirati za obavljanje stvari poput pomicanja zasuna vrata za zaključavanje/otključavanje vrata.
✅ Koje druge jednostavne aktuatore s 2 stanja možete zamisliti? Jedan primjer je solenoid, koji je elektromagnet koji se može aktivirati za obavljanje stvari poput pomicanja zasuna vrata za zaključavanje/otključavanje vrata.
1. Odaberite svoj omiljeni LED i umetnite nogice u dvije rupe na LED modulu.
1. Odaberite svoj omiljeni LED i umetnite nogice u dvije rupe na LED modulu.
@ -40,7 +40,7 @@ Povežite LED.
1. Dok je Raspberry Pi isključen, povežite drugi kraj Grove kabela s digitalnom utičnicom označenom **D5** na Grove Base hatu pričvršćenom na Pi. Ova utičnica je druga s lijeva, u redu utičnica pored GPIO pinova.
1. Dok je Raspberry Pi isključen, povežite drugi kraj Grove kabela s digitalnom utičnicom označenom **D5** na Grove Base hatu pričvršćenom na Pi. Ova utičnica je druga s lijeva, u redu utičnica pored GPIO pinova.


1. Umetnite jedan kraj Grove kabela u utičnicu na modulu senzora svjetla. Kabel će ući samo na jedan način.
1. Umetnite jedan kraj Grove kabela u utičnicu na modulu senzora svjetla. Kabel će ući samo na jedan način.
1. Dok je Raspberry Pi isključen, povežite drugi kraj Grove kabela s analognom utičnicom označenom **A0** na Grove Base hatu pričvršćenom na Pi. Ova utičnica je druga s desna, u redu utičnica pored GPIO pinova.
1. Dok je Raspberry Pi isključen, povežite drugi kraj Grove kabela s analognom utičnicom označenom **A0** na Grove Base hatu pričvršćenom na Pi. Ova utičnica je druga s desna, u redu utičnica pored GPIO pinova.


Nakon što je LED kreiran, možete promijeniti boju koristeći *Color* alat za odabir boje. Kliknite na gumb **Set** za promjenu boje nakon što je odabrana.
Nakon što je LED kreiran, možete promijeniti boju koristeći *Color* alat za odabir boje. Kliknite na gumb **Set** za promjenu boje nakon što je odabrana.


> Sketchnote autorice [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliku za veću verziju.
> Sketchnote autorice [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliku za veću verziju.
@ -47,7 +47,7 @@ MQTT je najpopularniji komunikacijski protokol za IoT uređaje i obrađen je u o
MQTT ima jednog posrednika i više klijenata. Svi klijenti povezuju se s posrednikom, a posrednik usmjerava poruke relevantnim klijentima. Poruke se usmjeravaju pomoću imenovanih tema, umjesto da se šalju izravno pojedinom klijentu. Klijent može objaviti poruku na temu, a svi klijenti pretplaćeni na tu temu primit će poruku.
MQTT ima jednog posrednika i više klijenata. Svi klijenti povezuju se s posrednikom, a posrednik usmjerava poruke relevantnim klijentima. Poruke se usmjeravaju pomoću imenovanih tema, umjesto da se šalju izravno pojedinom klijentu. Klijent može objaviti poruku na temu, a svi klijenti pretplaćeni na tu temu primit će poruku.


✅ Istražite. Ako imate mnogo IoT uređaja, kako možete osigurati da vaš MQTT posrednik može obraditi sve poruke?
✅ Istražite. Ako imate mnogo IoT uređaja, kako možete osigurati da vaš MQTT posrednik može obraditi sve poruke?
@ -69,7 +69,7 @@ Umjesto da se bavite složenostima postavljanja MQTT posrednika kao dijela ovog
> 💁 Ovaj testni posrednik je javan i nije siguran. Svatko može slušati što objavljujete, stoga ga nemojte koristiti za podatke koji trebaju ostati privatni.
> 💁 Ovaj testni posrednik je javan i nije siguran. Svatko može slušati što objavljujete, stoga ga nemojte koristiti za podatke koji trebaju ostati privatni.


Slijedite odgovarajući korak u nastavku kako biste povezali svoj uređaj s MQTT posrednikom:
Slijedite odgovarajući korak u nastavku kako biste povezali svoj uređaj s MQTT posrednikom:
@ -350,7 +350,7 @@ Za strojeve možda želite zadržati podatke, pogotovo ako se koriste za tražen
Dizajneri IoT uređaja također bi trebali razmotriti može li se IoT uređaj koristiti tijekom prekida interneta ili gubitka signala uzrokovanog lokacijom. Pametni termostat trebao bi moći donositi neke ograničene odluke za kontrolu grijanja ako ne može poslati telemetriju u oblak zbog prekida.
Dizajneri IoT uređaja također bi trebali razmotriti može li se IoT uređaj koristiti tijekom prekida interneta ili gubitka signala uzrokovanog lokacijom. Pametni termostat trebao bi moći donositi neke ograničene odluke za kontrolu grijanja ako ne može poslati telemetriju u oblak zbog prekida.
[](https://twitter.com/internetofshit/status/1315736960082808832)
[](https://twitter.com/internetofshit/status/1315736960082808832)
Za MQTT, uređaj i kod za server moraju biti odgovorni za osiguranje isporuke poruka ako je to potrebno, na primjer zahtijevanjem da se na sve poslane poruke odgovori dodatnim porukama na povratnoj temi, a ako ne, one se ručno stavljaju u red za ponovno slanje kasnije.
Za MQTT, uređaj i kod za server moraju biti odgovorni za osiguranje isporuke poruka ako je to potrebno, na primjer zahtijevanjem da se na sve poslane poruke odgovori dodatnim porukama na povratnoj temi, a ako ne, one se ručno stavljaju u red za ponovno slanje kasnije.
@ -358,7 +358,7 @@ Za MQTT, uređaj i kod za server moraju biti odgovorni za osiguranje isporuke po
Naredbe su poruke koje šalje oblak uređaju, upućujući ga da nešto učini. Većinu vremena to uključuje davanje nekog izlaza putem aktuatora, ali to može biti i instrukcija za sam uređaj, poput ponovnog pokretanja ili prikupljanja dodatne telemetrije i vraćanja kao odgovora na naredbu.
Naredbe su poruke koje šalje oblak uređaju, upućujući ga da nešto učini. Većinu vremena to uključuje davanje nekog izlaza putem aktuatora, ali to može biti i instrukcija za sam uređaj, poput ponovnog pokretanja ili prikupljanja dodatne telemetrije i vraćanja kao odgovora na naredbu.


Termostat bi mogao primiti naredbu iz oblaka za uključivanje grijanja. Na temelju telemetrijskih podataka sa svih senzora, ako je oblačna usluga odlučila da grijanje treba biti uključeno, šalje odgovarajuću naredbu.
Termostat bi mogao primiti naredbu iz oblaka za uključivanje grijanja. Na temelju telemetrijskih podataka sa svih senzora, ako je oblačna usluga odlučila da grijanje treba biti uključeno, šalje odgovarajuću naredbu.


> Sketchnote od [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliku za veću verziju.
> Sketchnote od [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliku za veću verziju.
@ -102,7 +102,7 @@ Koraci za ručni izračun su:
Na primjer, ako je najviša temperatura za dan 25°C, a najniža 12°C:
Na primjer, ako je najviša temperatura za dan 25°C, a najniža 12°C:


@ -33,7 +33,7 @@ Kada imate temperaturne podatke, možete koristiti Jupyter Notebook u ovom repoz
Jupyter će se pokrenuti i otvoriti notebook u vašem pregledniku. Prođite kroz upute u notebooku kako biste vizualizirali izmjerene temperature i izračunali dane rasta (GDD).
Jupyter će se pokrenuti i otvoriti notebook u vašem pregledniku. Prođite kroz upute u notebooku kako biste vizualizirali izmjerene temperature i izračunali dane rasta (GDD).
1. Umetnite jedan kraj Grove kabela u utičnicu na senzoru za vlagu i temperaturu. Kabel će ući samo na jedan način.
1. Umetnite jedan kraj Grove kabela u utičnicu na senzoru za vlagu i temperaturu. Kabel će ući samo na jedan način.
1. Dok je Raspberry Pi isključen, spojite drugi kraj Grove kabela na digitalnu utičnicu označenu **D5** na Grove Base hat-u koji je povezan s Pi-jem. Ova utičnica je druga s lijeva, u redu utičnica pored GPIO pinova.
1. Dok je Raspberry Pi isključen, spojite drugi kraj Grove kabela na digitalnu utičnicu označenu **D5** na Grove Base hat-u koji je povezan s Pi-jem. Ova utičnica je druga s lijeva, u redu utičnica pored GPIO pinova.


@ -13,7 +13,7 @@ I²C ima sabirnicu sastavljenu od 2 glavne žice, uz 2 žice za napajanje:
| VCC | Zajednički kolektor napona | Napajanje za uređaje. Ovo je povezano s SDA i SCL žicama kako bi im osiguralo napajanje putem pull-up otpornika koji isključuje signal kada nijedan uređaj nije kontroler. |
| VCC | Zajednički kolektor napona | Napajanje za uređaje. Ovo je povezano s SDA i SCL žicama kako bi im osiguralo napajanje putem pull-up otpornika koji isključuje signal kada nijedan uređaj nije kontroler. |
| GND | Zemlja | Ovo osigurava zajedničku zemlju za električni krug. |
| GND | Zemlja | Ovo osigurava zajedničku zemlju za električni krug. |


Za slanje podataka, jedan uređaj će izdati početni uvjet kako bi pokazao da je spreman za slanje podataka. Tada postaje kontroler. Kontroler zatim šalje adresu uređaja s kojim želi komunicirati, zajedno s informacijom želi li čitati ili pisati podatke. Nakon što su podaci preneseni, kontroler šalje završni uvjet kako bi naznačio da je završio. Nakon toga drugi uređaj može postati kontroler i slati ili primati podatke.
Za slanje podataka, jedan uređaj će izdati početni uvjet kako bi pokazao da je spreman za slanje podataka. Tada postaje kontroler. Kontroler zatim šalje adresu uređaja s kojim želi komunicirati, zajedno s informacijom želi li čitati ili pisati podatke. Nakon što su podaci preneseni, kontroler šalje završni uvjet kako bi naznačio da je završio. Nakon toga drugi uređaj može postati kontroler i slati ili primati podatke.
@ -20,14 +20,14 @@ Ove korake trebate ponoviti više puta kako biste dobili potrebna očitanja, sva
Gravimetrijska vlaga tla izračunava se kao:
Gravimetrijska vlaga tla izračunava se kao:


* W - težina mokrog tla
* W - težina mokrog tla
* W - težina suhog tla
* W - težina suhog tla
Na primjer, recimo da imate uzorak tla koji teži 212g mokar i 197g suh.
Na primjer, recimo da imate uzorak tla koji teži 212g mokar i 197g suh.
1. Umetnite jedan kraj Grove kabela u utičnicu na senzoru vlažnosti tla. Kabel će ući samo na jedan način.
1. Umetnite jedan kraj Grove kabela u utičnicu na senzoru vlažnosti tla. Kabel će ući samo na jedan način.
1. Dok je Raspberry Pi isključen, spojite drugi kraj Grove kabela na analogni priključak označen **A0** na Grove Base Hat-u pričvršćenom na Pi. Ovaj priključak je drugi s desne strane, u redu priključaka pored GPIO pinova.
1. Dok je Raspberry Pi isključen, spojite drugi kraj Grove kabela na analogni priključak označen **A0** na Grove Base Hat-u pričvršćenom na Pi. Ovaj priključak je drugi s desne strane, u redu priključaka pored GPIO pinova.


1. Umetnite senzor vlažnosti tla u tlo. Na senzoru postoji oznaka 'najviša pozicija' - bijela linija preko senzora. Umetnite senzor do te linije, ali ne preko nje.
1. Umetnite senzor vlažnosti tla u tlo. Na senzoru postoji oznaka 'najviša pozicija' - bijela linija preko senzora. Umetnite senzor do te linije, ali ne preko nje.


> Sketchnote autorice [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliku za veću verziju.
> Sketchnote autorice [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliku za veću verziju.
@ -32,7 +32,7 @@ IoT uređaji koriste napon niske razine. Iako je to dovoljno za senzore i aktuat
Rješenje za ovo je povezivanje pumpe na vanjski izvor napajanja i korištenje aktuatora za uključivanje pumpe, slično kao što biste uključili svjetlo. Potrebna je mala količina energije (u obliku energije vašeg tijela) da prstom pritisnete prekidač, čime se svjetlo povezuje s mrežnim napajanjem od 110V/240V.
Rješenje za ovo je povezivanje pumpe na vanjski izvor napajanja i korištenje aktuatora za uključivanje pumpe, slično kao što biste uključili svjetlo. Potrebna je mala količina energije (u obliku energije vašeg tijela) da prstom pritisnete prekidač, čime se svjetlo povezuje s mrežnim napajanjem od 110V/240V.


> 🎓 [Mrežna struja](https://wikipedia.org/wiki/Mains_electricity) odnosi se na električnu energiju koja se isporučuje kućama i poslovnim prostorima putem nacionalne infrastrukture u mnogim dijelovima svijeta.
> 🎓 [Mrežna struja](https://wikipedia.org/wiki/Mains_electricity) odnosi se na električnu energiju koja se isporučuje kućama i poslovnim prostorima putem nacionalne infrastrukture u mnogim dijelovima svijeta.
@ -72,7 +72,7 @@ Kada se poluga pomiče, obično možete čuti kako stvara kontakt s elektromagne
Elektromagnetu nije potrebno puno energije za aktivaciju i povlačenje poluge, može se kontrolirati pomoću 3.3V ili 5V izlaza s IoT razvojnog kompleta. Izlazni krug može nositi puno više energije, ovisno o releju, uključujući mrežni napon ili čak veće razine snage za industrijsku upotrebu. Na taj način IoT razvojni komplet može kontrolirati sustav za navodnjavanje, od male pumpe za jednu biljku do masivnog industrijskog sustava za cijelu komercijalnu farmu.
Elektromagnetu nije potrebno puno energije za aktivaciju i povlačenje poluge, može se kontrolirati pomoću 3.3V ili 5V izlaza s IoT razvojnog kompleta. Izlazni krug može nositi puno više energije, ovisno o releju, uključujući mrežni napon ili čak veće razine snage za industrijsku upotrebu. Na taj način IoT razvojni komplet može kontrolirati sustav za navodnjavanje, od male pumpe za jednu biljku do masivnog industrijskog sustava za cijelu komercijalnu farmu.


Slika iznad prikazuje Grove relej. Kontrolni krug povezuje se s IoT uređajem i uključuje ili isključuje relej koristeći 3.3V ili 5V. Izlazni krug ima dva terminala, bilo koji može biti napajanje ili uzemljenje. Izlazni krug može podnijeti do 250V pri 10A, što je dovoljno za niz uređaja na mrežno napajanje. Možete nabaviti releje koji mogu podnijeti još veće razine snage.
Slika iznad prikazuje Grove relej. Kontrolni krug povezuje se s IoT uređajem i uključuje ili isključuje relej koristeći 3.3V ili 5V. Izlazni krug ima dva terminala, bilo koji može biti napajanje ili uzemljenje. Izlazni krug može podnijeti do 250V pri 10A, što je dovoljno za niz uređaja na mrežno napajanje. Možete nabaviti releje koji mogu podnijeti još veće razine snage.
1. Umetnite jedan kraj Grove kabela u utičnicu na releju. Kabel će ući samo na jedan način.
1. Umetnite jedan kraj Grove kabela u utičnicu na releju. Kabel će ući samo na jedan način.
1. Dok je Raspberry Pi isključen, spojite drugi kraj Grove kabela na digitalnu utičnicu označenu **D5** na Grove Base Hat-u pričvršćenom na Pi. Ova utičnica je druga s lijeva, u redu utičnica pored GPIO pinova. Ostavite senzor vlažnosti tla povezan na utičnicu **A0**.
1. Dok je Raspberry Pi isključen, spojite drugi kraj Grove kabela na digitalnu utičnicu označenu **D5** na Grove Base Hat-u pričvršćenom na Pi. Ova utičnica je druga s lijeva, u redu utičnica pored GPIO pinova. Ostavite senzor vlažnosti tla povezan na utičnicu **A0**.


1. Umetnite senzor vlažnosti tla u tlo, ako već nije iz prethodne lekcije.
1. Umetnite senzor vlažnosti tla u tlo, ako već nije iz prethodne lekcije.


> Sketchnote autorice [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliku za veću verziju.
> Sketchnote autorice [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliku za veću verziju.
@ -46,8 +46,8 @@ Ovo je moglo biti vrlo skupo, zahtijevati širok spektar stručnih zaposlenika i
Oblak se često u šali naziva "računalom nekog drugog". Početna ideja bila je jednostavna - umjesto kupnje računala, unajmite računalo nekog drugog. Netko drugi, pružatelj usluga računalstva u oblaku, upravljao bi ogromnim podatkovnim centrima. Oni bi bili odgovorni za kupnju i instalaciju hardvera, upravljanje napajanjem i hlađenjem, umrežavanje, sigurnost zgrade, ažuriranja hardvera i softvera, sve. Kao korisnik, unajmljujete računala koja su vam potrebna, unajmljujete više kada potražnja raste, a smanjujete broj kada potražnja opada. Ovi podatkovni centri nalaze se diljem svijeta.
Oblak se često u šali naziva "računalom nekog drugog". Početna ideja bila je jednostavna - umjesto kupnje računala, unajmite računalo nekog drugog. Netko drugi, pružatelj usluga računalstva u oblaku, upravljao bi ogromnim podatkovnim centrima. Oni bi bili odgovorni za kupnju i instalaciju hardvera, upravljanje napajanjem i hlađenjem, umrežavanje, sigurnost zgrade, ažuriranja hardvera i softvera, sve. Kao korisnik, unajmljujete računala koja su vam potrebna, unajmljujete više kada potražnja raste, a smanjujete broj kada potražnja opada. Ovi podatkovni centri nalaze se diljem svijeta.




Ovi podatkovni centri mogu biti veličine nekoliko četvornih kilometara. Gornje slike snimljene su prije nekoliko godina u Microsoftovom podatkovnom centru u oblaku i prikazuju početnu veličinu, zajedno s planiranim proširenjem. Površina očišćena za proširenje veća je od 5 četvornih kilometara.
Ovi podatkovni centri mogu biti veličine nekoliko četvornih kilometara. Gornje slike snimljene su prije nekoliko godina u Microsoftovom podatkovnom centru u oblaku i prikazuju početnu veličinu, zajedno s planiranim proširenjem. Površina očišćena za proširenje veća je od 5 četvornih kilometara.
@ -108,11 +108,11 @@ IoT usluge u oblaku rješavaju ove probleme. Njima upravljaju veliki pružatelji
IoT uređaji povezuju se s uslugom u oblaku ili pomoću SDK-a za uređaje (biblioteke koja pruža kod za rad s značajkama usluge) ili izravno putem komunikacijskog protokola poput MQTT-a ili HTTP-a. SDK za uređaje obično je najlakši put jer automatski upravlja svime, poput znanja o tome koje teme objaviti ili pretplatiti se, te kako upravljati sigurnošću.
IoT uređaji povezuju se s uslugom u oblaku ili pomoću SDK-a za uređaje (biblioteke koja pruža kod za rad s značajkama usluge) ili izravno putem komunikacijskog protokola poput MQTT-a ili HTTP-a. SDK za uređaje obično je najlakši put jer automatski upravlja svime, poput znanja o tome koje teme objaviti ili pretplatiti se, te kako upravljati sigurnošću.


Vaš uređaj tada komunicira s drugim dijelovima vaše aplikacije putem ove usluge - slično kao što ste slali telemetriju i primali naredbe putem MQTT-a. To se obično radi pomoću SDK-a za usluge ili slične biblioteke. Poruke dolaze s vašeg uređaja na uslugu gdje ih drugi dijelovi vaše aplikacije mogu pročitati, a poruke se mogu poslati natrag na vaš uređaj.
Vaš uređaj tada komunicira s drugim dijelovima vaše aplikacije putem ove usluge - slično kao što ste slali telemetriju i primali naredbe putem MQTT-a. To se obično radi pomoću SDK-a za usluge ili slične biblioteke. Poruke dolaze s vašeg uređaja na uslugu gdje ih drugi dijelovi vaše aplikacije mogu pročitati, a poruke se mogu poslati natrag na vaš uređaj.


Ove usluge implementiraju sigurnost tako što znaju za sve uređaje koji se mogu povezati i slati podatke, bilo da su uređaji unaprijed registrirani s uslugom ili im se daju tajni ključevi ili certifikati koje mogu koristiti za registraciju pri prvom povezivanju. Nepoznati uređaji ne mogu se povezati; ako pokušaju, usluga odbija vezu i ignorira poruke koje šalju.
Ove usluge implementiraju sigurnost tako što znaju za sve uređaje koji se mogu povezati i slati podatke, bilo da su uređaji unaprijed registrirani s uslugom ili im se daju tajni ključevi ili certifikati koje mogu koristiti za registraciju pri prvom povezivanju. Nepoznati uređaji ne mogu se povezati; ako pokušaju, usluga odbija vezu i ignorira poruke koje šalju.
@ -124,7 +124,7 @@ Ostali dijelovi vaše aplikacije mogu se povezati s IoT uslugom i saznati sve o
Sada kada imate Azure pretplatu, možete se prijaviti za IoT uslugu. IoT usluga od Microsofta zove se Azure IoT Hub.
Sada kada imate Azure pretplatu, možete se prijaviti za IoT uslugu. IoT usluga od Microsofta zove se Azure IoT Hub.


> Sketchnote autorice [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliku za veću verziju.
> Sketchnote autorice [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliku za veću verziju.
@ -28,7 +28,7 @@ U ovoj lekciji obradit ćemo:
Serverless, ili serverless računarstvo, uključuje kreiranje malih blokova koda koji se izvršavaju u oblaku kao odgovor na različite vrste događaja. Kada se dogodi događaj, vaš kod se pokreće i dobiva podatke o tom događaju. Ti događaji mogu dolaziti iz različitih izvora, uključujući web zahtjeve, poruke stavljene u red, promjene podataka u bazi podataka ili poruke koje IoT uređaji šalju IoT usluzi.
Serverless, ili serverless računarstvo, uključuje kreiranje malih blokova koda koji se izvršavaju u oblaku kao odgovor na različite vrste događaja. Kada se dogodi događaj, vaš kod se pokreće i dobiva podatke o tom događaju. Ti događaji mogu dolaziti iz različitih izvora, uključujući web zahtjeve, poruke stavljene u red, promjene podataka u bazi podataka ili poruke koje IoT uređaji šalju IoT usluzi.


> 💁 Ako ste prije koristili okidače u bazama podataka, ovo možete zamisliti kao sličan koncept - kod koji se pokreće događajem, poput umetanja retka.
> 💁 Ako ste prije koristili okidače u bazama podataka, ovo možete zamisliti kao sličan koncept - kod koji se pokreće događajem, poput umetanja retka.
@ -54,7 +54,7 @@ Kao IoT programer, serverless model je idealan. Možete napisati funkciju koja s
Microsoftova usluga za serverless računarstvo zove se Azure Functions.
Microsoftova usluga za serverless računarstvo zove se Azure Functions.


> Sketchnote autor [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliku za veću verziju.
> Sketchnote autor [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliku za veću verziju.
@ -52,11 +52,11 @@ Ovo su scenariji iz stvarnog svijeta i događaju se stalno. Neki primjeri su nav
Kada se uređaj povezuje s IoT uslugom, koristi ID za identifikaciju. Problem je što se taj ID može klonirati - haker bi mogao postaviti zlonamjerni uređaj koji koristi isti ID kao pravi uređaj, ali šalje lažne podatke.
Kada se uređaj povezuje s IoT uslugom, koristi ID za identifikaciju. Problem je što se taj ID može klonirati - haker bi mogao postaviti zlonamjerni uređaj koji koristi isti ID kao pravi uređaj, ali šalje lažne podatke.


Rješenje za ovo je pretvaranje podataka koji se šalju u šifrirani format, koristeći neku vrijednost poznatu samo uređaju i oblaku. Ovaj proces se naziva *šifriranje*, a vrijednost koja se koristi za šifriranje podataka naziva se *ključ za šifriranje*.
Rješenje za ovo je pretvaranje podataka koji se šalju u šifrirani format, koristeći neku vrijednost poznatu samo uređaju i oblaku. Ovaj proces se naziva *šifriranje*, a vrijednost koja se koristi za šifriranje podataka naziva se *ključ za šifriranje*.


Usluga u oblaku tada može pretvoriti podatke natrag u čitljiv format, koristeći proces nazvan *dešifriranje*, koristeći ili isti ključ za šifriranje ili *ključ za dešifriranje*. Ako se šifrirana poruka ne može dešifrirati pomoću ključa, uređaj je hakiran i poruka se odbija.
Usluga u oblaku tada može pretvoriti podatke natrag u čitljiv format, koristeći proces nazvan *dešifriranje*, koristeći ili isti ključ za šifriranje ili *ključ za dešifriranje*. Ako se šifrirana poruka ne može dešifrirati pomoću ključa, uređaj je hakiran i poruka se odbija.


> Sketchnote autorice [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliku za veću verziju.
> Sketchnote autorice [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliku za veću verziju.
@ -63,13 +63,13 @@ Zemlja je sfera - trodimenzionalni krug. Zbog toga se točke definiraju dijeljen
> 💁 Nitko zapravo ne zna izvorni razlog zašto su krugovi podijeljeni na 360 stupnjeva. [Stranica o stupnjevima (kut) na Wikipediji](https://wikipedia.org/wiki/Degree_(angle)) pokriva neke od mogućih razloga.
> 💁 Nitko zapravo ne zna izvorni razlog zašto su krugovi podijeljeni na 360 stupnjeva. [Stranica o stupnjevima (kut) na Wikipediji](https://wikipedia.org/wiki/Degree_(angle)) pokriva neke od mogućih razloga.


Geografska širina mjeri se pomoću linija koje kruže Zemljom i paralelne su s ekvatorom, dijeleći sjevernu i južnu hemisferu na po 90°. Ekvator je na 0°, Sjeverni pol na 90°, također poznat kao 90° sjeverno, a Južni pol na -90°, ili 90° južno.
Geografska širina mjeri se pomoću linija koje kruže Zemljom i paralelne su s ekvatorom, dijeleći sjevernu i južnu hemisferu na po 90°. Ekvator je na 0°, Sjeverni pol na 90°, također poznat kao 90° sjeverno, a Južni pol na -90°, ili 90° južno.
Geografska dužina mjeri se kao broj stupnjeva prema istoku i zapadu. Početna točka od 0° geografske dužine naziva se *Glavni meridijan* i definirana je 1884. godine kao linija od Sjevernog do Južnog pola koja prolazi kroz [Kraljevski opservatorij u Greenwichu, Engleska](https://wikipedia.org/wiki/Royal_Observatory,_Greenwich).
Geografska dužina mjeri se kao broj stupnjeva prema istoku i zapadu. Početna točka od 0° geografske dužine naziva se *Glavni meridijan* i definirana je 1884. godine kao linija od Sjevernog do Južnog pola koja prolazi kroz [Kraljevski opservatorij u Greenwichu, Engleska](https://wikipedia.org/wiki/Royal_Observatory,_Greenwich).


> 🎓 Meridijan je zamišljena ravna linija koja ide od Sjevernog do Južnog pola, tvoreći polukrug.
> 🎓 Meridijan je zamišljena ravna linija koja ide od Sjevernog do Južnog pola, tvoreći polukrug.
@ -100,7 +100,7 @@ Koordinate za točku uvijek se daju kao `geografska širina, geografska dužina`
* Geografsku širinu od 47.6423109 (47.6423109 stupnjeva sjeverno od ekvatora)
* Geografsku širinu od 47.6423109 (47.6423109 stupnjeva sjeverno od ekvatora)
* Geografsku dužinu od -122.1390293 (122.1390293 stupnjeva zapadno od Glavnog meridijana).
* Geografsku dužinu od -122.1390293 (122.1390293 stupnjeva zapadno od Glavnog meridijana).


## Globalni pozicijski sustavi (GPS)
## Globalni pozicijski sustavi (GPS)
@ -112,7 +112,7 @@ GPS sustavi rade tako što imaju niz satelita koji šalju signal s trenutnom poz
> 💁 GPS senzori trebaju antene za detekciju radio valova. Antene ugrađene u kamione i automobile s ugrađenim GPS-om postavljene su tako da imaju dobar signal, obično na vjetrobranskom staklu ili krovu. Ako koristite zaseban GPS sustav, poput pametnog telefona ili IoT uređaja, trebate osigurati da antena ugrađena u GPS sustav ili telefon ima jasan pogled na nebo, poput postavljanja na vjetrobransko staklo.
> 💁 GPS senzori trebaju antene za detekciju radio valova. Antene ugrađene u kamione i automobile s ugrađenim GPS-om postavljene su tako da imaju dobar signal, obično na vjetrobranskom staklu ili krovu. Ako koristite zaseban GPS sustav, poput pametnog telefona ili IoT uređaja, trebate osigurati da antena ugrađena u GPS sustav ili telefon ima jasan pogled na nebo, poput postavljanja na vjetrobransko staklo.


GPS sateliti kruže oko Zemlje, nisu na fiksnoj točki iznad senzora, pa podaci o lokaciji uključuju nadmorsku visinu iznad razine mora, kao i geografsku širinu i dužinu.
GPS sateliti kruže oko Zemlje, nisu na fiksnoj točki iznad senzora, pa podaci o lokaciji uključuju nadmorsku visinu iznad razine mora, kao i geografsku širinu i dužinu.
1. Umetnite jedan kraj Grove kabela u utičnicu na GPS senzoru. Kabel će ući samo na jedan način.
1. Umetnite jedan kraj Grove kabela u utičnicu na GPS senzoru. Kabel će ući samo na jedan način.
1. Dok je Raspberry Pi isključen, povežite drugi kraj Grove kabela s UART utičnicom označenom **UART** na Grove Base hatu pričvršćenom na Pi. Ova utičnica nalazi se u srednjem redu, na strani najbližoj utoru za SD karticu, na suprotnoj strani od USB portova i ethernet utičnice.
1. Dok je Raspberry Pi isključen, povežite drugi kraj Grove kabela s UART utičnicom označenom **UART** na Grove Base hatu pričvršćenom na Pi. Ova utičnica nalazi se u srednjem redu, na strani najbližoj utoru za SD karticu, na suprotnoj strani od USB portova i ethernet utičnice.


1. Postavite GPS senzor tako da povezana antena ima vidljivost prema nebu - idealno pored otvorenog prozora ili vani. Lakše je dobiti jasniji signal bez prepreka između antene i neba.
1. Postavite GPS senzor tako da povezana antena ima vidljivost prema nebu - idealno pored otvorenog prozora ili vani. Lakše je dobiti jasniji signal bez prepreka između antene i neba.
@ -102,17 +102,17 @@ Programirajte aplikaciju za GPS senzor.
* Postavite **Source** na `Lat/Lon`, i postavite eksplicitnu geografsku širinu, dužinu i broj satelita korištenih za GPS fiks. Ova vrijednost će biti poslana samo jednom, pa označite **Repeat** okvir kako bi se podaci ponavljali svake sekunde.
* Postavite **Source** na `Lat/Lon`, i postavite eksplicitnu geografsku širinu, dužinu i broj satelita korištenih za GPS fiks. Ova vrijednost će biti poslana samo jednom, pa označite **Repeat** okvir kako bi se podaci ponavljali svake sekunde.


* Postavite **Source** na `NMEA` i dodajte neke NMEA rečenice u tekstualni okvir. Sve ove vrijednosti će biti poslane, s odgodom od 1 sekunde prije svake nove GGA (pozicijski fiks) rečenice koja se može pročitati.
* Postavite **Source** na `NMEA` i dodajte neke NMEA rečenice u tekstualni okvir. Sve ove vrijednosti će biti poslane, s odgodom od 1 sekunde prije svake nove GGA (pozicijski fiks) rečenice koja se može pročitati.


Možete koristiti alat poput [nmeagen.org](https://www.nmeagen.org) za generiranje ovih rečenica crtanjem na karti. Ove vrijednosti će biti poslane samo jednom, pa označite **Repeat** okvir kako bi se podaci ponavljali jednu sekundu nakon što su svi poslani.
Možete koristiti alat poput [nmeagen.org](https://www.nmeagen.org) za generiranje ovih rečenica crtanjem na karti. Ove vrijednosti će biti poslane samo jednom, pa označite **Repeat** okvir kako bi se podaci ponavljali jednu sekundu nakon što su svi poslani.
* Postavite **Source** na GPX datoteku i učitajte GPX datoteku s lokacijama staza. GPX datoteke možete preuzeti s brojnih popularnih stranica za kartografiju i planinarenje, poput [AllTrails](https://www.alltrails.com/). Ove datoteke sadrže više GPS lokacija kao stazu, a GPS senzor će vraćati svaku novu lokaciju u intervalima od 1 sekunde.
* Postavite **Source** na GPX datoteku i učitajte GPX datoteku s lokacijama staza. GPX datoteke možete preuzeti s brojnih popularnih stranica za kartografiju i planinarenje, poput [AllTrails](https://www.alltrails.com/). Ove datoteke sadrže više GPS lokacija kao stazu, a GPS senzor će vraćati svaku novu lokaciju u intervalima od 1 sekunde.


Ove vrijednosti će biti poslane samo jednom, pa označite **Repeat** okvir kako bi se podaci ponavljali jednu sekundu nakon što su svi poslani.
Ove vrijednosti će biti poslane samo jednom, pa označite **Repeat** okvir kako bi se podaci ponavljali jednu sekundu nakon što su svi poslani.


> Sketchnote od [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliku za veću verziju.
> Sketchnote od [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliku za veću verziju.
@ -75,7 +75,7 @@ NoSQL baze podataka nazivaju se NoSQL jer nemaju istu krutu strukturu kao SQL ba
> 💁 Unatoč njihovom nazivu, neke NoSQL baze podataka omogućuju korištenje SQL-a za upite podataka.
> 💁 Unatoč njihovom nazivu, neke NoSQL baze podataka omogućuju korištenje SQL-a za upite podataka.


NoSQL baze podataka nemaju unaprijed definiranu shemu koja ograničava način pohrane podataka, umjesto toga možete umetnuti bilo koje nestrukturirane podatke, obično koristeći JSON dokumente. Ovi dokumenti mogu se organizirati u mape, slično datotekama na vašem računalu. Svaki dokument može imati različita polja od drugih dokumenata - na primjer, ako pohranjujete IoT podatke s vaših poljoprivrednih vozila, neki mogu imati polja za podatke akcelerometra i brzine, drugi mogu imati polja za temperaturu u prikolici. Ako biste dodali novu vrstu kamiona, poput onog s ugrađenim vagama za praćenje težine prevezenih proizvoda, vaš IoT uređaj mogao bi dodati ovo novo polje i ono bi se moglo pohraniti bez ikakvih promjena u bazi podataka.
NoSQL baze podataka nemaju unaprijed definiranu shemu koja ograničava način pohrane podataka, umjesto toga možete umetnuti bilo koje nestrukturirane podatke, obično koristeći JSON dokumente. Ovi dokumenti mogu se organizirati u mape, slično datotekama na vašem računalu. Svaki dokument može imati različita polja od drugih dokumenata - na primjer, ako pohranjujete IoT podatke s vaših poljoprivrednih vozila, neki mogu imati polja za podatke akcelerometra i brzine, drugi mogu imati polja za temperaturu u prikolici. Ako biste dodali novu vrstu kamiona, poput onog s ugrađenim vagama za praćenje težine prevezenih proizvoda, vaš IoT uređaj mogao bi dodati ovo novo polje i ono bi se moglo pohraniti bez ikakvih promjena u bazi podataka.
@ -89,7 +89,7 @@ U ovoj lekciji koristit ćete NoSQL pohranu za pohranu IoT podataka.
U prethodnoj lekciji ste prikupili GPS podatke s GPS senzora povezanog s vašim IoT uređajem. Da biste pohranili ove IoT podatke u oblaku, morate ih poslati IoT usluzi. Ponovno ćete koristiti Azure IoT Hub, istu IoT uslugu u oblaku koju ste koristili u prethodnom projektu.
U prethodnoj lekciji ste prikupili GPS podatke s GPS senzora povezanog s vašim IoT uređajem. Da biste pohranili ove IoT podatke u oblaku, morate ih poslati IoT usluzi. Ponovno ćete koristiti Azure IoT Hub, istu IoT uslugu u oblaku koju ste koristili u prethodnom projektu.


### Zadatak - slanje GPS podataka u IoT Hub
### Zadatak - slanje GPS podataka u IoT Hub
@ -171,7 +171,7 @@ Podaci hladnog puta pohranjuju se u skladištima podataka - bazama podataka diza
Kada podaci teku u vaš IoT Hub, možete napisati serverless kod za slušanje događaja objavljenih na Event-Hub kompatibilnom endpointu. Ovo je topli put - ovi podaci će se pohraniti i koristiti u sljedećoj lekciji za izvještavanje o putovanju.
Kada podaci teku u vaš IoT Hub, možete napisati serverless kod za slušanje događaja objavljenih na Event-Hub kompatibilnom endpointu. Ovo je topli put - ovi podaci će se pohraniti i koristiti u sljedećoj lekciji za izvještavanje o putovanju.


### Zadatak - obrada GPS događaja pomoću serverless koda
### Zadatak - obrada GPS događaja pomoću serverless koda
@ -193,7 +193,7 @@ Kada podaci teku u vaš IoT Hub, možete napisati serverless kod za slušanje do
Azure Storage računi su univerzalna usluga za pohranu koja može pohranjivati podatke na različite načine. Možete pohranjivati podatke kao blobove, u redovima, u tablicama ili kao datoteke, i sve to istovremeno.
Azure Storage računi su univerzalna usluga za pohranu koja može pohranjivati podatke na različite načine. Možete pohranjivati podatke kao blobove, u redovima, u tablicama ili kao datoteke, i sve to istovremeno.


> Sketchnote autorice [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliku za veću verziju.
> Sketchnote autorice [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliku za veću verziju.
@ -64,11 +64,11 @@ Uzmimo jednostavan primjer - u projektu farme prikupljali ste podatke o vlažnos
Kao ljudima, razumijevanje ovih podataka može biti teško. To je zid brojeva bez ikakvog značenja. Kao prvi korak u vizualizaciji ovih podataka, mogu se iscrtati na linijskom grafikonu:
Kao ljudima, razumijevanje ovih podataka može biti teško. To je zid brojeva bez ikakvog značenja. Kao prvi korak u vizualizaciji ovih podataka, mogu se iscrtati na linijskom grafikonu:


Ovo se može dodatno poboljšati dodavanjem linije koja označava kada je automatski sustav za zalijevanje uključen pri očitanju vlažnosti tla od 450:
Ovo se može dodatno poboljšati dodavanjem linije koja označava kada je automatski sustav za zalijevanje uključen pri očitanju vlažnosti tla od 450:


Ovaj grafikon vrlo brzo pokazuje ne samo razine vlažnosti tla, već i točke kada je sustav za zalijevanje uključen.
Ovaj grafikon vrlo brzo pokazuje ne samo razine vlažnosti tla, već i točke kada je sustav za zalijevanje uključen.
@ -84,7 +84,7 @@ Kada radite s GPS podacima, najjasnija vizualizacija može biti iscrtavanje poda
Rad s kartama je zanimljiv zadatak, a postoji mnogo opcija poput Bing Maps, Leaflet, Open Street Maps i Google Maps. U ovoj lekciji naučit ćete o [Azure Maps](https://azure.microsoft.com/services/azure-maps/?WT.mc_id=academic-17441-jabenn) i kako oni mogu prikazati vaše GPS podatke.
Rad s kartama je zanimljiv zadatak, a postoji mnogo opcija poput Bing Maps, Leaflet, Open Street Maps i Google Maps. U ovoj lekciji naučit ćete o [Azure Maps](https://azure.microsoft.com/services/azure-maps/?WT.mc_id=academic-17441-jabenn) i kako oni mogu prikazati vaše GPS podatke.
Azure Maps je "zbirka geoprostornih usluga i SDK-ova koji koriste svježe podatke o kartama kako bi pružili geografski kontekst za web i mobilne aplikacije." Programerima su dostupni alati za stvaranje lijepih, interaktivnih karata koje mogu, primjerice, pružiti preporučene prometne rute, informacije o prometnim incidentima, unutarnju navigaciju, mogućnosti pretraživanja, informacije o nadmorskoj visini, vremenske usluge i još mnogo toga.
Azure Maps je "zbirka geoprostornih usluga i SDK-ova koji koriste svježe podatke o kartama kako bi pružili geografski kontekst za web i mobilne aplikacije." Programerima su dostupni alati za stvaranje lijepih, interaktivnih karata koje mogu, primjerice, pružiti preporučene prometne rute, informacije o prometnim incidentima, unutarnju navigaciju, mogućnosti pretraživanja, informacije o nadmorskoj visini, vremenske usluge i još mnogo toga.
@ -185,7 +185,7 @@ Sada možete prijeći na sljedeći korak, a to je prikazivanje karte na web stra
Ako otvorite svoju `index.html` stranicu u web pregledniku, trebali biste vidjeti kartu učitanu i fokusiranu na područje Seattlea.
Ako otvorite svoju `index.html` stranicu u web pregledniku, trebali biste vidjeti kartu učitanu i fokusiranu na područje Seattlea.


✅ Eksperimentirajte s parametrima za zumiranje i centriranje kako biste promijenili prikaz karte. Možete dodati različite koordinate koje odgovaraju širini i dužini vaših podataka kako biste ponovno centrirali kartu.
✅ Eksperimentirajte s parametrima za zumiranje i centriranje kako biste promijenili prikaz karte. Možete dodati različite koordinate koje odgovaraju širini i dužini vaših podataka kako biste ponovno centrirali kartu.
@ -319,7 +319,7 @@ Ako pokušate pristupiti svojoj pohrani kako biste dohvatili podatke, mogli bist
1. Učitajte HTML stranicu u svoj preglednik. Stranica će učitati kartu, zatim učitati sve GPS podatke iz pohrane i prikazati ih na karti.
1. Učitajte HTML stranicu u svoj preglednik. Stranica će učitati kartu, zatim učitati sve GPS podatke iz pohrane i prikazati ih na karti.


> 💁 Ovaj kod možete pronaći u [code](../../../../../3-transport/lessons/3-visualize-location-data/code) mapi.
> 💁 Ovaj kod možete pronaći u [code](../../../../../3-transport/lessons/3-visualize-location-data/code) mapi.


> Sketchnote od [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliku za veću verziju.
> Sketchnote od [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliku za veću verziju.
@ -35,7 +35,7 @@ U ovoj lekciji obradit ćemo:
Geooograda je virtualni perimetar za stvarnu geografsku regiju. Geooograde mogu biti krugovi definirani kao točka i radijus (na primjer, krug širine 100m oko zgrade) ili poligon koji pokriva područje poput školske zone, granica grada, sveučilišnog ili uredskog kampusa.
Geooograda je virtualni perimetar za stvarnu geografsku regiju. Geooograde mogu biti krugovi definirani kao točka i radijus (na primjer, krug širine 100m oko zgrade) ili poligon koji pokriva područje poput školske zone, granica grada, sveučilišnog ili uredskog kampusa.


> 💁 Možda ste već koristili geooograde, a da to niste znali. Ako ste postavili podsjetnik pomoću aplikacije iOS Reminders ili Google Keep na temelju lokacije, koristili ste geooogradu. Te aplikacije postavljaju geooogradu na temelju zadane lokacije i obavještavaju vas kada vaš telefon uđe u geooogradu.
> 💁 Možda ste već koristili geooograde, a da to niste znali. Ako ste postavili podsjetnik pomoću aplikacije iOS Reminders ili Google Keep na temelju lokacije, koristili ste geooogradu. Te aplikacije postavljaju geooogradu na temelju zadane lokacije i obavještavaju vas kada vaš telefon uđe u geooogradu.
@ -212,7 +212,7 @@ Važno je znati udaljenost do ruba geooograde i kombinirati je s drugim informac
Na primjer, zamislite GPS očitanja koja pokazuju da je vozilo vozilo cestom koja završava uz geooogradu. Ako jedno GPS očitanje nije točno i postavi vozilo unutar geooograde, unatoč tome što nema pristupa vozilima, tada se može zanemariti.
Na primjer, zamislite GPS očitanja koja pokazuju da je vozilo vozilo cestom koja završava uz geooogradu. Ako jedno GPS očitanje nije točno i postavi vozilo unutar geooograde, unatoč tome što nema pristupa vozilima, tada se može zanemariti.


Na gornjoj slici prikazan je geofence preko dijela Microsoft kampusa. Crvena linija prikazuje kamion koji vozi duž autoceste 520, s krugovima koji označavaju GPS očitanja. Većina tih očitanja je točna i nalazi se duž autoceste 520, dok jedno netočno očitanje pokazuje lokaciju unutar geofencea. Nema načina da to očitanje bude ispravno - nema cesta koje bi omogućile kamionu da iznenada skrene s autoceste 520 na kampus, a zatim se vrati na autocestu 520. Kod koji provjerava ovaj geofence morat će uzeti u obzir prethodna očitanja prije nego što djeluje na rezultate testa geofencea.
Na gornjoj slici prikazan je geofence preko dijela Microsoft kampusa. Crvena linija prikazuje kamion koji vozi duž autoceste 520, s krugovima koji označavaju GPS očitanja. Većina tih očitanja je točna i nalazi se duž autoceste 520, dok jedno netočno očitanje pokazuje lokaciju unutar geofencea. Nema načina da to očitanje bude ispravno - nema cesta koje bi omogućile kamionu da iznenada skrene s autoceste 520 na kampus, a zatim se vrati na autocestu 520. Kod koji provjerava ovaj geofence morat će uzeti u obzir prethodna očitanja prije nego što djeluje na rezultate testa geofencea.
✅ Koje dodatne podatke biste trebali provjeriti kako biste utvrdili može li se GPS očitanje smatrati točnim?
✅ Koje dodatne podatke biste trebali provjeriti kako biste utvrdili može li se GPS očitanje smatrati točnim?
@ -284,7 +284,7 @@ Kao što se sjećate iz prethodnih lekcija, IoT Hub omogućuje ponovno reproduci
Odgovor je da ne može! Umjesto toga, možete definirati više odvojenih veza za čitanje događaja, a svaka od njih može upravljati reprodukcijom nepročitanih poruka. To se zove *potrošačke grupe*. Kada se povežete s krajnjom točkom, možete odrediti koju potrošačku grupu želite koristiti. Svaka komponenta vaše aplikacije povezat će se s različitom potrošačkom grupom.
Odgovor je da ne može! Umjesto toga, možete definirati više odvojenih veza za čitanje događaja, a svaka od njih može upravljati reprodukcijom nepročitanih poruka. To se zove *potrošačke grupe*. Kada se povežete s krajnjom točkom, možete odrediti koju potrošačku grupu želite koristiti. Svaka komponenta vaše aplikacije povezat će se s različitom potrošačkom grupom.


Teoretski, do 5 aplikacija može se povezati s svakom potrošačkom grupom, i sve će primati poruke kada stignu. Najbolja praksa je imati samo jednu aplikaciju koja pristupa svakoj potrošačkoj grupi kako bi se izbjeglo dupliciranje obrade poruka i osiguralo da se prilikom ponovnog pokretanja sve poruke u redu obrađuju ispravno. Na primjer, ako pokrenete svoju Functions aplikaciju lokalno, kao i u oblaku, obje bi obrađivale poruke, što bi dovelo do dupliciranja blobova pohranjenih u storage računu.
Teoretski, do 5 aplikacija može se povezati s svakom potrošačkom grupom, i sve će primati poruke kada stignu. Najbolja praksa je imati samo jednu aplikaciju koja pristupa svakoj potrošačkoj grupi kako bi se izbjeglo dupliciranje obrade poruka i osiguralo da se prilikom ponovnog pokretanja sve poruke u redu obrađuju ispravno. Na primjer, ako pokrenete svoju Functions aplikaciju lokalno, kao i u oblaku, obje bi obrađivale poruke, što bi dovelo do dupliciranja blobova pohranjenih u storage računu.


> Sketchnote od [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliku za veću verziju.
> Sketchnote od [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliku za veću verziju.
@ -38,7 +38,7 @@ Ne sazrijevaju svi usjevi ravnomjerno. Na primjer, rajčice mogu imati još zele
Porast automatizirane berbe premjestio je sortiranje proizvoda s berbe na tvornicu. Hrana bi putovala na dugim pokretnim trakama s timovima ljudi koji pregledavaju proizvode i uklanjaju sve što ne zadovoljava potrebne standarde kvalitete. Berba je bila jeftinija zahvaljujući strojevima, ali još uvijek je postojao trošak ručnog sortiranja hrane.
Porast automatizirane berbe premjestio je sortiranje proizvoda s berbe na tvornicu. Hrana bi putovala na dugim pokretnim trakama s timovima ljudi koji pregledavaju proizvode i uklanjaju sve što ne zadovoljava potrebne standarde kvalitete. Berba je bila jeftinija zahvaljujući strojevima, ali još uvijek je postojao trošak ručnog sortiranja hrane.


Sljedeća evolucija bila je korištenje strojeva za sortiranje, bilo ugrađenih u berač ili u pogonima za obradu. Prva generacija ovih strojeva koristila je optičke senzore za otkrivanje boja, kontrolirajući aktuatore koji su gurali zelene rajčice u otpadnu posudu pomoću poluga ili mlazova zraka, ostavljajući crvene rajčice da nastave na mreži pokretnih traka.
Sljedeća evolucija bila je korištenje strojeva za sortiranje, bilo ugrađenih u berač ili u pogonima za obradu. Prva generacija ovih strojeva koristila je optičke senzore za otkrivanje boja, kontrolirajući aktuatore koji su gurali zelene rajčice u otpadnu posudu pomoću poluga ili mlazova zraka, ostavljajući crvene rajčice da nastave na mreži pokretnih traka.
@ -62,7 +62,7 @@ Na primjer, mogli biste dati modelu milijune slika nezrelih banana kao ulazne po
> 🎓 Rezultati ML modela nazivaju se *predikcije*
> 🎓 Rezultati ML modela nazivaju se *predikcije*


ML modeli ne daju binarni odgovor, već daju vjerojatnosti. Na primjer, model može dobiti sliku banane i predvidjeti `zrelo` s 99.7% i `nezrelo` s 0.3%. Vaš kod bi tada odabrao najbolju predikciju i odlučio da je banana zrela.
ML modeli ne daju binarni odgovor, već daju vjerojatnosti. Na primjer, model može dobiti sliku banane i predvidjeti `zrelo` s 99.7% i `nezrelo` s 0.3%. Vaš kod bi tada odabrao najbolju predikciju i odlučio da je banana zrela.
@ -90,7 +90,7 @@ Postoji širok raspon alata koji vam mogu pomoći u tome, uključujući usluge t
Custom Vision je alat temeljen na oblaku za obuku klasifikatora slika. Omogućuje vam obuku klasifikatora koristeći samo mali broj slika. Možete učitati slike putem web portala, web API-ja ili SDK-a, dajući svakoj slici *oznaku* koja predstavlja klasifikaciju te slike. Zatim obučavate model i testirate ga kako biste vidjeli koliko dobro radi. Kada ste zadovoljni modelom, možete objaviti njegove verzije koje se mogu koristiti putem web API-ja ili SDK-a.
Custom Vision je alat temeljen na oblaku za obuku klasifikatora slika. Omogućuje vam obuku klasifikatora koristeći samo mali broj slika. Možete učitati slike putem web portala, web API-ja ili SDK-a, dajući svakoj slici *oznaku* koja predstavlja klasifikaciju te slike. Zatim obučavate model i testirate ga kako biste vidjeli koliko dobro radi. Kada ste zadovoljni modelom, možete objaviti njegove verzije koje se mogu koristiti putem web API-ja ili SDK-a.
> 💁 Možete obučiti model Custom Vision s samo 5 slika po klasifikaciji, ali više je bolje. Možete dobiti bolje rezultate s barem 30 slika.
> 💁 Možete obučiti model Custom Vision s samo 5 slika po klasifikaciji, ali više je bolje. Možete dobiti bolje rezultate s barem 30 slika.
@ -146,7 +146,7 @@ Da biste koristili Custom Vision, prvo morate kreirati dva resursa za kognitivne
Kada kreirate svoj projekt, obavezno koristite resurs `fruit-quality-detector-training` koji ste ranije kreirali. Koristite *Classification* kao tip projekta, *Multiclass* kao tip klasifikacije i *Food* kao domen.
Kada kreirate svoj projekt, obavezno koristite resurs `fruit-quality-detector-training` koji ste ranije kreirali. Koristite *Classification* kao tip projekta, *Multiclass* kao tip klasifikacije i *Food* kao domen.


✅ Odvojite malo vremena za istraživanje Custom Vision UI-ja za vaš klasifikator slika.
✅ Odvojite malo vremena za istraživanje Custom Vision UI-ja za vaš klasifikator slika.
@ -164,7 +164,7 @@ Klasifikatori slika rade na vrlo niskoj rezoluciji. Na primjer, Custom Vision mo
* Koristeći 2 zrele banane, snimite nekoliko slika svake iz različitih kutova, snimajući najmanje 7 slika (5 za treniranje, 2 za testiranje), ali idealno više.
* Koristeći 2 zrele banane, snimite nekoliko slika svake iz različitih kutova, snimajući najmanje 7 slika (5 za treniranje, 2 za testiranje), ali idealno više.


* Ponovite isti postupak koristeći 2 nezrele banane.
* Ponovite isti postupak koristeći 2 nezrele banane.
@ -174,7 +174,7 @@ Klasifikatori slika rade na vrlo niskoj rezoluciji. Na primjer, Custom Vision mo
1. Slijedite [odjeljak za učitavanje i označavanje slika u vodiču za izradu klasifikatora na Microsoft dokumentaciji](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/getting-started-build-a-classifier?WT.mc_id=academic-17441-jabenn#upload-and-tag-images) kako biste učitali slike za treniranje. Označite zrelo voće kao `ripe`, a nezrelo voće kao `unripe`.
1. Slijedite [odjeljak za učitavanje i označavanje slika u vodiču za izradu klasifikatora na Microsoft dokumentaciji](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/getting-started-build-a-classifier?WT.mc_id=academic-17441-jabenn#upload-and-tag-images) kako biste učitali slike za treniranje. Označite zrelo voće kao `ripe`, a nezrelo voće kao `unripe`.


1. Slijedite [odjeljak za treniranje klasifikatora u vodiču za izradu klasifikatora na Microsoft dokumentaciji](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/getting-started-build-a-classifier?WT.mc_id=academic-17441-jabenn#train-the-classifier) kako biste trenirali klasifikator slika na učitanim slikama.
1. Slijedite [odjeljak za treniranje klasifikatora u vodiču za izradu klasifikatora na Microsoft dokumentaciji](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/getting-started-build-a-classifier?WT.mc_id=academic-17441-jabenn#train-the-classifier) kako biste trenirali klasifikator slika na učitanim slikama.
@ -192,7 +192,7 @@ Nakon što je vaš klasifikator treniran, možete ga testirati tako da mu date n
1. Slijedite [dokumentaciju za testiranje modela na Microsoft dokumentaciji](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/test-your-model?WT.mc_id=academic-17441-jabenn#test-your-model) kako biste testirali svoj klasifikator slika. Koristite slike za testiranje koje ste ranije stvorili, a ne slike koje ste koristili za treniranje.
1. Slijedite [dokumentaciju za testiranje modela na Microsoft dokumentaciji](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/test-your-model?WT.mc_id=academic-17441-jabenn#test-your-model) kako biste testirali svoj klasifikator slika. Koristite slike za testiranje koje ste ranije stvorili, a ne slike koje ste koristili za treniranje.


1. Isprobajte sve slike za testiranje koje imate i promatrajte vjerojatnosti.
1. Isprobajte sve slike za testiranje koje imate i promatrajte vjerojatnosti.


> Sketchnote autorice [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliku za veću verziju.
> Sketchnote autorice [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliku za veću verziju.
@ -26,7 +26,7 @@ U ovoj lekciji obradit ćemo:
Senzori kamera, kako ime sugerira, su kamere koje možete povezati s vašim IoT uređajem. Oni mogu snimati statične slike ili streaming video. Neki će vraćati sirove podatke slike, dok će drugi komprimirati podatke slike u datoteku poput JPEG-a ili PNG-a. Obično su kamere koje rade s IoT uređajima mnogo manje i niže rezolucije nego što ste navikli, ali možete nabaviti kamere visoke rezolucije koje se mogu usporediti s vrhunskim telefonima. Dostupni su razni izmjenjivi objektivi, višestruki setovi kamera, infracrvene termalne kamere ili UV kamere.
Senzori kamera, kako ime sugerira, su kamere koje možete povezati s vašim IoT uređajem. Oni mogu snimati statične slike ili streaming video. Neki će vraćati sirove podatke slike, dok će drugi komprimirati podatke slike u datoteku poput JPEG-a ili PNG-a. Obično su kamere koje rade s IoT uređajima mnogo manje i niže rezolucije nego što ste navikli, ali možete nabaviti kamere visoke rezolucije koje se mogu usporediti s vrhunskim telefonima. Dostupni su razni izmjenjivi objektivi, višestruki setovi kamera, infracrvene termalne kamere ili UV kamere.


Većina senzora kamera koristi senzore slike gdje je svaki piksel fotodioda. Objektiv fokusira sliku na senzor slike, a tisuće ili milijuni fotodioda detektiraju svjetlost koja pada na svaku od njih i bilježe to kao podatke piksela.
Većina senzora kamera koristi senzore slike gdje je svaki piksel fotodioda. Objektiv fokusira sliku na senzor slike, a tisuće ili milijuni fotodioda detektiraju svjetlost koja pada na svaku od njih i bilježe to kao podatke piksela.
@ -74,7 +74,7 @@ Iteracije se objavljuju iz portala Custom Vision.
1. Kliknite gumb **Publish** za iteraciju.
1. Kliknite gumb **Publish** za iteraciju.


1. U dijalogu *Publish Model*, postavite *Prediction resource* na resurs `fruit-quality-detector-prediction` koji ste kreirali u prethodnoj lekciji. Ostavite naziv kao `Iteration2` i kliknite gumb **Publish**.
1. U dijalogu *Publish Model*, postavite *Prediction resource* na resurs `fruit-quality-detector-prediction` koji ste kreirali u prethodnoj lekciji. Ostavite naziv kao `Iteration2` i kliknite gumb **Publish**.
@ -88,7 +88,7 @@ Iteracije se objavljuju iz portala Custom Vision.
Također kopirajte vrijednost *Prediction-Key*. Ovo je sigurnosni ključ koji morate proslijediti prilikom pozivanja modela. Samo aplikacije koje proslijede ovaj ključ smiju koristiti model, sve ostale aplikacije bit će odbijene.
Također kopirajte vrijednost *Prediction-Key*. Ovo je sigurnosni ključ koji morate proslijediti prilikom pozivanja modela. Samo aplikacije koje proslijede ovaj ključ smiju koristiti model, sve ostale aplikacije bit će odbijene.


✅ Kada se objavi nova iteracija, imat će drugačiji naziv. Kako mislite da biste promijenili iteraciju koju IoT uređaj koristi?
✅ Kada se objavi nova iteracija, imat će drugačiji naziv. Kako mislite da biste promijenili iteraciju koju IoT uređaj koristi?
@ -109,7 +109,7 @@ Možda ćete primijetiti da rezultati koje dobijete prilikom korištenja kamere
Da biste dobili najbolje rezultate za klasifikator slika, želite trenirati model s slikama koje su što sličnije slikama koje se koriste za predikcije. Ako ste koristili kameru telefona za snimanje slika za trening, na primjer, kvaliteta slike, oštrina i boja bit će drugačiji od kamere povezane s IoT uređajem.
Da biste dobili najbolje rezultate za klasifikator slika, želite trenirati model s slikama koje su što sličnije slikama koje se koriste za predikcije. Ako ste koristili kameru telefona za snimanje slika za trening, na primjer, kvaliteta slike, oštrina i boja bit će drugačiji od kamere povezane s IoT uređajem.


Na slici iznad, slika banane s lijeve strane snimljena je pomoću Raspberry Pi kamere, dok je slika s desne strane snimljena istog banana na istom mjestu pomoću iPhonea. Primjetna je razlika u kvaliteti - slika s iPhonea je oštrija, s svjetlijim bojama i većim kontrastom.
Na slici iznad, slika banane s lijeve strane snimljena je pomoću Raspberry Pi kamere, dok je slika s desne strane snimljena istog banana na istom mjestu pomoću iPhonea. Primjetna je razlika u kvaliteti - slika s iPhonea je oštrija, s svjetlijim bojama i većim kontrastom.
@ -16,7 +16,7 @@ Kamera se može povezati s Raspberry Pi-jem pomoću vrpčastog kabela.
### Zadatak - povezivanje kamere
### Zadatak - povezivanje kamere


1. Isključite napajanje Pi-ja.
1. Isključite napajanje Pi-ja.
@ -24,17 +24,17 @@ Kamera se može povezati s Raspberry Pi-jem pomoću vrpčastog kabela.
Animaciju koja prikazuje kako otvoriti kopču i umetnuti kabel možete pronaći u [Raspberry Pi dokumentaciji za početak rada s modulom kamere](https://projects.raspberrypi.org/en/projects/getting-started-with-picamera/2).
Animaciju koja prikazuje kako otvoriti kopču i umetnuti kabel možete pronaći u [Raspberry Pi dokumentaciji za početak rada s modulom kamere](https://projects.raspberrypi.org/en/projects/getting-started-with-picamera/2).


1. Uklonite Grove Base Hat s Pi-ja.
1. Uklonite Grove Base Hat s Pi-ja.
1. Provucite vrpčasti kabel kroz utor za kameru na Grove Base Hat-u. Provjerite je li plava strana kabela okrenuta prema analognim priključcima označenim **A0**, **A1** itd.
1. Provucite vrpčasti kabel kroz utor za kameru na Grove Base Hat-u. Provjerite je li plava strana kabela okrenuta prema analognim priključcima označenim **A0**, **A1** itd.


1. Umetnite vrpčasti kabel u priključak za kameru na Pi-ju. Ponovno, povucite crnu plastičnu kopču prema gore, umetnite kabel, a zatim gurnite kopču natrag. Plava strana kabela trebala bi biti okrenuta prema USB i Ethernet priključcima.
1. Umetnite vrpčasti kabel u priključak za kameru na Pi-ju. Ponovno, povucite crnu plastičnu kopču prema gore, umetnite kabel, a zatim gurnite kopču natrag. Plava strana kabela trebala bi biti okrenuta prema USB i Ethernet priključcima.


1. Ponovno postavite Grove Base Hat.
1. Ponovno postavite Grove Base Hat.
@ -101,7 +101,7 @@ Programirajte uređaj.
Linija `camera.rotation = 0` postavlja rotaciju slike. Vrpčasti kabel ulazi na dno kamere, ali ako je vaša kamera rotirana kako bi lakše usmjerila predmet koji želite klasificirati, možete promijeniti ovu liniju na broj stupnjeva rotacije.
Linija `camera.rotation = 0` postavlja rotaciju slike. Vrpčasti kabel ulazi na dno kamere, ali ako je vaša kamera rotirana kako bi lakše usmjerila predmet koji želite klasificirati, možete promijeniti ovu liniju na broj stupnjeva rotacije.


Na primjer, ako objesite vrpčasti kabel iznad nečega tako da je na vrhu kamere, postavite rotaciju na 180:
Na primjer, ako objesite vrpčasti kabel iznad nečega tako da je na vrhu kamere, postavite rotaciju na 180:
@ -84,7 +84,7 @@ Usluga Custom Vision ima Python SDK koji možete koristiti za klasifikaciju slik
Moći ćete vidjeti sliku koja je snimljena, i ove vrijednosti u **Predictions** kartici u Custom Vision.
Moći ćete vidjeti sliku koja je snimljena, i ove vrijednosti u **Predictions** kartici u Custom Vision.


> 💁 Ovaj kod možete pronaći u mapi [code-classify/pi](../../../../../4-manufacturing/lessons/2-check-fruit-from-device/code-classify/pi) ili [code-classify/virtual-iot-device](../../../../../4-manufacturing/lessons/2-check-fruit-from-device/code-classify/virtual-iot-device).
> 💁 Ovaj kod možete pronaći u mapi [code-classify/pi](../../../../../4-manufacturing/lessons/2-check-fruit-from-device/code-classify/pi) ili [code-classify/virtual-iot-device](../../../../../4-manufacturing/lessons/2-check-fruit-from-device/code-classify/virtual-iot-device).
1. Konfigurirajte sliku koju će kamera u CounterFit snimiti. Možete postaviti *Source* na *File*, zatim učitati datoteku slike, ili postaviti *Source* na *WebCam*, i slike će se snimati s vaše web kamere. Pobrinite se da odaberete gumb **Set** nakon odabira slike ili web kamere.
1. Konfigurirajte sliku koju će kamera u CounterFit snimiti. Možete postaviti *Source* na *File*, zatim učitati datoteku slike, ili postaviti *Source* na *WebCam*, i slike će se snimati s vaše web kamere. Pobrinite se da odaberete gumb **Set** nakon odabira slike ili web kamere.


1. Slika će biti snimljena i spremljena kao `image.jpg` u trenutnoj mapi. Vidjet ćete ovu datoteku u exploreru VS Code-a. Odaberite datoteku za pregled slike. Ako je potrebna rotacija, ažurirajte liniju `camera.rotation = 0` prema potrebi i snimite novu sliku.
1. Slika će biti snimljena i spremljena kao `image.jpg` u trenutnoj mapi. Vidjet ćete ovu datoteku u exploreru VS Code-a. Odaberite datoteku za pregled slike. Ako je potrebna rotacija, ažurirajte liniju `camera.rotation = 0` prema potrebi i snimite novu sliku.
1. Pinovi na bazi ArduCam-a trebaju biti povezani na GPIO pinove na Wio Terminalu. Kako biste lakše pronašli odgovarajuće pinove, zalijepite naljepnicu s GPIO pinovima koja dolazi uz Wio Terminal oko pinova:
1. Pinovi na bazi ArduCam-a trebaju biti povezani na GPIO pinove na Wio Terminalu. Kako biste lakše pronašli odgovarajuće pinove, zalijepite naljepnicu s GPIO pinovima koja dolazi uz Wio Terminal oko pinova:
@ -35,7 +35,7 @@ Povežite kameru.
| SDA | 3 (I2C1_SDA) | I2C serijski podaci |
| SDA | 3 (I2C1_SDA) | I2C serijski podaci |
| SCL | 5 (I2C1_SCL) | I2C serijski sat |
| SCL | 5 (I2C1_SCL) | I2C serijski sat |


GND i VCC veze osiguravaju napajanje od 5V za ArduCam. Kamera radi na 5V, za razliku od Grove senzora koji rade na 3V. Ovo napajanje dolazi direktno iz USB-C priključka koji napaja uređaj.
GND i VCC veze osiguravaju napajanje od 5V za ArduCam. Kamera radi na 5V, za razliku od Grove senzora koji rade na 3V. Ovo napajanje dolazi direktno iz USB-C priključka koji napaja uređaj.
@ -456,7 +456,7 @@ Wio Terminal podržava samo microSD kartice do 16GB. Ako imate veću SD karticu,
1. Isključite microSD karticu i izvadite je laganim pritiskom i otpuštanjem, te će iskočiti. Možda ćete morati koristiti tanki alat za ovo. Priključite microSD karticu na svoje računalo kako biste pregledali slike.
1. Isključite microSD karticu i izvadite je laganim pritiskom i otpuštanjem, te će iskočiti. Možda ćete morati koristiti tanki alat za ovo. Priključite microSD karticu na svoje računalo kako biste pregledali slike.


💁 Možda će biti potrebno nekoliko slika da se bijela ravnoteža kamere prilagodi. Primijetit ćete to na temelju boje snimljenih slika, prve nekoliko mogu izgledati neispravno u boji. Uvijek možete zaobići ovo promjenom koda kako biste snimili nekoliko slika koje se ignoriraju u funkciji `setup`.
💁 Možda će biti potrebno nekoliko slika da se bijela ravnoteža kamere prilagodi. Primijetit ćete to na temelju boje snimljenih slika, prve nekoliko mogu izgledati neispravno u boji. Uvijek možete zaobići ovo promjenom koda kako biste snimili nekoliko slika koje se ignoriraju u funkciji `setup`.
@ -208,7 +208,7 @@ Ovi certifikati sadrže javne ključeve i ne moraju biti čuvani u tajnosti. Mo
Moći ćete vidjeti sliku koja je snimljena i ove vrijednosti na kartici **Predictions** u Custom Visionu.
Moći ćete vidjeti sliku koja je snimljena i ove vrijednosti na kartici **Predictions** u Custom Visionu.


> 💁 Ovaj kod možete pronaći u mapi [code-classify/wio-terminal](../../../../../4-manufacturing/lessons/2-check-fruit-from-device/code-classify/wio-terminal).
> 💁 Ovaj kod možete pronaći u mapi [code-classify/wio-terminal](../../../../../4-manufacturing/lessons/2-check-fruit-from-device/code-classify/wio-terminal).


> Sketchnote od [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliku za veću verziju.
> Sketchnote od [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliku za veću verziju.
@ -33,11 +33,11 @@ U ovoj lekciji obradit ćemo:
Rubno računalstvo uključuje korištenje računala koja obrađuju IoT podatke što bliže mjestu gdje se ti podaci generiraju. Umjesto da se obrada odvija u oblaku, ona se premješta na rub oblaka - vašu internu mrežu.
Rubno računalstvo uključuje korištenje računala koja obrađuju IoT podatke što bliže mjestu gdje se ti podaci generiraju. Umjesto da se obrada odvija u oblaku, ona se premješta na rub oblaka - vašu internu mrežu.


U dosadašnjim lekcijama, imali ste uređaje koji prikupljaju podatke i šalju ih u oblak na analizu, pokrećući funkcije bez poslužitelja ili AI modele u oblaku.
U dosadašnjim lekcijama, imali ste uređaje koji prikupljaju podatke i šalju ih u oblak na analizu, pokrećući funkcije bez poslužitelja ili AI modele u oblaku.


Rubno računalstvo uključuje premještanje nekih usluga iz oblaka na računala koja rade na istoj mreži kao i IoT uređaji, komunicirajući s oblakom samo kada je to potrebno. Na primjer, možete pokretati AI modele na rubnim uređajima za analizu zrelosti voća, a u oblak slati samo analitiku, poput broja zrelih i nezrelih komada voća.
Rubno računalstvo uključuje premještanje nekih usluga iz oblaka na računala koja rade na istoj mreži kao i IoT uređaji, komunicirajući s oblakom samo kada je to potrebno. Na primjer, možete pokretati AI modele na rubnim uređajima za analizu zrelosti voća, a u oblak slati samo analitiku, poput broja zrelih i nezrelih komada voća.
@ -85,7 +85,7 @@ Za IoT sustave, često ćete željeti kombinaciju računalstva u oblaku i na rub
Azure IoT Edge je usluga koja vam može pomoći da premjestite radne zadatke iz oblaka na rub. Postavljate uređaj kao rubni uređaj, a iz oblaka možete implementirati kod na taj rubni uređaj. To vam omogućuje kombiniranje mogućnosti oblaka i ruba.
Azure IoT Edge je usluga koja vam može pomoći da premjestite radne zadatke iz oblaka na rub. Postavljate uređaj kao rubni uređaj, a iz oblaka možete implementirati kod na taj rubni uređaj. To vam omogućuje kombiniranje mogućnosti oblaka i ruba.
@ -99,7 +99,7 @@ IoT Edge je ugrađen u IoT Hub, tako da možete upravljati rubnim uređajima kor
IoT Edge pokreće kod iz *kontejnera* - samostalnih aplikacija koje se pokreću izolirano od ostatka aplikacija na vašem računalu. Kada pokrenete kontejner, on djeluje kao zasebno računalo koje radi unutar vašeg računala, sa svojim vlastitim softverom, uslugama i aplikacijama. Većinu vremena kontejneri ne mogu pristupiti ničemu na vašem računalu osim ako ne odlučite dijeliti stvari poput mape s kontejnerom. Kontejner tada izlaže usluge putem otvorenog porta kojem možete pristupiti ili ga izložiti svojoj mreži.
IoT Edge pokreće kod iz *kontejnera* - samostalnih aplikacija koje se pokreću izolirano od ostatka aplikacija na vašem računalu. Kada pokrenete kontejner, on djeluje kao zasebno računalo koje radi unutar vašeg računala, sa svojim vlastitim softverom, uslugama i aplikacijama. Većinu vremena kontejneri ne mogu pristupiti ničemu na vašem računalu osim ako ne odlučite dijeliti stvari poput mape s kontejnerom. Kontejner tada izlaže usluge putem otvorenog porta kojem možete pristupiti ili ga izložiti svojoj mreži.


Na primjer, možete imati kontejner s web stranicom koja radi na portu 80, zadani HTTP port, i možete ga izložiti sa svog računala također na portu 80.
Na primjer, možete imati kontejner s web stranicom koja radi na portu 80, zadani HTTP port, i možete ga izložiti sa svog računala također na portu 80.
@ -195,11 +195,11 @@ Nakon što je model treniran, potrebno ga je izvesti kao kontejner.
## Priprema kontejnera za implementaciju
## Priprema kontejnera za implementaciju


Nakon što ste preuzeli svoj model, potrebno ga je izgraditi u kontejner, a zatim poslati u registry kontejnera - online lokaciju za pohranu kontejnera. IoT Edge može zatim preuzeti kontejner iz registryja i poslati ga na vaš uređaj.
Nakon što ste preuzeli svoj model, potrebno ga je izgraditi u kontejner, a zatim poslati u registry kontejnera - online lokaciju za pohranu kontejnera. IoT Edge može zatim preuzeti kontejner iz registryja i poslati ga na vaš uređaj.
Registry kontejnera koji ćete koristiti za ovu lekciju je Azure Container Registry. Ovo nije besplatna usluga, pa kako biste uštedjeli novac, pobrinite se da [očistite svoj projekt](../../../clean-up.md) nakon što završite.
Registry kontejnera koji ćete koristiti za ovu lekciju je Azure Container Registry. Ovo nije besplatna usluga, pa kako biste uštedjeli novac, pobrinite se da [očistite svoj projekt](../../../clean-up.md) nakon što završite.
# Pokretanje detekcije kvalitete voća pomoću senzora
# Pokretanje detekcije kvalitete voća pomoću senzora


> Sketchnote autorice [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliku za veću verziju.
> Sketchnote autorice [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliku za veću verziju.
@ -39,7 +39,7 @@ IoT aplikacije mogu se opisati kao *stvari* (uređaji) koje šalju podatke koji
Gornji dijagram prikazuje neke od komponenti i usluga obrađenih u ovim lekcijama i kako se povezuju u referentnoj IoT arhitekturi.
Gornji dijagram prikazuje neke od komponenti i usluga obrađenih u ovim lekcijama i kako se povezuju u referentnoj IoT arhitekturi.
@ -89,7 +89,7 @@ Morate izgraditi sustav gdje se voće detektira čim stigne na pokretnu traku, z
### Prototipiranje aplikacije
### Prototipiranje aplikacije


Gornji dijagram prikazuje referentnu arhitekturu za ovu prototip aplikaciju.
Gornji dijagram prikazuje referentnu arhitekturu za ovu prototip aplikaciju.
@ -124,7 +124,7 @@ Prođite kroz odgovarajući vodič za korištenje senzora blizine za detekciju o
Prototip detektora voća ima više komponenti koje međusobno komuniciraju.
Prototip detektora voća ima više komponenti koje međusobno komuniciraju.


* Senzor blizine mjeri udaljenost do komada voća i šalje to u IoT Hub
* Senzor blizine mjeri udaljenost do komada voća i šalje to u IoT Hub
* Naredba za upravljanje kamerom dolazi iz IoT Hub-a prema uređaju s kamerom
* Naredba za upravljanje kamerom dolazi iz IoT Hub-a prema uređaju s kamerom
@ -20,7 +20,7 @@ Grove Time of Flight senzor može se povezati s Raspberry Pi-jem.
Povežite senzor Time of Flight.
Povežite senzor Time of Flight.


1. Umetnite jedan kraj Grove kabela u utičnicu na senzoru Time of Flight. Kabel će se umetnuti samo na jedan način.
1. Umetnite jedan kraj Grove kabela u utičnicu na senzoru Time of Flight. Kabel će se umetnuti samo na jedan način.
@ -20,7 +20,7 @@ Grove senzor Time of Flight može se povezati s Wio Terminalom.
Povežite senzor Time of Flight.
Povežite senzor Time of Flight.


1. Umetnite jedan kraj Grove kabela u priključak na senzoru Time of Flight. Kabel će ući samo na jedan način.
1. Umetnite jedan kraj Grove kabela u priključak na senzoru Time of Flight. Kabel će ući samo na jedan način.


> Sketchnote autorice [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliku za veću verziju.
> Sketchnote autorice [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliku za veću verziju.
@ -36,7 +36,7 @@ Prepoznavanje objekata uključuje detekciju objekata na slikama pomoću AI-a. Za
Klasifikacija slika odnosi se na klasifikaciju cijele slike - koje su vjerojatnosti da cijela slika odgovara svakoj oznaci. Dobivate natrag vjerojatnosti za svaku oznaku korištenu za treniranje modela.
Klasifikacija slika odnosi se na klasifikaciju cijele slike - koje su vjerojatnosti da cijela slika odgovara svakoj oznaci. Dobivate natrag vjerojatnosti za svaku oznaku korištenu za treniranje modela.


U gornjem primjeru, dvije slike su klasificirane pomoću modela treniranog za klasifikaciju posuda s indijskim oraščićima ili konzervi paste od rajčice. Prva slika prikazuje posudu s indijskim oraščićima i ima dva rezultata iz klasifikatora slika:
U gornjem primjeru, dvije slike su klasificirane pomoću modela treniranog za klasifikaciju posuda s indijskim oraščićima ili konzervi paste od rajčice. Prva slika prikazuje posudu s indijskim oraščićima i ima dva rezultata iz klasifikatora slika:
@ -60,7 +60,7 @@ Kada ga zatim koristite za predviđanje slika, umjesto da dobijete popis oznaka
> 🎓 *Okviri* su pravokutnici oko objekta.
> 🎓 *Okviri* su pravokutnici oko objekta.


Gornja slika sadrži i posudu s indijskim oraščićima i tri konzerve paste od rajčice. Detektor objekata detektirao je indijske oraščiće, vraćajući okvir koji sadrži indijske oraščiće s postotkom vjerojatnosti da okvir sadrži objekt, u ovom slučaju 97.6%. Detektor objekata također je detektirao tri konzerve paste od rajčice i pruža tri odvojena okvira, po jedan za svaku detektiranu konzervu, a svaki ima postotak vjerojatnosti da okvir sadrži konzervu paste od rajčice.
Gornja slika sadrži i posudu s indijskim oraščićima i tri konzerve paste od rajčice. Detektor objekata detektirao je indijske oraščiće, vraćajući okvir koji sadrži indijske oraščiće s postotkom vjerojatnosti da okvir sadrži objekt, u ovom slučaju 97.6%. Detektor objekata također je detektirao tri konzerve paste od rajčice i pruža tri odvojena okvira, po jedan za svaku detektiranu konzervu, a svaki ima postotak vjerojatnosti da okvir sadrži konzervu paste od rajčice.
@ -109,7 +109,7 @@ Možete trenirati detektor objekata koristeći Custom Vision, na sličan način
Kada kreirate svoj projekt, obavezno koristite resurs `stock-detector-training` koji ste ranije kreirali. Koristite tip projekta *Object Detection* i domenu *Products on Shelves*.
Kada kreirate svoj projekt, obavezno koristite resurs `stock-detector-training` koji ste ranije kreirali. Koristite tip projekta *Object Detection* i domenu *Products on Shelves*.


✅ Domena *Products on Shelves* posebno je usmjerena na detekciju zaliha na policama trgovina. Pročitajte više o različitim domenama u [dokumentaciji o odabiru domena na Microsoft Docs](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/select-domain?WT.mc_id=academic-17441-jabenn#object-detection).
✅ Domena *Products on Shelves* posebno je usmjerena na detekciju zaliha na policama trgovina. Pročitajte više o različitim domenama u [dokumentaciji o odabiru domena na Microsoft Docs](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/select-domain?WT.mc_id=academic-17441-jabenn#object-detection).
@ -131,11 +131,11 @@ Za treniranje modela trebat će vam skup slika koje sadrže objekte koje želite
1. Slijedite [odjeljak Upload i označavanje slika u vodiču za brzi početak na Microsoft dokumentaciji](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/get-started-build-detector?WT.mc_id=academic-17441-jabenn#upload-and-tag-images) kako biste učitali svoje slike za treniranje. Kreirajte relevantne oznake ovisno o vrstama objekata koje želite detektirati.
1. Slijedite [odjeljak Upload i označavanje slika u vodiču za brzi početak na Microsoft dokumentaciji](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/get-started-build-detector?WT.mc_id=academic-17441-jabenn#upload-and-tag-images) kako biste učitali svoje slike za treniranje. Kreirajte relevantne oznake ovisno o vrstama objekata koje želite detektirati.


Kada crtate okvire za objekte, držite ih čvrsto oko objekta. Može potrajati neko vrijeme da označite sve slike, ali alat će detektirati ono što misli da su okviri, čineći proces bržim.
Kada crtate okvire za objekte, držite ih čvrsto oko objekta. Može potrajati neko vrijeme da označite sve slike, ali alat će detektirati ono što misli da su okviri, čineći proces bržim.


> 💁 Ako imate više od 15 slika za svaki objekt, možete trenirati nakon 15, a zatim koristiti značajku **Predložene oznake**. Ovo će koristiti trenirani model za detekciju objekata na neoznačenim slikama. Zatim možete potvrditi detektirane objekte ili odbaciti i ponovno nacrtati okvire. Ovo može uštedjeti *puno* vremena.
> 💁 Ako imate više od 15 slika za svaki objekt, možete trenirati nakon 15, a zatim koristiti značajku **Predložene oznake**. Ovo će koristiti trenirani model za detekciju objekata na neoznačenim slikama. Zatim možete potvrditi detektirane objekte ili odbaciti i ponovno nacrtati okvire. Ovo može uštedjeti *puno* vremena.
@ -153,7 +153,7 @@ Kada je vaš detektor objekata treniran, možete ga testirati dajući mu nove sl
1. Koristite gumb **Quick Test** za upload testnih slika i provjeru jesu li objekti detektirani. Koristite testne slike koje ste ranije kreirali, a ne bilo koju od slika koje ste koristili za treniranje.
1. Koristite gumb **Quick Test** za upload testnih slika i provjeru jesu li objekti detektirani. Koristite testne slike koje ste ranije kreirali, a ne bilo koju od slika koje ste koristili za treniranje.


1. Isprobajte sve testne slike koje imate i promatrajte vjerojatnosti.
1. Isprobajte sve testne slike koje imate i promatrajte vjerojatnosti.


> Sketchnote autorice [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliku za veću verziju.
> Sketchnote autorice [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliku za veću verziju.
@ -62,7 +62,7 @@ Iteracije se objavljuju putem Custom Vision portala.
1. Kliknite gumb **Publish** za iteraciju.
1. Kliknite gumb **Publish** za iteraciju.


1. U dijaloškom okviru *Publish Model*, postavite *Prediction resource* na resurs `stock-detector-prediction` koji ste stvorili u prethodnoj lekciji. Ostavite naziv kao `Iteration2` i kliknite gumb **Publish**.
1. U dijaloškom okviru *Publish Model*, postavite *Prediction resource* na resurs `stock-detector-prediction` koji ste stvorili u prethodnoj lekciji. Ostavite naziv kao `Iteration2` i kliknite gumb **Publish**.
@ -76,7 +76,7 @@ Iteracije se objavljuju putem Custom Vision portala.
Također kopirajte vrijednost *Prediction-Key*. Ovo je sigurnosni ključ koji morate proslijediti prilikom pozivanja modela. Samo aplikacije koje proslijede ovaj ključ mogu koristiti model, sve ostale aplikacije bit će odbijene.
Također kopirajte vrijednost *Prediction-Key*. Ovo je sigurnosni ključ koji morate proslijediti prilikom pozivanja modela. Samo aplikacije koje proslijede ovaj ključ mogu koristiti model, sve ostale aplikacije bit će odbijene.


✅ Kada se objavi nova iteracija, imat će drugačiji naziv. Kako mislite da biste promijenili iteraciju koju koristi IoT uređaj?
✅ Kada se objavi nova iteracija, imat će drugačiji naziv. Kako mislite da biste promijenili iteraciju koju koristi IoT uređaj?
@ -95,7 +95,7 @@ Kada koristite detektor objekata, ne dobivate samo prepoznate objekte s njihovim
Rezultati predikcije u kartici **Predictions** u Custom Visionu imaju ograničavajuće okvire nacrtane na slici koja je poslana na predikciju.
Rezultati predikcije u kartici **Predictions** u Custom Visionu imaju ograničavajuće okvire nacrtane na slici koja je poslana na predikciju.


Na slici iznad, prepoznate su 4 konzerve rajčice. U rezultatima je crveni kvadrat prekriven za svaki objekt koji je prepoznat na slici, označavajući ograničavajući okvir za sliku.
Na slici iznad, prepoznate su 4 konzerve rajčice. U rezultatima je crveni kvadrat prekriven za svaki objekt koji je prepoznat na slici, označavajući ograničavajući okvir za sliku.
@ -103,7 +103,7 @@ Na slici iznad, prepoznate su 4 konzerve rajčice. U rezultatima je crveni kvadr
Ograničavajući okviri definirani su s 4 vrijednosti - top, left, height i width. Ove vrijednosti su na skali od 0-1, predstavljajući pozicije kao postotak veličine slike. Ishodište (pozicija 0,0) je gornji lijevi kut slike, tako da je top vrijednost udaljenost od vrha, a dno ograničavajućeg okvira je top plus height.
Ograničavajući okviri definirani su s 4 vrijednosti - top, left, height i width. Ove vrijednosti su na skali od 0-1, predstavljajući pozicije kao postotak veličine slike. Ishodište (pozicija 0,0) je gornji lijevi kut slike, tako da je top vrijednost udaljenost od vrha, a dno ograničavajućeg okvira je top plus height.


Slika iznad je široka 600 piksela i visoka 800 piksela. Ograničavajući okvir počinje na 320 piksela od vrha, dajući top koordinatu od 0.4 (800 x 0.4 = 320). S lijeve strane, okvir počinje na 240 piksela, dajući left koordinatu od 0.4 (600 x 0.4 = 240). Visina okvira je 240 piksela, dajući height vrijednost od 0.3 (800 x 0.3 = 240). Širina okvira je 120 piksela, dajući width vrijednost od 0.2 (600 x 0.2 = 120).
Slika iznad je široka 600 piksela i visoka 800 piksela. Ograničavajući okvir počinje na 320 piksela od vrha, dajući top koordinatu od 0.4 (800 x 0.4 = 320). S lijeve strane, okvir počinje na 240 piksela, dajući left koordinatu od 0.4 (600 x 0.4 = 240). Visina okvira je 240 piksela, dajući height vrijednost od 0.3 (800 x 0.3 = 240). Širina okvira je 120 piksela, dajući width vrijednost od 0.2 (600 x 0.2 = 120).
@ -118,7 +118,7 @@ Korištenje postotnih vrijednosti od 0-1 znači da bez obzira na veličinu slike
Možete koristiti ograničavajuće okvire u kombinaciji s vjerojatnostima za procjenu točnosti detekcije. Na primjer, detektor objekata može prepoznati više objekata koji se preklapaju, primjerice prepoznati jednu konzervu unutar druge. Vaš kod može provjeriti ograničavajuće okvire, shvatiti da je to nemoguće, i ignorirati sve objekte koji se značajno preklapaju s drugim objektima.
Možete koristiti ograničavajuće okvire u kombinaciji s vjerojatnostima za procjenu točnosti detekcije. Na primjer, detektor objekata može prepoznati više objekata koji se preklapaju, primjerice prepoznati jednu konzervu unutar druge. Vaš kod može provjeriti ograničavajuće okvire, shvatiti da je to nemoguće, i ignorirati sve objekte koji se značajno preklapaju s drugim objektima.
U primjeru iznad, jedan ograničavajući okvir označava predviđenu konzervu rajčice s 78.3%. Drugi okvir je nešto manji i nalazi se unutar prvog okvira s vjerojatnošću od 64.3%. Vaš kod može provjeriti ograničavajuće okvire, vidjeti da se potpuno preklapaju i ignorirati nižu vjerojatnost jer nije moguće da jedna konzerva bude unutar druge.
U primjeru iznad, jedan ograničavajući okvir označava predviđenu konzervu rajčice s 78.3%. Drugi okvir je nešto manji i nalazi se unutar prvog okvira s vjerojatnošću od 64.3%. Vaš kod može provjeriti ograničavajuće okvire, vidjeti da se potpuno preklapaju i ignorirati nižu vjerojatnost jer nije moguće da jedna konzerva bude unutar druge.
@ -67,7 +67,7 @@ Kod koji ste koristili za klasifikaciju slika vrlo je sličan kodu za detekciju
Moći ćete vidjeti sliku koja je snimljena i ove vrijednosti u kartici **Predictions** u Custom Vision.
Moći ćete vidjeti sliku koja je snimljena i ove vrijednosti u kartici **Predictions** u Custom Vision.


> 💁 Ovaj kod možete pronaći u mapi [code-detect/pi](../../../../../5-retail/lessons/2-check-stock-device/code-detect/pi) ili [code-detect/virtual-iot-device](../../../../../5-retail/lessons/2-check-stock-device/code-detect/virtual-iot-device).
> 💁 Ovaj kod možete pronaći u mapi [code-detect/pi](../../../../../5-retail/lessons/2-check-stock-device/code-detect/pi) ili [code-detect/virtual-iot-device](../../../../../5-retail/lessons/2-check-stock-device/code-detect/virtual-iot-device).
@ -95,7 +95,7 @@ Kod koji ste koristili za klasifikaciju slika vrlo je sličan kodu za detekciju
Moći ćete vidjeti sliku koja je snimljena, kao i ove vrijednosti na kartici **Predictions** u Custom Vision.
Moći ćete vidjeti sliku koja je snimljena, kao i ove vrijednosti na kartici **Predictions** u Custom Vision.


> 💁 Ovaj kod možete pronaći u mapi [code-detect/wio-terminal](../../../../../5-retail/lessons/2-check-stock-device/code-detect/wio-terminal).
> 💁 Ovaj kod možete pronaći u mapi [code-detect/wio-terminal](../../../../../5-retail/lessons/2-check-stock-device/code-detect/wio-terminal).


> Sketchnote od [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliku za veću verziju.
> Sketchnote od [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliku za veću verziju.
@ -51,7 +51,7 @@ Mikrofoni dolaze u raznim vrstama:
Dinamički mikrofoni ne trebaju napajanje za rad, električni signal se stvara isključivo iz mikrofona.
Dinamički mikrofoni ne trebaju napajanje za rad, električni signal se stvara isključivo iz mikrofona.


* Trakasti - Trakasti mikrofoni slični su dinamičkim mikrofonima, osim što imaju metalnu traku umjesto membrane. Ova traka se pomiče u magnetskom polju stvarajući električnu struju. Kao i dinamički mikrofoni, trakasti mikrofoni ne trebaju napajanje za rad.
* Trakasti - Trakasti mikrofoni slični su dinamičkim mikrofonima, osim što imaju metalnu traku umjesto membrane. Ova traka se pomiče u magnetskom polju stvarajući električnu struju. Kao i dinamički mikrofoni, trakasti mikrofoni ne trebaju napajanje za rad.
@ -59,11 +59,11 @@ Mikrofoni dolaze u raznim vrstama:
* Kondenzatorski - Kondenzatorski mikrofoni imaju tanku metalnu membranu i fiksnu metalnu stražnju ploču. Elektricitet se primjenjuje na obje ove komponente, a kako membrana vibrira, statički naboj između ploča se mijenja generirajući signal. Kondenzatorski mikrofoni trebaju napajanje za rad - nazvano *Phantom power*.
* Kondenzatorski - Kondenzatorski mikrofoni imaju tanku metalnu membranu i fiksnu metalnu stražnju ploču. Elektricitet se primjenjuje na obje ove komponente, a kako membrana vibrira, statički naboj između ploča se mijenja generirajući signal. Kondenzatorski mikrofoni trebaju napajanje za rad - nazvano *Phantom power*.


* MEMS - Mikroelektromehanički sustavi mikrofona, ili MEMS, su mikrofoni na čipu. Imaju dijafragmu osjetljivu na pritisak ugraviranu na silicijski čip i rade slično kondenzatorskom mikrofonu. Ovi mikrofoni mogu biti vrlo mali i integrirani u elektroničke sklopove.
* MEMS - Mikroelektromehanički sustavi mikrofona, ili MEMS, su mikrofoni na čipu. Imaju dijafragmu osjetljivu na pritisak ugraviranu na silicijski čip i rade slično kondenzatorskom mikrofonu. Ovi mikrofoni mogu biti vrlo mali i integrirani u elektroničke sklopove.


Na slici iznad, čip označen **LEFT** je MEMS mikrofon, s dijafragmom manjom od jednog milimetra.
Na slici iznad, čip označen **LEFT** je MEMS mikrofon, s dijafragmom manjom od jednog milimetra.
@ -159,7 +159,7 @@ Kako biste izbjegli složenost treniranja i korištenja modela za budnu riječ,
Kao i kod klasifikacije slika u ranijem projektu, postoje unaprijed izgrađene AI usluge koje mogu uzeti govor kao audio datoteku i pretvoriti ga u tekst. Jedna od takvih usluga je Govorna usluga, dio Cognitive Services, unaprijed izgrađenih AI usluga koje možete koristiti u svojim aplikacijama.
Kao i kod klasifikacije slika u ranijem projektu, postoje unaprijed izgrađene AI usluge koje mogu uzeti govor kao audio datoteku i pretvoriti ga u tekst. Jedna od takvih usluga je Govorna usluga, dio Cognitive Services, unaprijed izgrađenih AI usluga koje možete koristiti u svojim aplikacijama.
1. Umetnite jedan kraj Grove kabela u utičnicu na modulu gumba. Kabel će ući samo na jedan način.
1. Umetnite jedan kraj Grove kabela u utičnicu na modulu gumba. Kabel će ući samo na jedan način.
1. S isključenim Raspberry Pi uređajem, spojite drugi kraj Grove kabela na digitalnu utičnicu označenu **D5** na Grove baznom HAT-u pričvršćenom na Pi. Ova utičnica je druga s lijeva, u redu utičnica pored GPIO pinova.
1. S isključenim Raspberry Pi uređajem, spojite drugi kraj Grove kabela na digitalnu utičnicu označenu **D5** na Grove baznom HAT-u pričvršćenom na Pi. Ova utičnica je druga s lijeva, u redu utičnica pored GPIO pinova.


@ -34,7 +34,7 @@ Mikrofon i zvučnici moraju biti povezani i konfigurirani.
1. Ako koristite ReSpeaker 2-Mics Pi HAT, možete ukloniti Grove osnovni hat, a zatim postaviti ReSpeaker hat na njegovo mjesto.
1. Ako koristite ReSpeaker 2-Mics Pi HAT, možete ukloniti Grove osnovni hat, a zatim postaviti ReSpeaker hat na njegovo mjesto.


Kasnije u ovoj lekciji trebat će vam Grove gumb, ali jedan je ugrađen u ovaj hat, pa Grove osnovni hat nije potreban.
Kasnije u ovoj lekciji trebat će vam Grove gumb, ali jedan je ugrađen u ovaj hat, pa Grove osnovni hat nije potreban.
@ -10,7 +10,7 @@ Ugrađeni mikrofon snima analogni signal, koji se zatim pretvara u digitalni sig
✅ Pročitajte više o DMA na [stranici o izravnom pristupu memoriji na Wikipediji](https://wikipedia.org/wiki/Direct_memory_access).
✅ Pročitajte više o DMA na [stranici o izravnom pristupu memoriji na Wikipediji](https://wikipedia.org/wiki/Direct_memory_access).


DMAC može snimati zvuk s ADC-a u fiksnim intervalima, primjerice 16.000 puta u sekundi za zvuk od 16 kHz. Može zapisivati te snimljene podatke u unaprijed dodijeljeni memorijski međuspremnik, a kada se on napuni, obavještava vaš kod da ga obradi. Korištenje ovog međuspremnika može odgoditi snimanje zvuka, ali možete postaviti više međuspremnika. DMAC zapisuje u međuspremnik 1, a kada se on napuni, obavještava vaš kod da obradi međuspremnik 1, dok DMAC zapisuje u međuspremnik 2. Kada se međuspremnik 2 napuni, obavještava vaš kod i vraća se na zapisivanje u međuspremnik 1. Na taj način, sve dok obrađujete svaki međuspremnik u kraćem vremenu nego što je potrebno da se jedan napuni, nećete izgubiti podatke.
DMAC može snimati zvuk s ADC-a u fiksnim intervalima, primjerice 16.000 puta u sekundi za zvuk od 16 kHz. Može zapisivati te snimljene podatke u unaprijed dodijeljeni memorijski međuspremnik, a kada se on napuni, obavještava vaš kod da ga obradi. Korištenje ovog međuspremnika može odgoditi snimanje zvuka, ali možete postaviti više međuspremnika. DMAC zapisuje u međuspremnik 1, a kada se on napuni, obavještava vaš kod da obradi međuspremnik 1, dok DMAC zapisuje u međuspremnik 2. Kada se međuspremnik 2 napuni, obavještava vaš kod i vraća se na zapisivanje u međuspremnik 1. Na taj način, sve dok obrađujete svaki međuspremnik u kraćem vremenu nego što je potrebno da se jedan napuni, nećete izgubiti podatke.
Možete kreirati modele za razumijevanje jezika koristeći LUIS, uslugu za razumijevanje jezika od Microsofta koja je dio Cognitive Services.
Možete kreirati modele za razumijevanje jezika koristeći LUIS, uslugu za razumijevanje jezika od Microsofta koja je dio Cognitive Services.
@ -169,7 +169,7 @@ Upute za korištenje LUIS portala možete pronaći u [Quickstart: Build your app
1. Dok unosite svaki primjer, LUIS će početi prepoznavati entitete i podcrtavati te označavati sve što pronađe.
1. Dok unosite svaki primjer, LUIS će početi prepoznavati entitete i podcrtavati te označavati sve što pronađe.


Govorna usluga koju ste koristili u proteklim lekcijama ima mogućnosti prevođenja za prepoznavanje govora. Kada prepoznate govor, možete zatražiti ne samo tekst govora na istom jeziku, već i na drugim jezicima.
Govorna usluga koju ste koristili u proteklim lekcijama ima mogućnosti prevođenja za prepoznavanje govora. Kada prepoznate govor, možete zatražiti ne samo tekst govora na istom jeziku, već i na drugim jezicima.
@ -82,7 +82,7 @@ Govorna usluga koju ste koristili u proteklim lekcijama ima mogućnosti prevođe
Usluga Translator je posvećena usluga prevođenja koja može prevesti tekst s jednog jezika na jedan ili više ciljanih jezika. Osim prevođenja, podržava širok raspon dodatnih značajki, uključujući maskiranje vulgarnosti. Također vam omogućuje da pružite specifičan prijevod za određenu riječ ili rečenicu, kako biste radili s pojmovima koje ne želite prevesti ili imate specifičan poznati prijevod.
Usluga Translator je posvećena usluga prevođenja koja može prevesti tekst s jednog jezika na jedan ili više ciljanih jezika. Osim prevođenja, podržava širok raspon dodatnih značajki, uključujući maskiranje vulgarnosti. Također vam omogućuje da pružite specifičan prijevod za određenu riječ ili rečenicu, kako biste radili s pojmovima koje ne želite prevesti ili imate specifičan poznati prijevod.
@ -25,7 +25,7 @@ REST API za uslugu govora ne podržava direktne prijevode, ali možete koristiti
>
>
> Na primjer, ako trenirate LUIS na engleskom, ali želite koristiti francuski kao jezik korisnika, možete prevesti rečenice poput "postavi mjerač vremena na 2 minute i 27 sekundi" s engleskog na francuski koristeći Bing Translate, a zatim koristiti gumb **Listen translation** za izgovaranje prijevoda u mikrofon.
> Na primjer, ako trenirate LUIS na engleskom, ali želite koristiti francuski kao jezik korisnika, možete prevesti rečenice poput "postavi mjerač vremena na 2 minute i 27 sekundi" s engleskog na francuski koristeći Bing Translate, a zatim koristiti gumb **Listen translation** za izgovaranje prijevoda u mikrofon.
>
>
> 
> 
1. Dodajte API ključ prevoditelja ispod `speech_api_key`:
1. Dodajte API ključ prevoditelja ispod `speech_api_key`:
@ -37,7 +37,7 @@ Usluga za govor može uzeti govor i ne samo pretvoriti ga u tekst na istom jezik
>
>
> Na primjer, ako trenirate LUIS na engleskom, ali želite koristiti francuski kao jezik korisnika, možete prevesti rečenice poput "set a 2 minute and 27 second timer" s engleskog na francuski koristeći Bing Translate, a zatim koristiti gumb **Listen translation** za izgovaranje prijevoda u mikrofon.
> Na primjer, ako trenirate LUIS na engleskom, ali želite koristiti francuski kao jezik korisnika, možete prevesti rečenice poput "set a 2 minute and 27 second timer" s engleskog na francuski koristeći Bing Translate, a zatim koristiti gumb **Listen translation** za izgovaranje prijevoda u mikrofon.
>
>
> 
> 
1. Zamijenite deklaracije `recognizer_config` i `recognizer` sljedećim:
1. Zamijenite deklaracije `recognizer_config` i `recognizer` sljedećim:
@ -105,7 +105,7 @@ REST API usluge govora ne podržava izravna prevođenja, no možete koristiti us
>
>
> Na primjer, ako trenirate LUIS na engleskom, ali želite koristiti francuski kao jezik korisnika, možete prevesti rečenice poput "set a 2 minute and 27 second timer" s engleskog na francuski koristeći Bing Translate, a zatim koristiti gumb **Listen translation** za izgovaranje prijevoda u mikrofon.
> Na primjer, ako trenirate LUIS na engleskom, ali želite koristiti francuski kao jezik korisnika, možete prevesti rečenice poput "set a 2 minute and 27 second timer" s engleskog na francuski koristeći Bing Translate, a zatim koristiti gumb **Listen translation** za izgovaranje prijevoda u mikrofon.
>
>
> 
> 
1. Dodajte API ključ i lokaciju prevoditelja ispod `SPEECH_LOCATION`:
1. Dodajte API ključ i lokaciju prevoditelja ispod `SPEECH_LOCATION`:
Ako zapnete ili imate pitanja o izradi AI aplikacija. Pridružite se drugim učenicima i iskusnim programerima u raspravama o MCP-u. To je podržavajuća zajednica u kojoj su pitanja dobrodošla, a znanje se slobodno dijeli.
Ako zapnete ili imate bilo kakvih pitanja o izradi AI aplikacija. Pridružite se učenicima i iskusnim programerima u raspravama o MCP-u. To je podržavajuća zajednica gdje su pitanja dobrodošla i znanje se slobodno dijeli.
> Ovaj repozitorij uključuje prijevode na 50+ jezika što znatno povećava veličinu preuzimanja. Da biste klonirali bez prijevoda, koristite sparse checkout:
> Ovaj repozitorij uključuje 50+ prijevoda jezika što značajno povećava veličinu preuzimanja. Za kloniranje bez prijevoda, koristite sparse checkout:
> git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"
> ```
>
> Ovo vam daje sve što vam je potrebno da dovršite tečaj s mnogo bržim preuzimanjem.
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
# IoT za početnike - Nastavni plan i program
# IoT za Početnike - Kurikulum
Zagovornici Azure oblaka u Microsoftu s veseljem nude 12-tjedni, 24-poglavni nastavni plan posvećen osnovama IoT-a. Svaka lekcija uključuje kvizove prije i poslije lekcije, pisane upute za dovršetak lekcije, rješenje, zadatak i još mnogo toga. Naša pedagoška metoda usmjerena na projekte omogućuje vam učenje kroz izgradnju, što je dokazan način za trajno usvajanje novih vještina.
Azure Cloud Advocates u Microsoftu s veseljem nude 12-tjedni, 24-lekcijski kurikulum posvećen osnovama IoT-a. Svaka lekcija uključuje kviz prije i poslije lekcije, pisane upute za dovršetak lekcije, rješenje, zadatak i još mnogo toga. Naša pedagoška metoda temeljena na projektima omogućuje vam da učite dok gradite, što je dokazani način da nove vještine 'upuče'.
Projekti pokrivaju put hrane s farme do stola. To uključuje poljoprivredu, logistiku, proizvodnju, maloprodaju i potrošača - sve popularna industrijska područja za IoT uređaje.
Projekti pokrivaju put hrane od farme do stola. To uključuje poljoprivredu, logistiku, proizvodnju, maloprodaju i potrošnju - sve popularna industrijska područja za IoT uređaje.


> Sketchnote autorice [Nitya Narasimhan](https://github.com/nitya). Kliknite sliku za veću verziju.
> Sketchnote autora [Nitya Narasimhan](https://github.com/nitya). Kliknite sliku za veću verziju.
> **Nastavnici**, uključili smo neke [prijedloge](for-teachers.md) o tome kako koristiti ovaj nastavni plan. Ako želite stvoriti vlastite lekcije, također imamo [predložak lekcije](lesson-template/README.md).
> **Nastavnici**, uključili smo [neke prijedloge](for-teachers.md) o tome kako koristiti ovaj kurikulum. Ako želite izraditi vlastite lekcije, također smo uključili [predložak lekcije](lesson-template/README.md).
> **[Učenici](https://aka.ms/student-page)**, da biste koristili ovaj nastavni plan samostalno, forkajte cijeli repozitorij i dovršite vježbe sami, počevši s kvizom prije predavanja, zatim pročitajte predavanje i dovršite ostale aktivnosti. Pokušajte kreirati projekte razumijevanjem lekcija umjesto kopiranja koda rješenja; taj kod je međutim dostupan u mapama /solutions u svakoj lekciji usmjerenoj na projekt. Druga ideja je formirati studijsku grupu s prijateljima i zajednički proći sadržaj. Za dodatno učenje preporučujemo [Microsoft Learn](https://docs.microsoft.com/users/jimbobbennett/collections/ke2ehd351jopwr?WT.mc_id=academic-17441-jabenn).
> **Učenici** [https://aka.ms/student-page](https://aka.ms/student-page), za samostalno korištenje ovog kurikuluma, napravite fork cijelog repozitorija i dovršite zadatke samostalno, počevši s kvizom prije predavanja, zatim čitajući predavanje i dovršavanjem ostalih aktivnosti. Pokušajte stvarati projekte razumijevanjem lekcija, a ne kopiranjem koda rješenja; međutim, taj kod je dostupan u mapama /solutions za svaku lekciju usmjerenu na projekte. Druga ideja je da oformite grupu za učenje s prijateljima i zajedno prođete kroz sadržaj. Za dodatno učenje preporučujemo [Microsoft Learn](https://docs.microsoft.com/users/jimbobbennett/collections/ke2ehd351jopwr?WT.mc_id=academic-17441-jabenn).
Za video pregled ovog tečaja, pogledajte ovaj video:
Za video pregled ovog tečaja pogledajte ovaj video:
Odabrali smo dva pedagoška načela pri izradi ovog nastavnog plana: osigurati da je usmjeren na projekte i da uključuje česte kvizove. Do kraja ove serije studenti će izgraditi sustav za nadzor biljaka i zalijevanje, praćenje vozila, pametnu tvornicu za praćenje i provjeru hrane te timer za kuhanje upravljan glasom, i naučiti osnove Interneta stvari uključujući pisanje koda za uređaje, povezivanje s oblakom, analizu telemetrije i izvođenje AI na rubu.
Odabrali smo dva pedagoška načela prilikom izrade ovog kurikuluma: osigurati da je temeljeno na projektima i da uključuje česte kvizove. Do kraja serije učenici će izgraditi sustav za nadzor i zalijevanje biljaka, uređaj za praćenje vozila, pametnu tvornicu za praćenje i kontrolu hrane te glasovno upravljani tajmer za kuhanje, i naučit će osnove Interneta stvari uključujući kako pisati kod za uređaje, povezati se na oblak, analizirati telemetriju i pokretati AI na rubu.
Osiguravajući da sadržaj odgovara projektima, proces je zanimljiviji za studente, a zadržavanje koncepata se povećava.
Osiguravajući da sadržaj odgovara projektima, proces je zanimljiviji za učenike i zadržavanje koncepata će se poboljšati.
Osim toga, kviz niskog rizika prije sata usmjerava namjeru učenika prema učenju teme, dok drugi kviz nakon sata osigurava daljnje zadržavanje znanja. Ovaj je nastavni plan dizajniran da bude fleksibilan i zabavan te se može pratiti u cijelosti ili djelomično. Projekti počinju jednostavno i postaju složeniji do kraja 12-tjednog ciklusa.
Uz to, kviz s niskim ulozima prije nastave postavlja namjeru učenika prema učenju teme, dok drugi kviz nakon nastave osigurava dodatno zadržavanje. Ovaj kurikulum dizajniran je da bude fleksibilan i zabavan, a može se uzimati u cijelosti ili djelomično. Projekti započinju mali i postaju sve složeniji do kraja 12-tjednog ciklusa.
Svaki je projekt baziran na stvarnom hardveru dostupnom studentima i hobistima. Svaki projekt proučava specifičnu domenu projekta, pružajući relevantna osnovna znanja. Da biste bili uspješan programer, korisno je razumjeti domen u kojoj rješavate probleme, a ovo osnovno znanje omogućuje studentima da razmišljaju o svojim IoT rješenjima i učenju u kontekstu stvarnog problema koji bi mogli imati kao IoT programer. Studenti uče 'zašto' rješenja koja grade i dobivaju uvid u krajnjeg korisnika.
Svaki projekt temelji se na stvarnom hardveru dostupan učenicima i hobistima. Svaki projekt proučava specifičnu domenu projekta, pružajući relevantno osnovno znanje. Da biste bili uspješan programer, pomaže razumjeti domen u kojoj rješavate probleme, a ovo osnovno znanje omogućuje učenicima da razmišljaju o svojim IoT rješenjima i učenju u kontekstu vrste stvarnog problema koji bi mogli biti zamoljeni riješiti kao IoT programer. Učenici uče 'zašto' rješenja koja grade i stječu cijenjenje krajnjeg korisnika.
## Hardver
## Hardver
Imamo dva izbora IoT hardvera za korištenje u projektima, ovisno o osobnim preferencijama, znanju programskih jezika, ciljevima učenja i dostupnosti. Također smo osigurali verziju 'virtualnog hardvera' za one koji nemaju pristup hardveru ili žele naučiti više prije nego što se odluče za kupnju. Više možete pročitati i pronaći 'popis za kupovinu' na [stranici o hardveru](./hardware.md), uključujući poveznice za kupnju gotovih kompleta od naših prijatelja u Seeed Studiu.
Imamo dva izbora IoT hardvera za korištenje u projektima ovisno o osobnim preferencijama, znanju programskog jezika, ciljevima učenja i dostupnosti. Također smo osigurali verziju 'virtualnog hardvera' za one koji nemaju pristup hardveru ili žele naučiti više prije kupnje. Više možete pročitati i pronaći 'popis za kupovinu' na [stranici za hardver](./hardware.md), uključujući poveznice za kupnju kompletnih setova od naših prijatelja u Seeed Studio.
> 💁 Pronađite naš [Kodeks ponašanja](CODE_OF_CONDUCT.md), smjernice za [Doprinos](CONTRIBUTING.md) i [Prijevod](TRANSLATIONS.md). Veselimo se vašim konstruktivnim povratnim informacijama!
> 💁 Pronađite naše [Kodeks ponašanja](CODE_OF_CONDUCT.md), [Smjernice za doprinos](CONTRIBUTING.md) i [Prevoditeljske smjernice](TRANSLATIONS.md). Veselimo se vašim konstruktivnim povratnim informacijama!
>
>
> 🔧 Imate problema? Pogledajte naš [Vodič za rješavanje problema](TROUBLESHOOTING.md) za rješenja uobičajenih problema.
> 🔧 Imate problema? Pogledajte naš [Vodič za rješavanje problema](TROUBLESHOOTING.md) za rješenja uobičajenih problema.
## Svaka lekcija uključuje:
## Svaka lekcija uključuje:
- sketchnote
- nacrt lekcije
- dodatni video po izboru
- opcionalni dodatni video
- kviz za zagrijavanje prije lekcije
- zagrijavajući kviz prije lekcije
- pisanu lekciju
- pisanu lekciju
- za lekcije temeljene na projektu, vodiče korak po korak kako izgraditi projekt
- za lekcije temeljene na projektima, vodiče korak po korak kako izraditi projekt
- provjere znanja
- provjere znanja
- izazov
- izazov
- dodatnu literaturu
- dodatno čitanje
- zadatak
- zadatak
- [kviz nakon lekcije](https://ff-quizzes.netlify.app/en/)
- [kviz poslije lekcije](https://ff-quizzes.netlify.app/en/)
> **Napomena o kvizovima**: Svi su kvizovi smješteni u mapu quiz-app, ukupno 48 kvizova sa po tri pitanja svaki. Povezani su iz lekcija, ali se aplikacija za kviz može pokrenuti lokalno ili postaviti na Azure; slijedite upute u mapi `quiz-app`. Postupno se lokaliziraju.
> **Napomena o kvizovima**: Svi su kvizovi u mapi quiz-app, ukupno 48 kvizova s po tri pitanja. Povezani su unutar lekcija, ali kviz aplikaciju možete pokrenuti lokalno ili objaviti na Azure; slijedite upute u mapi `quiz-app`. Postupno se lokaliziraju.
## Lekcije
## Lekcije
| | Naziv projekta | Poučavani koncepti | Ciljevi učenja | Povezana lekcija |
| | Naziv projekta | Obuhvaćeni pojmovi | Ciljevi učenja | Povezana lekcija |
| 01 | [Uvod](./1-getting-started/README.md) | Uvod u IoT | Naučite osnovna načela IoT-a i osnovne gradivne blokove IoT rješenja poput senzora i usluga u oblaku dok postavljate svoj prvi IoT uređaj | [Uvod u IoT](./1-getting-started/lessons/1-introduction-to-iot/README.md) |
| 01 | [Početak](./1-getting-started/README.md) | Uvod u IoT | Naučite osnovne principe IoT-a i osnovne blokove rješenja poput senzora i cloud servisa dok postavljate svoj prvi IoT uređaj | [Uvod u IoT](./1-getting-started/lessons/1-introduction-to-iot/README.md) |
| 02 | [Uvod](./1-getting-started/README.md) | Dublji pogled na IoT | Saznajte više o komponentama IoT sustava, mikro kontrolerima i računalima na jednoj ploči | [Dublji pogled na IoT](./1-getting-started/lessons/2-deeper-dive/README.md) |
| 02 | [Početak](./1-getting-started/README.md) | Dublji pogled u IoT | Naučite više o komponentama IoT sustava, mikrokontrolerima i jednoplatnim računalima | [Dublji pogled u IoT](./1-getting-started/lessons/2-deeper-dive/README.md) |
| 03 | [Uvod](./1-getting-started/README.md) | Interakcija s fizičkim svijetom pomoću senzora i aktuatora | Naučite o senzorima za prikupljanje podataka iz fizičkog svijeta te aktuatorima za slanje povratnih informacija dok izrađujete noćnu lampu | [Interakcija s fizičkim svijetom pomoću senzora i aktuatora](./1-getting-started/lessons/3-sensors-and-actuators/README.md) |
| 03 | [Početak](./1-getting-started/README.md) | Interakcija s fizičkim svijetom putem senzora i aktuatora | Naučite o senzorima za prikupljanje podataka iz fizičkog svijeta i aktuatorima za slanje povratne informacije dok izrađujete noćno svjetlo | [Interakcija s fizičkim svijetom putem senzora i aktuatora](./1-getting-started/lessons/3-sensors-and-actuators/README.md) |
| 04 | [Uvod](./1-getting-started/README.md) | Povezivanje uređaja na Internet | Naučite kako povezati IoT uređaj s internetom radi slanja i primanja poruka povezivanjem vaše noćne lampe s MQTT poslužiteljem | [Povežite uređaj na Internet](./1-getting-started/lessons/4-connect-internet/README.md) |
| 04 | [Početak](./1-getting-started/README.md) | Povežite svoj uređaj s internetom | Naučite kako povezati IoT uređaj s internetom za slanje i primanje poruka povezivanjem noćnog svjetla s MQTT poslužiteljem | [Povežite svoj uređaj s internetom](./1-getting-started/lessons/4-connect-internet/README.md) |
| 05 | [Farma](./2-farm/README.md) | Predviđanje rasta biljaka | Naučite kako predvidjeti rast biljke pomoću temperaturnih podataka koje prikuplja IoT uređaj | [Predviđanje rasta biljaka](./2-farm/lessons/1-predict-plant-growth/README.md) |
| 05 | [Farm](./2-farm/README.md) | Predviđanje rasta biljaka | Naučite kako predvidjeti rast biljaka koristeći podatke o temperaturi prikupljene IoT uređajem | [Predviđanje rasta biljaka](./2-farm/lessons/1-predict-plant-growth/README.md) |
| 06 | [Farma](./2-farm/README.md) | Otkrivanje vlage u tlu | Naučite kako otkriti vlagu u tlu i kalibrirati senzor vlage tla | [Otkrivanje vlage u tlu](./2-farm/lessons/2-detect-soil-moisture/README.md) |
| 07 | [Farma](./2-farm/README.md) | Automatsko zalijevanje biljaka | Naučite kako automatizirati i vremenski upravljati zalijevanjem koristeći relej i MQTT | [Automatsko zalijevanje biljaka](./2-farm/lessons/3-automated-plant-watering/README.md) |
| 07 | [Farm](./2-farm/README.md) | Automatizirano zalijevanje biljaka | Naučite kako automatizirati i tempirati zalijevanje pomoću releja i MQTT | [Automatizirano zalijevanje biljaka](./2-farm/lessons/3-automated-plant-watering/README.md) |
| 08 | [Farma](./2-farm/README.md) | Migrirajte biljku u oblak | Naučite o oblaku i IoT uslugama domaćinima u oblaku te kako povezati svoju biljku s jednom od njih umjesto javnog MQTT poslužitelja | [Migrirajte biljku u oblak](./2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md) |
| 08 | [Farm](./2-farm/README.md) | Migrirajte biljku u cloud | Saznajte o cloudu i IoT servisima u cloudu te kako povezati svoju biljku s nekim od njih umjesto javnog MQTT poslužitelja | [Migrirajte biljku u cloud](./2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md) |
| 09 | [Farma](./2-farm/README.md) | Migrirajte logiku aplikacije u oblak | Naučite kako pisati logiku aplikacije u oblaku koja reagira na IoT poruke | [Migrirajte logiku aplikacije u oblak](./2-farm/lessons/5-migrate-application-to-the-cloud/README.md) |
| 09 | [Farm](./2-farm/README.md) | Migrirajte logiku aplikacije u cloud | Naučite kako pisati logiku aplikacije u cloudu koja reagira na IoT poruke | [Migrirajte logiku aplikacije u cloud](./2-farm/lessons/5-migrate-application-to-the-cloud/README.md) |
| 10 | [Farma](./2-farm/README.md) | Osigurajte svoju biljku | Naučite o sigurnosti u IoT-u i kako osigurati svoju biljku pomoću ključeva i certifikata | [Osigurajte svoju biljku](./2-farm/lessons/6-keep-your-plant-secure/README.md) |
| 10 | [Farm](./2-farm/README.md) | Osigurajte svoju biljku | Naučite o sigurnosti u IoT-u i kako osigurati svoju biljku ključevima i certifikatima | [Osigurajte svoju biljku](./2-farm/lessons/6-keep-your-plant-secure/README.md) |
| 11 | [Transport](./3-transport/README.md) | Praćenje lokacije | Naučite o GPS praćenju lokacije za IoT uređaje | [Praćenje lokacije](./3-transport/lessons/1-location-tracking/README.md) |
| 11 | [Transport](./3-transport/README.md) | Praćenje lokacije | Naučite o GPS praćenju lokacije za IoT uređaje | [Praćenje lokacije](./3-transport/lessons/1-location-tracking/README.md) |
| 12 | [Transport](./3-transport/README.md) | Pohrana podataka lokacije | Naučite kako spremati IoT podatke za naknadnu vizualizaciju ili analizu | [Pohrana podataka lokacije](./3-transport/lessons/2-store-location-data/README.md) |
| 12 | [Transport](./3-transport/README.md) | Pohrana podataka o lokaciji | Naučite kako pohraniti IoT podatke za kasniju vizualizaciju ili analizu | [Pohrana podataka o lokaciji](./3-transport/lessons/2-store-location-data/README.md) |
| 13 | [Transport](./3-transport/README.md) | Vizualizacija podataka lokacije | Naučite o prikazu podataka lokacije na karti i kako karte predstavljaju stvarni 3D svijet u 2 dimenzije | [Vizualizacija podataka lokacije](./3-transport/lessons/3-visualize-location-data/README.md) |
| 13 | [Transport](./3-transport/README.md) | Vizualizacija podataka o lokaciji | Naučite o vizualizaciji podataka o lokaciji na karti i kako karte prikazuju stvarni 3D svijet u dvije dimenzije | [Vizualizacija podataka o lokaciji](./3-transport/lessons/3-visualize-location-data/README.md) |
| 14 | [Transport](./3-transport/README.md) | Geofence | Naučite o geofence-ovima i kako se mogu koristiti za obavještavanje kada su vozila u lancu opskrbe blizu svoje destinacije | [Geofence](./3-transport/lessons/4-geofences/README.md) |
| 14 | [Transport](./3-transport/README.md) | Geofence | Naučite o geofenceima i kako se koriste za obavještavanje kada su vozila u lancu opskrbe blizu svoje destinacije | [Geofence](./3-transport/lessons/4-geofences/README.md) |
| 15 | [Proizvodnja](./4-manufacturing/README.md) | Trening detektora kvalitete voća | Naučite kako trenirati klasifikator slika u oblaku za detektiranje kvalitete voća | [Trening detektora kvalitete voća](./4-manufacturing/lessons/1-train-fruit-detector/README.md) |
| 15 | [Manufacturing](./4-manufacturing/README.md) | Trenirajte sustav za detekciju kvalitete voća | Naučite o treniranju klasifikatora slika u cloudu za detekciju kvalitete voća | [Trenirajte sustav za detekciju kvalitete voća](./4-manufacturing/lessons/1-train-fruit-detector/README.md) |
| 16 | [Proizvodnja](./4-manufacturing/README.md) | Provjera kvalitete voća putem IoT uređaja | Naučite kako koristiti detektor kvalitete voća s IoT uređaja | [Provjera kvalitete voća putem IoT uređaja](./4-manufacturing/lessons/2-check-fruit-from-device/README.md) |
| 16 | [Manufacturing](./4-manufacturing/README.md) | Provjerite kvalitetu voća putem IoT uređaja | Naučite kako koristiti svoj sustav za detekciju kvalitete voća s IoT uređaja | [Provjerite kvalitetu voća putem IoT uređaja](./4-manufacturing/lessons/2-check-fruit-from-device/README.md) |
| 17 | [Proizvodnja](./4-manufacturing/README.md) | Pokretanje detektora voća na rubu | Naučite o pokretanju detektora voća na IoT uređaju na rubu mreže | [Pokretanje detektora voća na rubu](./4-manufacturing/lessons/3-run-fruit-detector-edge/README.md) |
| 17 | [Manufacturing](./4-manufacturing/README.md) | Pokrenite detektor voća na edge uređaju | Naučite o pokretanju detektora voća na IoT uređaju na edge-u | [Pokrenite detektor voća na edge uređaju](./4-manufacturing/lessons/3-run-fruit-detector-edge/README.md) |
| 18 | [Proizvodnja](./4-manufacturing/README.md) | Pokretanje detekcije kvalitete voća iz senzora | Naučite kako pokrenuti detekciju kvalitete voća iz senzora | [Pokretanje detekcije kvalitete voća iz senzora](./4-manufacturing/lessons/4-trigger-fruit-detector/README.md) |
| 18 | [Manufacturing](./4-manufacturing/README.md) | Pokrenite detekciju kvalitete voća putem senzora | Naučite kako pokrenuti detekciju kvalitete voća putem senzora | [Pokrenite detekciju kvalitete voća putem senzora](./4-manufacturing/lessons/4-trigger-fruit-detector/README.md) |
| 19 | [Maloprodaja](./5-retail/README.md) | Trening detektora zaliha | Naučite kako koristiti detekciju objekata za trening detektora zaliha za brojanje zaliha u trgovini | [Trening detektora zaliha](./5-retail/lessons/1-train-stock-detector/README.md) |
| 19 | [Retail](./5-retail/README.md) | Trenirajte detektor zaliha | Naučite kako koristiti detekciju objekata za treniranje detektora zaliha za brojanje zaliha u trgovini | [Trenirajte detektor zaliha](./5-retail/lessons/1-train-stock-detector/README.md) |
| 20 | [Maloprodaja](./5-retail/README.md) | Provjera zaliha s IoT uređaja | Naučite kako provjeriti zalihe koristeći IoT uređaj i model za detekciju objekata | [Provjera zaliha s IoT uređaja](./5-retail/lessons/2-check-stock-device/README.md) |
| 20 | [Retail](./5-retail/README.md) | Provjerite stanje zaliha putem IoT uređaja | Naučite kako provjeriti stanje zaliha putem IoT uređaja koristeći model za detekciju objekata | [Provjerite stanje zaliha putem IoT uređaja](./5-retail/lessons/2-check-stock-device/README.md) |
| 21 | [Konzumer](./6-consumer/README.md) | Prepoznavanje govora s IoT uređajem | Naučite kako prepoznati govor s IoT uređaja i napraviti pametni timer | [Prepoznavanje govora s IoT uređajem](./6-consumer/lessons/1-speech-recognition/README.md) |
| 21 | [Consumer](./6-consumer/README.md) | Prepoznavanje govora putem IoT uređaja | Naučite kako prepoznati govor s IoT uređaja za izradu pametnog tajmera | [Prepoznavanje govora putem IoT uređaja](./6-consumer/lessons/1-speech-recognition/README.md) |
| 22 | [Konzumer](./6-consumer/README.md) | Razumijevanje jezika | Naučite kako razumjeti rečenice izgovorene IoT uređaju | [Razumijevanje jezika](./6-consumer/lessons/2-language-understanding/README.md) |
| 22 | [Consumer](./6-consumer/README.md) | Razumijevanje jezika | Naučite kako razumjeti rečenice izgovorene IoT uređaju | [Razumijevanje jezika](./6-consumer/lessons/2-language-understanding/README.md) |
| 23 | [Konzumer](./6-consumer/README.md) | Postavljanje timera i pružanje glasovne povratne informacije | Naučite kako postaviti timer na IoT uređaju i pružiti glasovnu povratnu informaciju o početku i završetku timera | [Postavljanje timera i glasovna povratna informacija](./6-consumer/lessons/3-spoken-feedback/README.md) |
| 23 | [Consumer](./6-consumer/README.md) | Postavite tajmer i pružite govornu povratnu informaciju | Naučite kako postaviti tajmer na IoT uređaju i dati govornu povratnu informaciju o postavljanju i završetku tajmera | [Postavite tajmer i pružite govornu povratnu informaciju](./6-consumer/lessons/3-spoken-feedback/README.md) |
| 24 | [Konzumer](./6-consumer/README.md) | Podrška za više jezika | Naučite kako podržati više jezika, kako za govorene zahtjeve tako i za odgovore vašeg pametnog timera | [Podrška za više jezika](./6-consumer/lessons/4-multiple-language-support/README.md) |
| 24 | [Consumer](./6-consumer/README.md) | Podrška za više jezika | Naučite kako podržati više jezika, kako govornim tako i u odgovorima vašeg pametnog tajmera | [Podrška za više jezika](./6-consumer/lessons/4-multiple-language-support/README.md) |
## Pristup offline
## Offline pristup
Ovu dokumentaciju možete koristiti offline pomoću [Docsify](https://docsify.js.org/#/). Forkajte ovaj repozitorij, [instalirajte Docsify](https://docsify.js.org/#/quickstart) na svoj lokalni uređaj, zatim u korijenskom direktoriju repozitorija upišite `docsify serve`. Web stranica će se posluživati na portu 3000 na vašem localhostu: `localhost:3000`.
Ovu dokumentaciju možete koristiti i offline pomoću [Docsify](https://docsify.js.org/#/). Forkajte ovaj repozitorij, [instalirajte Docsify](https://docsify.js.org/#/quickstart) na svoje lokalno računalo, zatim u korijenskoj mapi repozitorija upišite `docsify serve`. Web stranica će biti dostupna na portu 3000 na vašem localhostu: `localhost:3000`.
## Kviz
## Kviz
Zahvaljujemo zajednici za održavanje interaktivnog kviza koji testira vaše znanje za svaki od poglavlja. Svoje znanje isprobajte [ovdje](https://ff-quizzes.netlify.app/en/)
Zahvaljujemo zajednici što je napravila interaktivni kviz koji testira vaše znanje iz svakog poglavlja. Testirajte svoje znanje [ovdje](https://ff-quizzes.netlify.app/en/)
### PDF
### PDF
Ako želite imati pristup ovom sadržaju offline, možete generirati PDF. Provjerite da imate instaliran [npm](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) i pokrenite sljedeće naredbe u korijenu ovog repozitorija:
Ako želite, možete generirati PDF ovog sadržaja za offline pristup. Da biste to učinili, provjerite imate li [npm instaliran](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) i pokrenite sljedeće naredbe u korijenskoj mapi ovog repozitorija:
```sh
```sh
npm i
npm i
npm run convert
npm run convert
```
```
### Prezentacije
### Slajdovi
Za neke lekcije postoje prezentacije u mapi [slides](../../slides).
Za neke lekcije postoje prezentacije u mapi [slides](../../slides).
## Ostali kurikulumi
## Drugi programi
Naš tim proizvodi i druge kurikulume! Pogledajte:
Naš tim proizvodi i druge obrazovne programe! Pogledajte:
<!-- CO-OP TRANSLATOR OTHER COURSES START -->
<!-- CO-OP TRANSLATOR OTHER COURSES START -->
### LangChain
### LangChain
[](https://aka.ms/langchain4j-for-beginners)
[](https://aka.ms/langchain4j-for-beginners)
[](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin)
[](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin)
[](https://github.com/microsoft/langchain-for-beginners?WT.mc_id=m365-94501-dwahlin)
---
---
### Azure / Edge / MCP / Agenti
### Azure / Edge / MCP / Agenti
[](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst)
---
---
### Serija generativne umjetne inteligencije
### Generativna AI serija
[](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
[-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst)
[-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst)
[-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst)
[-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst)
[-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst)
[-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst)
---
---
### Osnovno učenje
### Osnovno učenje
[](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
[](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
[](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
[](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
[](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
[](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung)
[](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung)
[](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst)
[](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst)
[](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst)
[](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst)
---
---
### Serija Copilot
### Copilot serija
[](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
[](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst)
Sve navode za slike korištene u ovom kurikulumu gdje je potrebno možete pronaći u [Attributions](./attributions.md).
Sve zasluge za slike korištene u ovom kurikulumu, gdje je potrebno, možete pronaći u [Attributions](./attributions.md).
---
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Odricanje od odgovornosti**:
**Odricanje od odgovornosti**:
Ovaj je dokument preveden pomoću AI usluge za prevođenje [Co-op Translator](https://github.com/Azure/co-op-translator). Iako nastojimo postići točnost, imajte na umu da automatski prijevodi mogu sadržavati pogreške ili netočnosti. Izvorni dokument na izvornom jeziku treba se smatrati autoritativnim izvorom. Za kritične informacije preporučuje se profesionalni ljudski prijevod. Ne odgovaramo za bilo kakve nesporazume ili kriva tumačenja koja proizlaze iz korištenja ovog prijevoda.
Ovaj dokument je preveden korištenjem AI usluge prevođenja [Co-op Translator](https://github.com/Azure/co-op-translator). Iako težimo točnosti, imajte na umu da automatski prijevodi mogu sadržavati pogreške ili netočnosti. Izvorni dokument na izvornom jeziku treba smatrati autoritativnim izvorom. Za kritične informacije preporučuje se profesionalni ljudski prijevod. Ne snosimo odgovornost za bilo kakva nesporazuma ili kriva tumačenja nastala uporabom ovog prijevoda.
@ -26,7 +26,7 @@ Seeed Studios su vrlo ljubazno omogućili da sav hardver bude dostupan u obliku
**[IoT za početnike sa Seeed i Microsoft - Raspberry Pi 4 Starter Kit](https://www.seeedstudio.com/IoT-for-beginners-with-Seeed-and-Microsoft-Raspberry-Pi-Starter-Kit-p-5004.html)**
**[IoT za početnike sa Seeed i Microsoft - Raspberry Pi 4 Starter Kit](https://www.seeedstudio.com/IoT-for-beginners-with-Seeed-and-Microsoft-Raspberry-Pi-Starter-Kit-p-5004.html)**
[](https://www.seeedstudio.com/IoT-for-beginners-with-Seeed-and-Microsoft-Raspberry-Pi-Starter-Kit-p-5004.html)
[](https://www.seeedstudio.com/IoT-for-beginners-with-Seeed-and-Microsoft-Raspberry-Pi-Starter-Kit-p-5004.html)
@ -203,7 +203,7 @@ Kot drugi korak 'Hello World' boste zagnali aplikacijo CounterFit in jo povezali
Aplikacija se bo začela izvajati in odprla v vašem spletnem brskalniku:
Aplikacija se bo začela izvajati in odprla v vašem spletnem brskalniku:


Označena bo kot *Disconnected*, z LED lučko v zgornjem desnem kotu, ki bo ugasnjena.
Označena bo kot *Disconnected*, z LED lučko v zgornjem desnem kotu, ki bo ugasnjena.
@ -224,7 +224,7 @@ Kot drugi korak 'Hello World' boste zagnali aplikacijo CounterFit in jo povezali
1. V tem novem terminalu zaženite datoteko `app.py` kot prej. Status CounterFit se bo spremenil v **Connected**, LED lučka pa se bo prižgala.
1. V tem novem terminalu zaženite datoteko `app.py` kot prej. Status CounterFit se bo spremenil v **Connected**, LED lučka pa se bo prižgala.


> 💁 To kodo lahko najdete v mapi [code/virtual-device](../../../../../1-getting-started/lessons/1-introduction-to-iot/code/virtual-device).
> 💁 To kodo lahko najdete v mapi [code/virtual-device](../../../../../1-getting-started/lessons/1-introduction-to-iot/code/virtual-device).


> Sketchnote avtorja [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliko za večjo različico.
> Sketchnote avtorja [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliko za večjo različico.
@ -38,7 +38,7 @@ Dve glavni komponenti IoT aplikacije sta *Internet* in *stvar*. Poglejmo si ti d
Te naprave komunicirajo s fizičnim svetom bodisi z uporabo senzorjev za zbiranje podatkov iz okolice bodisi z nadzorovanjem izhodov ali aktuatorjev za izvajanje fizičnih sprememb. Tipičen primer je pametni termostat - naprava, ki ima temperaturni senzor, način za nastavitev želene temperature, kot je vrtljivi gumb ali zaslon na dotik, in povezavo s sistemom za ogrevanje ali hlajenje, ki se lahko vklopi, ko zaznana temperatura ni v želenem območju. Temperaturni senzor zazna, da je prostor prehladen, in aktuator vklopi ogrevanje.
Te naprave komunicirajo s fizičnim svetom bodisi z uporabo senzorjev za zbiranje podatkov iz okolice bodisi z nadzorovanjem izhodov ali aktuatorjev za izvajanje fizičnih sprememb. Tipičen primer je pametni termostat - naprava, ki ima temperaturni senzor, način za nastavitev želene temperature, kot je vrtljivi gumb ali zaslon na dotik, in povezavo s sistemom za ogrevanje ali hlajenje, ki se lahko vklopi, ko zaznana temperatura ni v želenem območju. Temperaturni senzor zazna, da je prostor prehladen, in aktuator vklopi ogrevanje.


Obstaja ogromno različnih stvari, ki lahko delujejo kot IoT naprave, od namenskih naprav za zaznavanje ene stvari do naprav splošnega namena, celo vaš pametni telefon! Pametni telefon lahko uporablja senzorje za zaznavanje sveta okoli sebe in aktuatorje za interakcijo s svetom - na primer z uporabo GPS senzorja za zaznavanje vaše lokacije in zvočnika za navigacijska navodila do cilja.
Obstaja ogromno različnih stvari, ki lahko delujejo kot IoT naprave, od namenskih naprav za zaznavanje ene stvari do naprav splošnega namena, celo vaš pametni telefon! Pametni telefon lahko uporablja senzorje za zaznavanje sveta okoli sebe in aktuatorje za interakcijo s svetom - na primer z uporabo GPS senzorja za zaznavanje vaše lokacije in zvočnika za navigacijska navodila do cilja.
@ -54,7 +54,7 @@ Naprave se ne povezujejo vedno neposredno z internetom prek WiFi ali žičnih po
V primeru pametnega termostata bi se termostat povezal prek domačega WiFi z oblačno storitvijo. Pošiljal bi podatke o temperaturi tej storitvi v oblaku, od tam pa bi bili zapisani v neko bazo podatkov, ki bi omogočala lastniku doma preverjanje trenutnih in preteklih temperatur prek aplikacije na telefonu. Druga storitev v oblaku bi vedela, kakšno temperaturo si lastnik želi, in pošiljala sporočila nazaj IoT napravi prek oblačne storitve, da bi ogrevalni sistem vklopila ali izklopila.
V primeru pametnega termostata bi se termostat povezal prek domačega WiFi z oblačno storitvijo. Pošiljal bi podatke o temperaturi tej storitvi v oblaku, od tam pa bi bili zapisani v neko bazo podatkov, ki bi omogočala lastniku doma preverjanje trenutnih in preteklih temperatur prek aplikacije na telefonu. Druga storitev v oblaku bi vedela, kakšno temperaturo si lastnik želi, in pošiljala sporočila nazaj IoT napravi prek oblačne storitve, da bi ogrevalni sistem vklopila ali izklopila.


Še pametnejša različica bi lahko uporabljala AI v oblaku z podatki iz drugih senzorjev, povezanih z drugimi IoT napravami, kot so senzorji za zaznavanje prisotnosti, ki zaznavajo, katere sobe se uporabljajo, ter podatki, kot so vremenski podatki in celo vaš koledar, za sprejemanje odločitev o pametnem nastavljanju temperature. Na primer, lahko bi izklopila ogrevanje, če bi iz vašega koledarja prebrala, da ste na dopustu, ali pa bi izklopila ogrevanje po sobah glede na to, katere sobe uporabljate, pri čemer bi se učila iz podatkov, da bi bila sčasoma vedno bolj natančna.
Še pametnejša različica bi lahko uporabljala AI v oblaku z podatki iz drugih senzorjev, povezanih z drugimi IoT napravami, kot so senzorji za zaznavanje prisotnosti, ki zaznavajo, katere sobe se uporabljajo, ter podatki, kot so vremenski podatki in celo vaš koledar, za sprejemanje odločitev o pametnem nastavljanju temperature. Na primer, lahko bi izklopila ogrevanje, če bi iz vašega koledarja prebrala, da ste na dopustu, ali pa bi izklopila ogrevanje po sobah glede na to, katere sobe uporabljate, pri čemer bi se učila iz podatkov, da bi bila sčasoma vedno bolj natančna.
@ -94,7 +94,7 @@ Hitrejši kot je cikel ure, več navodil lahko CPU obdela vsako sekundo in zato
> 💁 CPU-ji izvajajo programe z uporabo [cikla pridobivanja-dekodiranja-izvajanja](https://wikipedia.org/wiki/Instruction_cycle). Za vsak tik ure CPU pridobi naslednje navodilo iz pomnilnika, ga dekodira in nato izvede, na primer z uporabo aritmetično-logične enote (ALU) za seštevanje dveh števil. Nekatera izvajanja trajajo več tikov, zato se naslednji cikel izvede ob naslednjem tiku po zaključku navodila.
> 💁 CPU-ji izvajajo programe z uporabo [cikla pridobivanja-dekodiranja-izvajanja](https://wikipedia.org/wiki/Instruction_cycle). Za vsak tik ure CPU pridobi naslednje navodilo iz pomnilnika, ga dekodira in nato izvede, na primer z uporabo aritmetično-logične enote (ALU) za seštevanje dveh števil. Nekatera izvajanja trajajo več tikov, zato se naslednji cikel izvede ob naslednjem tiku po zaključku navodila.


Mikrokrmilniki imajo veliko nižje hitrosti ure kot namizni ali prenosni računalniki ali celo večina pametnih telefonov. Na primer, Wio Terminal ima CPU, ki deluje pri 120MHz ali 120.000.000 ciklov na sekundo.
Mikrokrmilniki imajo veliko nižje hitrosti ure kot namizni ali prenosni računalniki ali celo večina pametnih telefonov. Na primer, Wio Terminal ima CPU, ki deluje pri 120MHz ali 120.000.000 ciklov na sekundo.
@ -182,7 +182,7 @@ Arduino plošče se programirajo v C ali C++. Uporaba C/C++ omogoča, da se vaš
V funkciji `setup` bi napisali začetno kodo, kot je povezovanje z WiFi-jem in storitvami v oblaku ali inicializacija pinov za vhod in izhod. Vaša koda v funkciji `loop` bi nato vsebovala procesno kodo, kot je branje senzorja in pošiljanje vrednosti v oblak. Običajno bi dodali zamik v vsakem zanki, na primer, če želite, da se podatki senzorja pošiljajo vsakih 10 sekund, bi na koncu zanke dodali zamik 10 sekund, da mikrokrmilnik lahko spi, prihrani energijo, nato pa ponovno zažene zanko, ko je potrebno.
V funkciji `setup` bi napisali začetno kodo, kot je povezovanje z WiFi-jem in storitvami v oblaku ali inicializacija pinov za vhod in izhod. Vaša koda v funkciji `loop` bi nato vsebovala procesno kodo, kot je branje senzorja in pošiljanje vrednosti v oblak. Običajno bi dodali zamik v vsakem zanki, na primer, če želite, da se podatki senzorja pošiljajo vsakih 10 sekund, bi na koncu zanke dodali zamik 10 sekund, da mikrokrmilnik lahko spi, prihrani energijo, nato pa ponovno zažene zanko, ko je potrebno.


✅ Ta arhitektura programa je znana kot *zanka dogodkov* ali *zanka sporočil*. Veliko aplikacij uporablja to v ozadju in je standard za večino namiznih aplikacij, ki delujejo na OS-ih, kot so Windows, macOS ali Linux. Funkcija `loop` posluša sporočila iz komponent uporabniškega vmesnika, kot so gumbi, ali naprav, kot je tipkovnica, in se nanje odziva. Več o tem lahko preberete v [članku o zanki dogodkov](https://wikipedia.org/wiki/Event_loop).
✅ Ta arhitektura programa je znana kot *zanka dogodkov* ali *zanka sporočil*. Veliko aplikacij uporablja to v ozadju in je standard za večino namiznih aplikacij, ki delujejo na OS-ih, kot so Windows, macOS ali Linux. Funkcija `loop` posluša sporočila iz komponent uporabniškega vmesnika, kot so gumbi, ali naprav, kot je tipkovnica, in se nanje odziva. Več o tem lahko preberete v [članku o zanki dogodkov](https://wikipedia.org/wiki/Event_loop).
# Interakcija s fizičnim svetom s senzorji in aktuatorji
# Interakcija s fizičnim svetom s senzorji in aktuatorji


> Sketchnote avtorja [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliko za večjo različico.
> Sketchnote avtorja [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliko za večjo različico.
@ -92,7 +92,7 @@ Digitalni senzorji, podobno kot analogni senzorji, zaznavajo svet okoli sebe z u
Najenostavnejši digitalni senzor je gumb ali stikalo. To je senzor z dvema stanjem, vklopljen ali izklopljen.
Najenostavnejši digitalni senzor je gumb ali stikalo. To je senzor z dvema stanjem, vklopljen ali izklopljen.


Pini na IoT napravah, kot so GPIO pini, lahko neposredno merijo ta signal kot 0 ali 1. Če je poslana napetost enaka vrnjeni napetosti, je prebrana vrednost 1, sicer je prebrana vrednost 0. Pretvorba signala ni potrebna, saj je lahko le 1 ali 0.
Pini na IoT napravah, kot so GPIO pini, lahko neposredno merijo ta signal kot 0 ali 1. Če je poslana napetost enaka vrnjeni napetosti, je prebrana vrednost 1, sicer je prebrana vrednost 0. Pretvorba signala ni potrebna, saj je lahko le 1 ali 0.
@ -125,7 +125,7 @@ Nekateri pogosti aktuatorji vključujejo:
Sledite ustreznemu vodniku spodaj, da dodate aktuator svoji IoT napravi, ki ga bo nadzoroval senzor, in zgradite IoT nočno lučko. Ta bo zbirala ravni svetlobe iz svetlobnega senzorja in uporabljala aktuator v obliki LED, da oddaja svetlobo, ko je zaznana raven svetlobe prenizka.
Sledite ustreznemu vodniku spodaj, da dodate aktuator svoji IoT napravi, ki ga bo nadzoroval senzor, in zgradite IoT nočno lučko. Ta bo zbirala ravni svetlobe iz svetlobnega senzorja in uporabljala aktuator v obliki LED, da oddaja svetlobo, ko je zaznana raven svetlobe prenizka.


@ -140,7 +140,7 @@ Tako kot senzorji so tudi aktuatorji lahko analogni ali digitalni.
Analogni aktuatorji sprejmejo analogni signal in ga pretvorijo v neko vrsto interakcije, kjer se interakcija spreminja glede na dobavljeno napetost.
Analogni aktuatorji sprejmejo analogni signal in ga pretvorijo v neko vrsto interakcije, kjer se interakcija spreminja glede na dobavljeno napetost.
Eden od primerov je zatemnilna luč, kot so tiste, ki jih imate morda doma. Količina napetosti, ki jo prejme luč, določa, kako svetla je.
Eden od primerov je zatemnilna luč, kot so tiste, ki jih imate morda doma. Količina napetosti, ki jo prejme luč, določa, kako svetla je.


Tako kot pri senzorjih, IoT naprava deluje na digitalnih signalih, ne analognih. To pomeni, da za pošiljanje analognega signala IoT naprava potrebuje pretvornik iz digitalnega v analogni signal (DAC), bodisi neposredno na IoT napravi ali na priključni plošči. Ta pretvornik spremeni 0 in 1 iz IoT naprave v analogno napetost, ki jo lahko uporabi aktuator.
Tako kot pri senzorjih, IoT naprava deluje na digitalnih signalih, ne analognih. To pomeni, da za pošiljanje analognega signala IoT naprava potrebuje pretvornik iz digitalnega v analogni signal (DAC), bodisi neposredno na IoT napravi ali na priključni plošči. Ta pretvornik spremeni 0 in 1 iz IoT naprave v analogno napetost, ki jo lahko uporabi aktuator.
@ -187,7 +187,7 @@ Digitalni aktuatorji, podobno kot digitalni senzorji, imajo bodisi dve stanji, k
Enostaven digitalni aktuator je LED. Ko naprava pošlje digitalni signal 1, se pošlje visoka napetost, ki prižge LED. Ko se pošlje digitalni signal 0, napetost pade na 0V in LED ugasne.
Enostaven digitalni aktuator je LED. Ko naprava pošlje digitalni signal 1, se pošlje visoka napetost, ki prižge LED. Ko se pošlje digitalni signal 0, napetost pade na 0V in LED ugasne.


✅ Katere druge enostavne aktuatorje z dvema stanjem si lahko zamislite? En primer je solenoid, ki je elektromagnet, ki ga je mogoče aktivirati za premikanje zapaha vrat pri zaklepanju/odklepanju vrat.
✅ Katere druge enostavne aktuatorje z dvema stanjem si lahko zamislite? En primer je solenoid, ki je elektromagnet, ki ga je mogoče aktivirati za premikanje zapaha vrat pri zaklepanju/odklepanju vrat.
1. Izberite svojo najljubšo LED in vstavite nogici v dve luknji na LED modulu.
1. Izberite svojo najljubšo LED in vstavite nogici v dve luknji na LED modulu.
@ -40,7 +40,7 @@ Povežite LED.
1. Ko je Raspberry Pi izklopljen, povežite drugi konec Grove kabla z digitalno vtičnico, označeno z **D5**, na Grove Base hat, ki je pritrjen na Pi. Ta vtičnica je druga z leve v vrsti vtičnic poleg GPIO pinov.
1. Ko je Raspberry Pi izklopljen, povežite drugi konec Grove kabla z digitalno vtičnico, označeno z **D5**, na Grove Base hat, ki je pritrjen na Pi. Ta vtičnica je druga z leve v vrsti vtičnic poleg GPIO pinov.


1. Vstavite en konec Grove kabla v vtičnico na modulu svetlobnega senzorja. Kabel bo šel noter le na en način.
1. Vstavite en konec Grove kabla v vtičnico na modulu svetlobnega senzorja. Kabel bo šel noter le na en način.
1. Ko je Raspberry Pi izklopljen, povežite drugi konec Grove kabla z analogno vtičnico, označeno **A0**, na Grove Base hat, ki je pritrjen na Pi. Ta vtičnica je druga z desne strani v vrsti vtičnic poleg GPIO pinov.
1. Ko je Raspberry Pi izklopljen, povežite drugi konec Grove kabla z analogno vtičnico, označeno **A0**, na Grove Base hat, ki je pritrjen na Pi. Ta vtičnica je druga z desne strani v vrsti vtičnic poleg GPIO pinov.




> Sketchnote avtorja [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliko za večjo različico.
> Sketchnote avtorja [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliko za večjo različico.
@ -47,7 +47,7 @@ MQTT je najbolj priljubljen komunikacijski protokol za IoT naprave in je obravna
MQTT ima enega posrednika in več odjemalcev. Vsi odjemalci se povežejo s posrednikom, posrednik pa usmerja sporočila ustreznim odjemalcem. Sporočila se usmerjajo prek poimenovanih tem, namesto da bi bila poslana neposredno posameznemu odjemalcu. Odjemalec lahko objavi na temo, vsi odjemalci, ki so naročeni na to temo, pa prejmejo sporočilo.
MQTT ima enega posrednika in več odjemalcev. Vsi odjemalci se povežejo s posrednikom, posrednik pa usmerja sporočila ustreznim odjemalcem. Sporočila se usmerjajo prek poimenovanih tem, namesto da bi bila poslana neposredno posameznemu odjemalcu. Odjemalec lahko objavi na temo, vsi odjemalci, ki so naročeni na to temo, pa prejmejo sporočilo.


✅ Raziskujte. Če imate veliko IoT naprav, kako lahko zagotovite, da vaš MQTT posrednik obvlada vsa sporočila?
✅ Raziskujte. Če imate veliko IoT naprav, kako lahko zagotovite, da vaš MQTT posrednik obvlada vsa sporočila?
@ -69,7 +69,7 @@ Namesto da bi se ukvarjali s kompleksnostjo nastavitve MQTT posrednika kot del t
> 💁 Ta testni posrednik je javni in ni varen. Kdorkoli lahko posluša, kaj objavljate, zato ga ne uporabljajte za podatke, ki morajo ostati zasebni.
> 💁 Ta testni posrednik je javni in ni varen. Kdorkoli lahko posluša, kaj objavljate, zato ga ne uporabljajte za podatke, ki morajo ostati zasebni.


Sledite ustreznemu koraku spodaj, da povežete svojo napravo z MQTT posrednikom:
Sledite ustreznemu koraku spodaj, da povežete svojo napravo z MQTT posrednikom:
@ -350,7 +350,7 @@ Za stroje pa bi morda želeli obdržati podatke, še posebej, če se uporabljajo
Oblikovalci IoT naprav bi morali razmisliti tudi o tem, ali se lahko IoT naprava uporablja med izpadom interneta ali izgubo signala zaradi lokacije. Pametni termostat bi moral biti sposoben sprejeti nekaj omejenih odločitev za nadzor ogrevanja, če ne more poslati telemetrije v oblak zaradi izpada.
Oblikovalci IoT naprav bi morali razmisliti tudi o tem, ali se lahko IoT naprava uporablja med izpadom interneta ali izgubo signala zaradi lokacije. Pametni termostat bi moral biti sposoben sprejeti nekaj omejenih odločitev za nadzor ogrevanja, če ne more poslati telemetrije v oblak zaradi izpada.
[](https://twitter.com/internetofshit/status/1315736960082808832)
[](https://twitter.com/internetofshit/status/1315736960082808832)
Za MQTT, da obvlada izgubo povezljivosti, morata biti naprava in strežniška koda odgovorni za zagotavljanje dostave sporočil, če je to potrebno, na primer z zahtevo, da se vsa poslana sporočila potrdijo z dodatnimi sporočili na odgovorni temi, in če ne, se ročno postavijo v čakalno vrsto za ponovno pošiljanje kasneje.
Za MQTT, da obvlada izgubo povezljivosti, morata biti naprava in strežniška koda odgovorni za zagotavljanje dostave sporočil, če je to potrebno, na primer z zahtevo, da se vsa poslana sporočila potrdijo z dodatnimi sporočili na odgovorni temi, in če ne, se ročno postavijo v čakalno vrsto za ponovno pošiljanje kasneje.
@ -358,7 +358,7 @@ Za MQTT, da obvlada izgubo povezljivosti, morata biti naprava in strežniška ko
Ukazi so sporočila, ki jih oblak pošlje napravi in ji naročijo, naj nekaj stori. Večinoma to vključuje podajanje nekega izhoda prek aktuatorja, lahko pa je tudi navodilo za samo napravo, na primer za ponovni zagon ali zbiranje dodatne telemetrije in njeno vračanje kot odgovor na ukaz.
Ukazi so sporočila, ki jih oblak pošlje napravi in ji naročijo, naj nekaj stori. Večinoma to vključuje podajanje nekega izhoda prek aktuatorja, lahko pa je tudi navodilo za samo napravo, na primer za ponovni zagon ali zbiranje dodatne telemetrije in njeno vračanje kot odgovor na ukaz.


Termostat bi lahko prejel ukaz iz oblaka za vklop ogrevanja. Na podlagi telemetrijskih podatkov iz vseh senzorjev je oblačna storitev odločila, da mora biti ogrevanje vklopljeno, zato pošlje ustrezen ukaz.
Termostat bi lahko prejel ukaz iz oblaka za vklop ogrevanja. Na podlagi telemetrijskih podatkov iz vseh senzorjev je oblačna storitev odločila, da mora biti ogrevanje vklopljeno, zato pošlje ustrezen ukaz.


> Sketchnote avtorja [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliko za večjo različico.
> Sketchnote avtorja [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliko za večjo različico.
@ -90,7 +90,7 @@ Dnevi rastne stopnje ali GDD se izračunajo na dan kot povprečna temperatura v
Celotna formula za GDD je nekoliko zapletena, vendar obstaja poenostavljena enačba, ki se pogosto uporablja kot dobra približek:
Celotna formula za GDD je nekoliko zapletena, vendar obstaja poenostavljena enačba, ki se pogosto uporablja kot dobra približek:


* **GDD** - to je število dni rastne stopnje
* **GDD** - to je število dni rastne stopnje
* **T max** - to je dnevna maksimalna temperatura v stopinjah Celzija
* **T max** - to je dnevna maksimalna temperatura v stopinjah Celzija
@ -118,7 +118,7 @@ Prvi dan nad osnovno temperaturo so bile izmerjene naslednje temperature:
To daje izračun:
To daje izračun:


Koruza je prejela 4 GDD tisti dan. Če predpostavimo sorto koruze, ki potrebuje 800 GDD za zrelost, bo potrebovala še 796 GDD, da doseže zrelost.
Koruza je prejela 4 GDD tisti dan. Če predpostavimo sorto koruze, ki potrebuje 800 GDD za zrelost, bo potrebovala še 796 GDD, da doseže zrelost.
@ -239,7 +239,7 @@ Koraki za ročni izračun so:
Na primer, če je najvišja temperatura dneva 25°C, najnižja pa 12°C:
Na primer, če je najvišja temperatura dneva 25°C, najnižja pa 12°C:


@ -33,7 +33,7 @@ Ko imate temperaturne podatke, lahko uporabite Jupyter Notebook v tem repozitori
Jupyter se bo zagnal in odprl notebook v vašem brskalniku. Sledite navodilom v notebooku za vizualizacijo izmerjenih temperatur in izračun rastnih stopinj dni (GDD).
Jupyter se bo zagnal in odprl notebook v vašem brskalniku. Sledite navodilom v notebooku za vizualizacijo izmerjenih temperatur in izračun rastnih stopinj dni (GDD).
@ -13,7 +13,7 @@ I²C ima vodilo, sestavljeno iz dveh glavnih žic, skupaj z dvema napajalnima ž
| VCC | Napetostni skupni kolektor | Napajanje za naprave. Ta žica je povezana z žicama SDA in SCL, da zagotovi njuno napajanje prek pull-up upora, ki izklopi signal, ko nobena naprava ni krmilnik. |
| VCC | Napetostni skupni kolektor | Napajanje za naprave. Ta žica je povezana z žicama SDA in SCL, da zagotovi njuno napajanje prek pull-up upora, ki izklopi signal, ko nobena naprava ni krmilnik. |
| GND | Ozemljitev | Zagotavlja skupno ozemljitev za električni krog. |
| GND | Ozemljitev | Zagotavlja skupno ozemljitev za električni krog. |


Za pošiljanje podatkov ena naprava sproži začetni pogoj, da pokaže, da je pripravljena na pošiljanje podatkov. Nato postane krmilnik. Krmilnik nato pošlje naslov naprave, s katero želi komunicirati, skupaj z informacijo, ali želi brati ali pisati podatke. Po prenosu podatkov krmilnik pošlje končni pogoj, da označi, da je končal. Po tem lahko druga naprava postane krmilnik in pošilja ali prejema podatke.
Za pošiljanje podatkov ena naprava sproži začetni pogoj, da pokaže, da je pripravljena na pošiljanje podatkov. Nato postane krmilnik. Krmilnik nato pošlje naslov naprave, s katero želi komunicirati, skupaj z informacijo, ali želi brati ali pisati podatke. Po prenosu podatkov krmilnik pošlje končni pogoj, da označi, da je končal. Po tem lahko druga naprava postane krmilnik in pošilja ali prejema podatke.
@ -20,14 +20,14 @@ Te korake boste morali večkrat ponoviti, da pridobite potrebne odčitke, pri č
Gravimetrična vlažnost tal se izračuna kot:
Gravimetrična vlažnost tal se izračuna kot:


* W - teža mokrih tal
* W - teža mokrih tal
* W - teža suhih tal
* W - teža suhih tal
Na primer, recimo, da imate vzorec tal, ki tehta 212 g mokro in 197 g suho.
Na primer, recimo, da imate vzorec tal, ki tehta 212 g mokro in 197 g suho.


> Sketchnote avtorja [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliko za večjo različico.
> Sketchnote avtorja [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliko za večjo različico.
@ -32,7 +32,7 @@ IoT naprave uporabljajo nizko napetost. Čeprav je to dovolj za senzorje in aktu
Rešitev za to je, da črpalko povežete z zunanjim napajalnikom in uporabite aktuator za vklop črpalke, podobno kot bi prižgali luč. Za premik stikala je potrebna majhna količina energije (v obliki energije v vašem telesu), kar poveže luč z električnim omrežjem, ki deluje pri 110V/240V.
Rešitev za to je, da črpalko povežete z zunanjim napajalnikom in uporabite aktuator za vklop črpalke, podobno kot bi prižgali luč. Za premik stikala je potrebna majhna količina energije (v obliki energije v vašem telesu), kar poveže luč z električnim omrežjem, ki deluje pri 110V/240V.


> 🎓 [Električno omrežje](https://wikipedia.org/wiki/Mains_electricity) se nanaša na elektriko, ki se dostavlja domovom in podjetjem prek nacionalne infrastrukture v mnogih delih sveta.
> 🎓 [Električno omrežje](https://wikipedia.org/wiki/Mains_electricity) se nanaša na elektriko, ki se dostavlja domovom in podjetjem prek nacionalne infrastrukture v mnogih delih sveta.
@ -72,7 +72,7 @@ Ko se ročica premakne, običajno slišite, kako se poveže z elektromagnetom z
Elektromagnet ne potrebuje veliko energije za aktivacijo in premik ročice, lahko ga upravljate z izhodom 3.3V ali 5V iz IoT razvojnega kompleta. Izhodno vezje lahko prenese veliko več energije, odvisno od releja, vključno z napetostjo električnega omrežja ali celo višjimi nivoji moči za industrijsko uporabo. Na ta način lahko IoT razvojni komplet upravlja namakalni sistem, od majhne črpalke za eno rastlino do velikega industrijskega sistema za celotno komercialno kmetijo.
Elektromagnet ne potrebuje veliko energije za aktivacijo in premik ročice, lahko ga upravljate z izhodom 3.3V ali 5V iz IoT razvojnega kompleta. Izhodno vezje lahko prenese veliko več energije, odvisno od releja, vključno z napetostjo električnega omrežja ali celo višjimi nivoji moči za industrijsko uporabo. Na ta način lahko IoT razvojni komplet upravlja namakalni sistem, od majhne črpalke za eno rastlino do velikega industrijskega sistema za celotno komercialno kmetijo.


Zgornja slika prikazuje Grove rele. Kontrolno vezje se poveže z IoT napravo in vklopi ali izklopi rele z uporabo 3.3V ali 5V. Izhodno vezje ima dva terminala, od katerih je lahko eden napajanje ali ozemljitev. Izhodno vezje lahko prenese do 250V pri 10A, kar je dovolj za vrsto naprav, ki jih napaja električno omrežje. Na voljo so releji, ki lahko prenesejo še višje nivoje moči.
Zgornja slika prikazuje Grove rele. Kontrolno vezje se poveže z IoT napravo in vklopi ali izklopi rele z uporabo 3.3V ali 5V. Izhodno vezje ima dva terminala, od katerih je lahko eden napajanje ali ozemljitev. Izhodno vezje lahko prenese do 250V pri 10A, kar je dovolj za vrsto naprav, ki jih napaja električno omrežje. Na voljo so releji, ki lahko prenesejo še višje nivoje moči.
1. Vstavite en konec Grove kabla v vtičnico na releju. Kabel bo šel noter samo v eni smeri.
1. Vstavite en konec Grove kabla v vtičnico na releju. Kabel bo šel noter samo v eni smeri.
1. Ko je Raspberry Pi izklopljen, povežite drugi konec Grove kabla z digitalno vtičnico, označeno **D5**, na Grove Base Hat, ki je pritrjen na Pi. Ta vtičnica je druga z leve strani v vrsti vtičnic poleg GPIO pinov. Senzor za vlago v tleh pustite povezan na vtičnico **A0**.
1. Ko je Raspberry Pi izklopljen, povežite drugi konec Grove kabla z digitalno vtičnico, označeno **D5**, na Grove Base Hat, ki je pritrjen na Pi. Ta vtičnica je druga z leve strani v vrsti vtičnic poleg GPIO pinov. Senzor za vlago v tleh pustite povezan na vtičnico **A0**.


1. Vstavite senzor za vlago v tleh v zemljo, če tega še niste storili v prejšnji lekciji.
1. Vstavite senzor za vlago v tleh v zemljo, če tega še niste storili v prejšnji lekciji.


> Skica avtorice [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliko za večjo različico.
> Skica avtorice [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliko za večjo različico.
@ -46,8 +46,8 @@ To je bilo lahko zelo drago, zahtevalo je širok spekter usposobljenih zaposleni
Oblak se pogosto šaljivo imenuje "računalnik nekoga drugega". Osnovna ideja je bila preprosta - namesto da bi kupovali računalnike, jih najamete od nekoga drugega. Nekdo drug, ponudnik oblačnih storitev, bi upravljal ogromne podatkovne centre. Bil bi odgovoren za nakup in namestitev strojne opreme, upravljanje napajanja in hlajenja, omrežja, varnost stavbe, posodobitve strojne in programske opreme, vse. Kot stranka bi najeli računalnike, ki jih potrebujete, najeli več, ko povpraševanje naraste, in zmanjšali število najemov, ko povpraševanje upade. Ti oblačni podatkovni centri so po vsem svetu.
Oblak se pogosto šaljivo imenuje "računalnik nekoga drugega". Osnovna ideja je bila preprosta - namesto da bi kupovali računalnike, jih najamete od nekoga drugega. Nekdo drug, ponudnik oblačnih storitev, bi upravljal ogromne podatkovne centre. Bil bi odgovoren za nakup in namestitev strojne opreme, upravljanje napajanja in hlajenja, omrežja, varnost stavbe, posodobitve strojne in programske opreme, vse. Kot stranka bi najeli računalnike, ki jih potrebujete, najeli več, ko povpraševanje naraste, in zmanjšali število najemov, ko povpraševanje upade. Ti oblačni podatkovni centri so po vsem svetu.


Ti podatkovni centri so lahko veliki več kvadratnih kilometrov. Zgornje slike so bile posnete pred nekaj leti v Microsoftovem oblačnem podatkovnem centru in prikazujejo začetno velikost ter načrtovano širitev. Očiščeno območje za širitev meri več kot 5 kvadratnih kilometrov.
Ti podatkovni centri so lahko veliki več kvadratnih kilometrov. Zgornje slike so bile posnete pred nekaj leti v Microsoftovem oblačnem podatkovnem centru in prikazujejo začetno velikost ter načrtovano širitev. Očiščeno območje za širitev meri več kot 5 kvadratnih kilometrov.
@ -108,11 +108,11 @@ IoT storitve v oblaku rešujejo te težave. Upravljajo jih veliki oblačni ponud
IoT naprave se povežejo z oblačno storitvijo bodisi z uporabo SDK-ja naprave (knjižnice, ki zagotavlja kodo za delo z značilnostmi storitve) bodisi neposredno prek komunikacijskega protokola, kot sta MQTT ali HTTP. SDK naprave je običajno najlažja pot, saj samodejno upravlja vse, na primer, katere teme objaviti ali na katere se naročiti, in kako upravljati varnost.
IoT naprave se povežejo z oblačno storitvijo bodisi z uporabo SDK-ja naprave (knjižnice, ki zagotavlja kodo za delo z značilnostmi storitve) bodisi neposredno prek komunikacijskega protokola, kot sta MQTT ali HTTP. SDK naprave je običajno najlažja pot, saj samodejno upravlja vse, na primer, katere teme objaviti ali na katere se naročiti, in kako upravljati varnost.


Vaša naprava nato komunicira z drugimi deli vaše aplikacije prek te storitve - podobno kot ste pošiljali telemetrijo in prejemali ukaze prek MQTT. To se običajno izvaja z uporabo SDK-ja storitve ali podobne knjižnice. Sporočila prihajajo iz vaše naprave v storitev, kjer jih lahko preberejo drugi deli vaše aplikacije, sporočila pa se lahko pošljejo nazaj na vašo napravo.
Vaša naprava nato komunicira z drugimi deli vaše aplikacije prek te storitve - podobno kot ste pošiljali telemetrijo in prejemali ukaze prek MQTT. To se običajno izvaja z uporabo SDK-ja storitve ali podobne knjižnice. Sporočila prihajajo iz vaše naprave v storitev, kjer jih lahko preberejo drugi deli vaše aplikacije, sporočila pa se lahko pošljejo nazaj na vašo napravo.


Te storitve izvajajo varnost tako, da poznajo vse naprave, ki se lahko povežejo in pošiljajo podatke, bodisi tako, da so naprave predhodno registrirane pri storitvi, bodisi tako, da napravam dodelijo tajne ključe ali certifikate, ki jih lahko uporabijo za registracijo pri storitvi ob prvi povezavi. Nepoznane naprave se ne morejo povezati; če poskusijo, storitev zavrne povezavo in ignorira sporočila, ki jih pošljejo.
Te storitve izvajajo varnost tako, da poznajo vse naprave, ki se lahko povežejo in pošiljajo podatke, bodisi tako, da so naprave predhodno registrirane pri storitvi, bodisi tako, da napravam dodelijo tajne ključe ali certifikate, ki jih lahko uporabijo za registracijo pri storitvi ob prvi povezavi. Nepoznane naprave se ne morejo povezati; če poskusijo, storitev zavrne povezavo in ignorira sporočila, ki jih pošljejo.
@ -124,7 +124,7 @@ Drugi deli vaše aplikacije se lahko povežejo z IoT storitvijo in izvedo, kater
Zdaj, ko imate naročnino na Azure, se lahko prijavite za IoT storitev. IoT storitev Microsofta se imenuje Azure IoT Hub.
Zdaj, ko imate naročnino na Azure, se lahko prijavite za IoT storitev. IoT storitev Microsofta se imenuje Azure IoT Hub.


> Sketchnote avtorja [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliko za večjo različico.
> Sketchnote avtorja [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliko za večjo različico.
@ -28,7 +28,7 @@ V tej lekciji bomo obravnavali:
Strežniško, ali strežniško računalništvo, vključuje ustvarjanje majhnih blokov kode, ki se izvajajo v oblaku kot odziv na različne vrste dogodkov. Ko se dogodek zgodi, se vaša koda zažene in prejme podatke o dogodku. Ti dogodki lahko izhajajo iz različnih virov, vključno s spletnimi zahtevami, sporočili v vrsti, spremembami podatkov v bazi podatkov ali sporočili, ki jih IoT naprave pošljejo IoT storitvi.
Strežniško, ali strežniško računalništvo, vključuje ustvarjanje majhnih blokov kode, ki se izvajajo v oblaku kot odziv na različne vrste dogodkov. Ko se dogodek zgodi, se vaša koda zažene in prejme podatke o dogodku. Ti dogodki lahko izhajajo iz različnih virov, vključno s spletnimi zahtevami, sporočili v vrsti, spremembami podatkov v bazi podatkov ali sporočili, ki jih IoT naprave pošljejo IoT storitvi.


> 💁 Če ste že uporabljali sprožilce v bazi podatkov, si to lahko predstavljate kot nekaj podobnega - koda, ki se sproži ob dogodku, kot je vstavljanje vrstice.
> 💁 Če ste že uporabljali sprožilce v bazi podatkov, si to lahko predstavljate kot nekaj podobnega - koda, ki se sproži ob dogodku, kot je vstavljanje vrstice.
@ -54,7 +54,7 @@ Kot IoT razvijalec je strežniški model idealen. Lahko napišete funkcijo, ki s
Strežniška računalniška storitev Microsofta se imenuje Azure Functions.
Strežniška računalniška storitev Microsofta se imenuje Azure Functions.


> Sketchnote avtorja [Nitya Narasimhan](https://github.com/nitya). Kliknite sliko za večjo različico.
> Sketchnote avtorja [Nitya Narasimhan](https://github.com/nitya). Kliknite sliko za večjo različico.
@ -52,11 +52,11 @@ To so resnični scenariji, ki se dogajajo ves čas. Nekaj primerov je bilo preds
Ko se naprava poveže z IoT storitvijo, uporablja ID za identifikacijo. Težava je v tem, da je ta ID mogoče klonirati - heker bi lahko nastavil zlonamerno napravo, ki uporablja isti ID kot prava naprava, vendar pošilja lažne podatke.
Ko se naprava poveže z IoT storitvijo, uporablja ID za identifikacijo. Težava je v tem, da je ta ID mogoče klonirati - heker bi lahko nastavil zlonamerno napravo, ki uporablja isti ID kot prava naprava, vendar pošilja lažne podatke.


Rešitev tega problema je pretvorba podatkov, ki se pošiljajo, v zakodirano obliko, pri čemer se uporabi vrednost, ki jo poznata le naprava in oblak. Ta postopek se imenuje *šifriranje*, vrednost, uporabljena za šifriranje podatkov, pa se imenuje *ključ za šifriranje*.
Rešitev tega problema je pretvorba podatkov, ki se pošiljajo, v zakodirano obliko, pri čemer se uporabi vrednost, ki jo poznata le naprava in oblak. Ta postopek se imenuje *šifriranje*, vrednost, uporabljena za šifriranje podatkov, pa se imenuje *ključ za šifriranje*.


Oblačna storitev lahko nato podatke pretvori nazaj v berljivo obliko s postopkom, imenovanim *dešifriranje*, pri čemer uporabi isti ključ za šifriranje ali *ključ za dešifriranje*. Če šifriranega sporočila ni mogoče dešifrirati s ključem, je bila naprava vdrta in sporočilo zavrnjeno.
Oblačna storitev lahko nato podatke pretvori nazaj v berljivo obliko s postopkom, imenovanim *dešifriranje*, pri čemer uporabi isti ključ za šifriranje ali *ključ za dešifriranje*. Če šifriranega sporočila ni mogoče dešifrirati s ključem, je bila naprava vdrta in sporočilo zavrnjeno.


> Skico je pripravila [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliko za večjo različico.
> Skico je pripravila [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliko za večjo različico.
@ -63,13 +63,13 @@ Zemlja je krogla – tridimenzionalni krog. Zaradi tega so točke definirane z d
> 💁 Nihče ne ve natančno, zakaj so krogi razdeljeni na 360 stopinj. [Stran o stopinjah (kot) na Wikipediji](https://wikipedia.org/wiki/Degree_(angle)) pokriva nekaj možnih razlogov.
> 💁 Nihče ne ve natančno, zakaj so krogi razdeljeni na 360 stopinj. [Stran o stopinjah (kot) na Wikipediji](https://wikipedia.org/wiki/Degree_(angle)) pokriva nekaj možnih razlogov.


Geografska širina se meri z linijami, ki obkrožajo Zemljo in tečejo vzporedno z ekvatorjem, delijo severno in južno poloblo na po 90°. Ekvator je na 0°, severni pol na 90°, znan tudi kot 90° severno, južni pol pa na -90°, ali 90° južno.
Geografska širina se meri z linijami, ki obkrožajo Zemljo in tečejo vzporedno z ekvatorjem, delijo severno in južno poloblo na po 90°. Ekvator je na 0°, severni pol na 90°, znan tudi kot 90° severno, južni pol pa na -90°, ali 90° južno.
Geografska dolžina se meri kot število stopinj vzhodno in zahodno. Izvor 0° geografske dolžine se imenuje *prvi poldnevnik* in je bil leta 1884 določen kot črta od severnega do južnega pola, ki poteka skozi [Kraljevi observatorij v Greenwichu, Anglija](https://wikipedia.org/wiki/Royal_Observatory,_Greenwich).
Geografska dolžina se meri kot število stopinj vzhodno in zahodno. Izvor 0° geografske dolžine se imenuje *prvi poldnevnik* in je bil leta 1884 določen kot črta od severnega do južnega pola, ki poteka skozi [Kraljevi observatorij v Greenwichu, Anglija](https://wikipedia.org/wiki/Royal_Observatory,_Greenwich).


> 🎓 Poldnevnik je namišljena ravna črta, ki poteka od severnega do južnega pola in tvori polkrog.
> 🎓 Poldnevnik je namišljena ravna črta, ki poteka od severnega do južnega pola in tvori polkrog.
@ -100,7 +100,7 @@ Koordinate za točko so vedno podane kot `geografska širina, geografska dolžin
* Geografsko širino 47.6423109 (47.6423109 stopinj severno od ekvatorja)
* Geografsko širino 47.6423109 (47.6423109 stopinj severno od ekvatorja)
* Geografsko dolžino -122.1390293 (122.1390293 stopinj zahodno od prvega poldnevnika).
* Geografsko dolžino -122.1390293 (122.1390293 stopinj zahodno od prvega poldnevnika).


## Globalni sistemi za določanje položaja (GPS)
## Globalni sistemi za določanje položaja (GPS)
@ -112,7 +112,7 @@ GPS sistemi delujejo tako, da imajo več satelitov, ki pošiljajo signal s trenu
> 💁 GPS senzorji potrebujejo antene za zaznavanje radijskih valov. Antene, vgrajene v tovornjake in avtomobile z vgrajenim GPS-om, so nameščene tako, da dobijo dober signal, običajno na vetrobranskem steklu ali strehi. Če uporabljate ločen GPS sistem, kot je pametni telefon ali IoT naprava, morate zagotoviti, da ima antena, vgrajena v GPS sistem ali telefon, jasen pogled na nebo, na primer, da je nameščena na vetrobranskem steklu.
> 💁 GPS senzorji potrebujejo antene za zaznavanje radijskih valov. Antene, vgrajene v tovornjake in avtomobile z vgrajenim GPS-om, so nameščene tako, da dobijo dober signal, običajno na vetrobranskem steklu ali strehi. Če uporabljate ločen GPS sistem, kot je pametni telefon ali IoT naprava, morate zagotoviti, da ima antena, vgrajena v GPS sistem ali telefon, jasen pogled na nebo, na primer, da je nameščena na vetrobranskem steklu.


GPS sateliti krožijo okoli Zemlje in niso na fiksni točki nad senzorjem, zato podatki o lokaciji vključujejo tudi nadmorsko višino poleg geografske širine in dolžine.
GPS sateliti krožijo okoli Zemlje in niso na fiksni točki nad senzorjem, zato podatki o lokaciji vključujejo tudi nadmorsko višino poleg geografske širine in dolžine.
1. Vstavite en konec Grove kabla v vtičnico na GPS senzorju. Kabel bo šel noter samo v eno smer.
1. Vstavite en konec Grove kabla v vtičnico na GPS senzorju. Kabel bo šel noter samo v eno smer.
1. Ko je Raspberry Pi izklopljen, povežite drugi konec Grove kabla z UART vtičnico, označeno **UART**, na Grove Base hat, ki je pritrjen na Pi. Ta vtičnica je v srednji vrsti, na strani, ki je najbližje reži za SD kartico, na nasprotni strani od USB priključkov in ethernet vtičnice.
1. Ko je Raspberry Pi izklopljen, povežite drugi konec Grove kabla z UART vtičnico, označeno **UART**, na Grove Base hat, ki je pritrjen na Pi. Ta vtičnica je v srednji vrsti, na strani, ki je najbližje reži za SD kartico, na nasprotni strani od USB priključkov in ethernet vtičnice.


1. Postavite GPS senzor tako, da ima pritrjena antena vidljivost do neba - idealno ob odprtem oknu ali zunaj. Lažje je dobiti jasen signal, če anteni nič ne ovira.
1. Postavite GPS senzor tako, da ima pritrjena antena vidljivost do neba - idealno ob odprtem oknu ali zunaj. Lažje je dobiti jasen signal, če anteni nič ne ovira.
@ -102,17 +102,17 @@ Programirajte aplikacijo za GPS senzor.
* Nastavite **Source** na `Lat/Lon` in določite natančno zemljepisno širino, dolžino in število satelitov, uporabljenih za GPS fiks. Ta vrednost bo poslana samo enkrat, zato označite polje **Repeat**, da se podatki ponavljajo vsako sekundo.
* Nastavite **Source** na `Lat/Lon` in določite natančno zemljepisno širino, dolžino in število satelitov, uporabljenih za GPS fiks. Ta vrednost bo poslana samo enkrat, zato označite polje **Repeat**, da se podatki ponavljajo vsako sekundo.


* Nastavite **Source** na `NMEA` in dodajte nekaj NMEA stavkov v besedilno polje. Vse te vrednosti bodo poslane, z zamikom 1 sekunde pred vsakim novim GGA (pozicijski fiks) stavkom.
* Nastavite **Source** na `NMEA` in dodajte nekaj NMEA stavkov v besedilno polje. Vse te vrednosti bodo poslane, z zamikom 1 sekunde pred vsakim novim GGA (pozicijski fiks) stavkom.


Uporabite lahko orodje, kot je [nmeagen.org](https://www.nmeagen.org), za generiranje teh stavkov z risanjem na zemljevidu. Te vrednosti bodo poslane samo enkrat, zato označite polje **Repeat**, da se podatki ponavljajo eno sekundo po tem, ko so vsi poslani.
Uporabite lahko orodje, kot je [nmeagen.org](https://www.nmeagen.org), za generiranje teh stavkov z risanjem na zemljevidu. Te vrednosti bodo poslane samo enkrat, zato označite polje **Repeat**, da se podatki ponavljajo eno sekundo po tem, ko so vsi poslani.
* Nastavite **Source** na GPX datoteko in naložite GPX datoteko z lokacijami poti. GPX datoteke lahko prenesete z različnih priljubljenih spletnih mest za zemljevide in pohodništvo, kot je [AllTrails](https://www.alltrails.com/). Te datoteke vsebujejo več GPS lokacij kot pot, GPS senzor pa bo vrnil vsako novo lokacijo v intervalih po 1 sekundo.
* Nastavite **Source** na GPX datoteko in naložite GPX datoteko z lokacijami poti. GPX datoteke lahko prenesete z različnih priljubljenih spletnih mest za zemljevide in pohodništvo, kot je [AllTrails](https://www.alltrails.com/). Te datoteke vsebujejo več GPS lokacij kot pot, GPS senzor pa bo vrnil vsako novo lokacijo v intervalih po 1 sekundo.


Te vrednosti bodo poslane samo enkrat, zato označite polje **Repeat**, da se podatki ponavljajo eno sekundo po tem, ko so vsi poslani.
Te vrednosti bodo poslane samo enkrat, zato označite polje **Repeat**, da se podatki ponavljajo eno sekundo po tem, ko so vsi poslani.


> Sketchnote avtorja [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliko za večjo različico.
> Sketchnote avtorja [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliko za večjo različico.
@ -75,7 +75,7 @@ NoSQL podatkovne baze se imenujejo NoSQL, ker nimajo enake toge strukture kot SQ
> 💁 Kljub svojemu imenu nekatere NoSQL podatkovne baze omogočajo uporabo SQL za poizvedovanje podatkov.
> 💁 Kljub svojemu imenu nekatere NoSQL podatkovne baze omogočajo uporabo SQL za poizvedovanje podatkov.


NoSQL podatkovne baze nimajo vnaprej določene sheme, ki omejuje način shranjevanja podatkov, namesto tega lahko vstavite kakršne koli nestrukturirane podatke, običajno z uporabo JSON dokumentov. Ti dokumenti se lahko organizirajo v mape, podobno kot datoteke na vašem računalniku. Vsak dokument lahko ima različna polja od drugih dokumentov - na primer, če shranjujete IoT podatke iz vaših kmetijskih vozil, nekateri lahko imajo polja za podatke o pospešku in hitrosti, drugi pa polja za temperaturo v priklopniku. Če bi dodali novo vrsto tovornjaka, na primer takšnega z vgrajenimi tehtnicami za spremljanje teže prevoženega pridelka, bi vaša IoT naprava lahko dodala to novo polje, ki bi se shranilo brez kakršnih koli sprememb v podatkovni bazi.
NoSQL podatkovne baze nimajo vnaprej določene sheme, ki omejuje način shranjevanja podatkov, namesto tega lahko vstavite kakršne koli nestrukturirane podatke, običajno z uporabo JSON dokumentov. Ti dokumenti se lahko organizirajo v mape, podobno kot datoteke na vašem računalniku. Vsak dokument lahko ima različna polja od drugih dokumentov - na primer, če shranjujete IoT podatke iz vaših kmetijskih vozil, nekateri lahko imajo polja za podatke o pospešku in hitrosti, drugi pa polja za temperaturo v priklopniku. Če bi dodali novo vrsto tovornjaka, na primer takšnega z vgrajenimi tehtnicami za spremljanje teže prevoženega pridelka, bi vaša IoT naprava lahko dodala to novo polje, ki bi se shranilo brez kakršnih koli sprememb v podatkovni bazi.
@ -89,7 +89,7 @@ V tej lekciji boste uporabljali NoSQL shranjevanje za shranjevanje IoT podatkov.
V prejšnji lekciji ste zajeli GPS podatke iz GPS senzorja, povezanega z vašo IoT napravo. Da bi te IoT podatke shranili v oblaku, jih morate poslati v IoT storitev. Ponovno boste uporabljali Azure IoT Hub, isto IoT storitev v oblaku, ki ste jo uporabljali v prejšnjem projektu.
V prejšnji lekciji ste zajeli GPS podatke iz GPS senzorja, povezanega z vašo IoT napravo. Da bi te IoT podatke shranili v oblaku, jih morate poslati v IoT storitev. Ponovno boste uporabljali Azure IoT Hub, isto IoT storitev v oblaku, ki ste jo uporabljali v prejšnjem projektu.


### Naloga - pošiljanje GPS podatkov v IoT Hub
### Naloga - pošiljanje GPS podatkov v IoT Hub
@ -171,7 +171,7 @@ Podatki hladne poti se shranjujejo v podatkovnih skladiščih - podatkovnih baza
Ko podatki tečejo v vaš IoT Hub, lahko napišete strežniško kodo, ki posluša dogodke, objavljene na Event-Hub združljivem končnem mestu. To je topla pot - ti podatki bodo shranjeni in uporabljeni v naslednji lekciji za poročanje o poti.
Ko podatki tečejo v vaš IoT Hub, lahko napišete strežniško kodo, ki posluša dogodke, objavljene na Event-Hub združljivem končnem mestu. To je topla pot - ti podatki bodo shranjeni in uporabljeni v naslednji lekciji za poročanje o poti.


### Naloga - obravnava GPS dogodkov z uporabo strežniške kode
### Naloga - obravnava GPS dogodkov z uporabo strežniške kode
@ -193,7 +193,7 @@ Ko podatki tečejo v vaš IoT Hub, lahko napišete strežniško kodo, ki posluš
Azure Storage Accounts je vsestranska storitev za shranjevanje podatkov, ki omogoča shranjevanje podatkov na različne načine. Podatke lahko shranjujete kot blob, v vrstah, tabelah ali datotekah, in to vse hkrati.
Azure Storage Accounts je vsestranska storitev za shranjevanje podatkov, ki omogoča shranjevanje podatkov na različne načine. Podatke lahko shranjujete kot blob, v vrstah, tabelah ali datotekah, in to vse hkrati.


> Sketchnote avtorja [Nitya Narasimhan](https://github.com/nitya). Kliknite sliko za večjo različico.
> Sketchnote avtorja [Nitya Narasimhan](https://github.com/nitya). Kliknite sliko za večjo različico.
@ -64,11 +64,11 @@ Vzemimo preprost primer - v projektu na kmetiji ste zajeli podatke o vlažnosti
Za človeka je razumevanje teh podatkov lahko težavno. Gre za steno številk brez pravega pomena. Kot prvi korak k vizualizaciji teh podatkov jih lahko prikažemo na linijskem grafikonu:
Za človeka je razumevanje teh podatkov lahko težavno. Gre za steno številk brez pravega pomena. Kot prvi korak k vizualizaciji teh podatkov jih lahko prikažemo na linijskem grafikonu:
To lahko še izboljšamo z dodajanjem črte, ki označuje, kdaj je bil avtomatski namakalni sistem vklopljen pri branju vlažnosti tal 450:
To lahko še izboljšamo z dodajanjem črte, ki označuje, kdaj je bil avtomatski namakalni sistem vklopljen pri branju vlažnosti tal 450:


Ta grafikon hitro pokaže ne samo, kakšne so bile ravni vlažnosti tal, temveč tudi točke, kjer je bil namakalni sistem vklopljen.
Ta grafikon hitro pokaže ne samo, kakšne so bile ravni vlažnosti tal, temveč tudi točke, kjer je bil namakalni sistem vklopljen.
@ -84,7 +84,7 @@ Pri delu z GPS podatki je najjasnejša vizualizacija pogosto prikaz podatkov na
Delo z zemljevidi je zanimiva naloga, saj je na voljo veliko možnosti, kot so Bing Maps, Leaflet, Open Street Maps in Google Maps. V tej lekciji boste spoznali [Azure Maps](https://azure.microsoft.com/services/azure-maps/?WT.mc_id=academic-17441-jabenn) in kako lahko prikažejo vaše GPS podatke.
Delo z zemljevidi je zanimiva naloga, saj je na voljo veliko možnosti, kot so Bing Maps, Leaflet, Open Street Maps in Google Maps. V tej lekciji boste spoznali [Azure Maps](https://azure.microsoft.com/services/azure-maps/?WT.mc_id=academic-17441-jabenn) in kako lahko prikažejo vaše GPS podatke.
Azure Maps je "zbirka geolokacijskih storitev in SDK-jev, ki uporabljajo sveže podatke o zemljevidih za zagotavljanje geografskega konteksta spletnim in mobilnim aplikacijam." Razvijalcem so na voljo orodja za ustvarjanje čudovitih, interaktivnih zemljevidov, ki lahko na primer priporočajo prometne poti, zagotavljajo informacije o prometnih incidentih, omogočajo notranjo navigacijo, iskalne zmogljivosti, informacije o nadmorski višini, vremenske storitve in še več.
Azure Maps je "zbirka geolokacijskih storitev in SDK-jev, ki uporabljajo sveže podatke o zemljevidih za zagotavljanje geografskega konteksta spletnim in mobilnim aplikacijam." Razvijalcem so na voljo orodja za ustvarjanje čudovitih, interaktivnih zemljevidov, ki lahko na primer priporočajo prometne poti, zagotavljajo informacije o prometnih incidentih, omogočajo notranjo navigacijo, iskalne zmogljivosti, informacije o nadmorski višini, vremenske storitve in še več.
@ -183,7 +183,7 @@ Zdaj lahko naredite naslednji korak, to je prikaz zemljevida na spletni strani.
Če odprete svojo datoteko `index.html` v spletnem brskalniku, bi morali videti zemljevid, osredotočen na območje Seattla.
Če odprete svojo datoteko `index.html` v spletnem brskalniku, bi morali videti zemljevid, osredotočen na območje Seattla.


✅ Eksperimentirajte s parametri za povečavo in središče, da spremenite prikaz zemljevida. Dodate lahko različne koordinate, ki ustrezajo zemljepisni širini in dolžini vaših podatkov, da ponovno centrirate zemljevid.
✅ Eksperimentirajte s parametri za povečavo in središče, da spremenite prikaz zemljevida. Dodate lahko različne koordinate, ki ustrezajo zemljepisni širini in dolžini vaših podatkov, da ponovno centrirate zemljevid.
@ -317,7 +317,7 @@ Sedaj ste pripravljeni na uporabo podatkov iz shrambe, ki ste jo ustvarili v pre
1. Naložite HTML stran v svoj brskalnik. Stran bo naložila zemljevid, nato pa vse GPS podatke iz shrambe in jih prikazala na zemljevidu.
1. Naložite HTML stran v svoj brskalnik. Stran bo naložila zemljevid, nato pa vse GPS podatke iz shrambe in jih prikazala na zemljevidu.


> 💁 To kodo lahko najdete v [code](../../../../../3-transport/lessons/3-visualize-location-data/code) mapi.
> 💁 To kodo lahko najdete v [code](../../../../../3-transport/lessons/3-visualize-location-data/code) mapi.


> Sketchnote avtorja [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliko za večjo različico.
> Sketchnote avtorja [Nitya Narasimhan](https://github.com/nitya). Kliknite na sliko za večjo različico.
@ -35,7 +35,7 @@ V tej lekciji bomo obravnavali:
Geografska ograja je virtualni obod za resnično geografsko območje. Geografske ograje so lahko krogi, določeni kot točka in radij (na primer krog s premerom 100 m okoli stavbe), ali poligon, ki pokriva območje, kot je šolska cona, mestne meje ali univerzitetni ali pisarniški kampus.
Geografska ograja je virtualni obod za resnično geografsko območje. Geografske ograje so lahko krogi, določeni kot točka in radij (na primer krog s premerom 100 m okoli stavbe), ali poligon, ki pokriva območje, kot je šolska cona, mestne meje ali univerzitetni ali pisarniški kampus.


> 💁 Morda ste že uporabljali geografske ograje, ne da bi to vedeli. Če ste nastavili opomnik z aplikacijo za opomnike iOS ali Google Keep na podlagi lokacije, ste uporabili geografsko ograjo. Te aplikacije nastavijo geografsko ograjo na podlagi podane lokacije in vas opozorijo, ko vaš telefon vstopi v geografsko ograjo.
> 💁 Morda ste že uporabljali geografske ograje, ne da bi to vedeli. Če ste nastavili opomnik z aplikacijo za opomnike iOS ali Google Keep na podlagi lokacije, ste uporabili geografsko ograjo. Te aplikacije nastavijo geografsko ograjo na podlagi podane lokacije in vas opozorijo, ko vaš telefon vstopi v geografsko ograjo.
@ -212,7 +212,7 @@ Pomembno je poznati razdaljo do roba geografske ograje in to kombinirati z drugi
Na primer, predstavljajte si GPS odčitke, ki kažejo, da je vozilo vozilo po cesti, ki poteka ob geografski ograji. Če je en sam GPS odčitek nenatančen in postavi vozilo znotraj geografske ograje, kljub temu da ni dostopa za vozila, ga je mogoče prezreti.
Na primer, predstavljajte si GPS odčitke, ki kažejo, da je vozilo vozilo po cesti, ki poteka ob geografski ograji. Če je en sam GPS odčitek nenatančen in postavi vozilo znotraj geografske ograje, kljub temu da ni dostopa za vozila, ga je mogoče prezreti.


Na zgornji sliki je geografska ograja nad delom kampusa Microsoft. Rdeča črta prikazuje tovornjak, ki vozi po cesti 520, s krogi, ki označujejo GPS odčitke. Večina teh odčitkov je natančnih in se nahaja ob cesti 520, z enim nenatančnim odčitkom znotraj geografske ograje. Ta odčitek ne more biti pravilen – ni cest, po katerih bi se tovornjak nenadoma odmaknil od ceste 520 na kampus, nato pa se vrnil na cesto 520. Koda, ki preverja to geografsko ograjo, bo morala upoštevati prejšnje odčitke, preden ukrepa na podlagi rezultatov testa geografske ograje.
Na zgornji sliki je geografska ograja nad delom kampusa Microsoft. Rdeča črta prikazuje tovornjak, ki vozi po cesti 520, s krogi, ki označujejo GPS odčitke. Večina teh odčitkov je natančnih in se nahaja ob cesti 520, z enim nenatančnim odčitkom znotraj geografske ograje. Ta odčitek ne more biti pravilen – ni cest, po katerih bi se tovornjak nenadoma odmaknil od ceste 520 na kampus, nato pa se vrnil na cesto 520. Koda, ki preverja to geografsko ograjo, bo morala upoštevati prejšnje odčitke, preden ukrepa na podlagi rezultatov testa geografske ograje.
✅ Katere dodatne podatke bi potrebovali za preverjanje, ali je GPS odčitek lahko veljaven?
✅ Katere dodatne podatke bi potrebovali za preverjanje, ali je GPS odčitek lahko veljaven?
@ -284,7 +284,7 @@ Kot se spomnite iz prejšnjih lekcij, IoT Hub omogoča ponovno predvajanje dogod
Odgovor je, da ne more! Namesto tega lahko definirate več ločenih povezav za branje dogodkov, pri čemer vsaka upravlja ponovno predvajanje neprebranih sporočil. Te se imenujejo *potrošniške skupine*. Ko se povežete z endpointom, lahko določite, katero potrošniško skupino želite uporabiti. Vsaka komponenta vaše aplikacije se bo povezala z drugo potrošniško skupino.
Odgovor je, da ne more! Namesto tega lahko definirate več ločenih povezav za branje dogodkov, pri čemer vsaka upravlja ponovno predvajanje neprebranih sporočil. Te se imenujejo *potrošniške skupine*. Ko se povežete z endpointom, lahko določite, katero potrošniško skupino želite uporabiti. Vsaka komponenta vaše aplikacije se bo povezala z drugo potrošniško skupino.


Teoretično se lahko do 5 aplikacij poveže z vsako potrošniško skupino, in vse bodo prejele sporočila, ko prispejo. Najboljša praksa je, da vsaka aplikacija dostopa do ene potrošniške skupine, da se izognete podvajanju obdelave sporočil in zagotovite, da so ob ponovnem zagonu vsa sporočila v čakalni vrsti pravilno obdelana. Na primer, če bi zagnali svojo aplikacijo Functions lokalno, hkrati pa jo izvajali v oblaku, bi obe obdelovali sporočila, kar bi vodilo do podvojenih blobov, shranjenih v računu za shranjevanje.
Teoretično se lahko do 5 aplikacij poveže z vsako potrošniško skupino, in vse bodo prejele sporočila, ko prispejo. Najboljša praksa je, da vsaka aplikacija dostopa do ene potrošniške skupine, da se izognete podvajanju obdelave sporočil in zagotovite, da so ob ponovnem zagonu vsa sporočila v čakalni vrsti pravilno obdelana. Na primer, če bi zagnali svojo aplikacijo Functions lokalno, hkrati pa jo izvajali v oblaku, bi obe obdelovali sporočila, kar bi vodilo do podvojenih blobov, shranjenih v računu za shranjevanje.


> Sketchnote avtorja [Nitya Narasimhan](https://github.com/nitya). Kliknite sliko za večjo različico.
> Sketchnote avtorja [Nitya Narasimhan](https://github.com/nitya). Kliknite sliko za večjo različico.
@ -38,7 +38,7 @@ Vsi pridelki ne dozorijo enakomerno. Paradižniki, na primer, lahko še vedno vs
Vzpon avtomatizirane žetve je premaknil sortiranje pridelkov z žetve v tovarne. Hrana je potovala po dolgih tekočih trakovih, kjer so ekipe ljudi pregledovale pridelke in odstranjevale vse, kar ni ustrezalo zahtevanim standardom kakovosti. Žetev je bila cenejša zaradi strojev, vendar je še vedno obstajal strošek ročnega sortiranja hrane.
Vzpon avtomatizirane žetve je premaknil sortiranje pridelkov z žetve v tovarne. Hrana je potovala po dolgih tekočih trakovih, kjer so ekipe ljudi pregledovale pridelke in odstranjevale vse, kar ni ustrezalo zahtevanim standardom kakovosti. Žetev je bila cenejša zaradi strojev, vendar je še vedno obstajal strošek ročnega sortiranja hrane.


Naslednja evolucija je bila uporaba strojev za sortiranje, bodisi vgrajenih v kombajne ali v obratih za predelavo. Prva generacija teh strojev je uporabljala optične senzorje za zaznavanje barv, ki so upravljali aktuatorje za preusmerjanje zelenih paradižnikov v koš za odpadke z uporabo ročic ali zračnih sunkov, medtem ko so rdeči paradižniki nadaljevali svojo pot po mreži tekočih trakov.
Naslednja evolucija je bila uporaba strojev za sortiranje, bodisi vgrajenih v kombajne ali v obratih za predelavo. Prva generacija teh strojev je uporabljala optične senzorje za zaznavanje barv, ki so upravljali aktuatorje za preusmerjanje zelenih paradižnikov v koš za odpadke z uporabo ročic ali zračnih sunkov, medtem ko so rdeči paradižniki nadaljevali svojo pot po mreži tekočih trakov.
@ -62,7 +62,7 @@ Na primer, modelu bi lahko dali milijone slik nezrelih banan kot vhodne podatke
> 🎓 Rezultati ML modelov se imenujejo *napovedi*.
> 🎓 Rezultati ML modelov se imenujejo *napovedi*.


ML modeli ne dajejo binarnih odgovorov, temveč verjetnosti. Na primer, modelu bi lahko dali sliko banane, ki bi napovedal `zrela` z 99,7 % in `nezrela` z 0,3 %. Vaša koda bi nato izbrala najboljšo napoved in odločila, da je banana zrela.
ML modeli ne dajejo binarnih odgovorov, temveč verjetnosti. Na primer, modelu bi lahko dali sliko banane, ki bi napovedal `zrela` z 99,7 % in `nezrela` z 0,3 %. Vaša koda bi nato izbrala najboljšo napoved in odločila, da je banana zrela.
@ -90,7 +90,7 @@ Na voljo je širok spekter orodij, ki vam lahko pri tem pomagajo, vključno s st
Custom Vision je orodje v oblaku za usposabljanje klasifikatorjev slik. Omogoča vam usposabljanje klasifikatorja z uporabo le majhnega števila slik. Slike lahko naložite prek spletnega portala, spletnega API-ja ali SDK-ja, pri čemer vsaki sliki dodelite *oznako*, ki predstavlja klasifikacijo te slike. Nato usposobite model in ga preizkusite, da vidite, kako dobro deluje. Ko ste zadovoljni z modelom, lahko objavite njegove različice, ki so dostopne prek spletnega API-ja ali SDK-ja.
Custom Vision je orodje v oblaku za usposabljanje klasifikatorjev slik. Omogoča vam usposabljanje klasifikatorja z uporabo le majhnega števila slik. Slike lahko naložite prek spletnega portala, spletnega API-ja ali SDK-ja, pri čemer vsaki sliki dodelite *oznako*, ki predstavlja klasifikacijo te slike. Nato usposobite model in ga preizkusite, da vidite, kako dobro deluje. Ko ste zadovoljni z modelom, lahko objavite njegove različice, ki so dostopne prek spletnega API-ja ali SDK-ja.
> 💁 Model Custom Vision lahko usposobite že s 5 slikami na klasifikacijo, vendar je več bolje. Boljše rezultate lahko dosežete z vsaj 30 slikami.
> 💁 Model Custom Vision lahko usposobite že s 5 slikami na klasifikacijo, vendar je več bolje. Boljše rezultate lahko dosežete z vsaj 30 slikami.
@ -146,7 +146,7 @@ Za uporabo Custom Vision morate najprej ustvariti dva vira za kognitivne storitv
Ko ustvarite svoj projekt, se prepričajte, da uporabljate vir `fruit-quality-detector-training`, ki ste ga ustvarili prej. Uporabite vrsto projekta *Classification*, vrsto klasifikacije *Multiclass* in domeno *Food*.
Ko ustvarite svoj projekt, se prepričajte, da uporabljate vir `fruit-quality-detector-training`, ki ste ga ustvarili prej. Uporabite vrsto projekta *Classification*, vrsto klasifikacije *Multiclass* in domeno *Food*.


✅ Vzemite si čas za raziskovanje uporabniškega vmesnika Custom Vision za vaš klasifikator slik.
✅ Vzemite si čas za raziskovanje uporabniškega vmesnika Custom Vision za vaš klasifikator slik.
@ -164,7 +164,7 @@ Klasifikatorji slik delujejo pri zelo nizki ločljivosti. Na primer, Custom Visi
* Uporabite 2 zrela banan in posnemite nekaj slik vsake iz različnih kotov, pri čemer posnemite vsaj 7 slik (5 za treniranje, 2 za testiranje), vendar idealno več.
* Uporabite 2 zrela banan in posnemite nekaj slik vsake iz različnih kotov, pri čemer posnemite vsaj 7 slik (5 za treniranje, 2 za testiranje), vendar idealno več.


* Ponovite isti postopek z 2 nezrelimi bananami.
* Ponovite isti postopek z 2 nezrelimi bananami.
@ -174,7 +174,7 @@ Klasifikatorji slik delujejo pri zelo nizki ločljivosti. Na primer, Custom Visi
1. Sledite [oddelku za nalaganje in označevanje slik v hitrem začetku za izdelavo klasifikatorja na Microsoftovi dokumentaciji](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/getting-started-build-a-classifier?WT.mc_id=academic-17441-jabenn#upload-and-tag-images), da naložite svoje slike za treniranje. Zrele sadeže označite kot `ripe`, nezrele pa kot `unripe`.
1. Sledite [oddelku za nalaganje in označevanje slik v hitrem začetku za izdelavo klasifikatorja na Microsoftovi dokumentaciji](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/getting-started-build-a-classifier?WT.mc_id=academic-17441-jabenn#upload-and-tag-images), da naložite svoje slike za treniranje. Zrele sadeže označite kot `ripe`, nezrele pa kot `unripe`.


1. Sledite [oddelku za treniranje klasifikatorja v hitrem začetku za izdelavo klasifikatorja na Microsoftovi dokumentaciji](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/getting-started-build-a-classifier?WT.mc_id=academic-17441-jabenn#train-the-classifier), da trenirate klasifikator slik na svojih naloženih slikah.
1. Sledite [oddelku za treniranje klasifikatorja v hitrem začetku za izdelavo klasifikatorja na Microsoftovi dokumentaciji](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/getting-started-build-a-classifier?WT.mc_id=academic-17441-jabenn#train-the-classifier), da trenirate klasifikator slik na svojih naloženih slikah.
@ -192,7 +192,7 @@ Ko je vaš klasifikator treniran, ga lahko testirate tako, da mu podate novo sli
1. Sledite [dokumentaciji za testiranje modela na Microsoftovi dokumentaciji](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/test-your-model?WT.mc_id=academic-17441-jabenn#test-your-model), da testirate svoj klasifikator slik. Uporabite slike za testiranje, ki ste jih ustvarili prej, ne pa slik, ki ste jih uporabili za treniranje.
1. Sledite [dokumentaciji za testiranje modela na Microsoftovi dokumentaciji](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/test-your-model?WT.mc_id=academic-17441-jabenn#test-your-model), da testirate svoj klasifikator slik. Uporabite slike za testiranje, ki ste jih ustvarili prej, ne pa slik, ki ste jih uporabili za treniranje.


1. Preizkusite vse slike za testiranje, ki jih imate na voljo, in opazujte verjetnosti.
1. Preizkusite vse slike za testiranje, ki jih imate na voljo, in opazujte verjetnosti.


> Sketchnote avtorja [Nitya Narasimhan](https://github.com/nitya). Kliknite sliko za večjo različico.
> Sketchnote avtorja [Nitya Narasimhan](https://github.com/nitya). Kliknite sliko za večjo različico.
@ -26,7 +26,7 @@ V tej lekciji bomo obravnavali:
Senzorji kamer, kot že ime pove, so kamere, ki jih lahko povežete z vašo IoT napravo. Lahko zajamejo statične slike ali snemajo video. Nekateri vrnejo surove podatke slike, drugi pa stisnejo podatke v slikovno datoteko, kot je JPEG ali PNG. Kamere, ki delujejo z IoT napravami, so običajno manjše in imajo nižjo ločljivost, kot ste jih vajeni, vendar lahko dobite tudi kamere z visoko ločljivostjo, ki se lahko kosajo z najboljšimi telefoni. Na voljo so različne zamenljive leče, večkamerne nastavitve, infrardeče termalne kamere ali UV kamere.
Senzorji kamer, kot že ime pove, so kamere, ki jih lahko povežete z vašo IoT napravo. Lahko zajamejo statične slike ali snemajo video. Nekateri vrnejo surove podatke slike, drugi pa stisnejo podatke v slikovno datoteko, kot je JPEG ali PNG. Kamere, ki delujejo z IoT napravami, so običajno manjše in imajo nižjo ločljivost, kot ste jih vajeni, vendar lahko dobite tudi kamere z visoko ločljivostjo, ki se lahko kosajo z najboljšimi telefoni. Na voljo so različne zamenljive leče, večkamerne nastavitve, infrardeče termalne kamere ali UV kamere.


Večina senzorjev kamer uporablja slikovne senzorje, kjer je vsak piksel fotodioda. Leča osredotoči sliko na slikovni senzor, tisoče ali milijone fotodiod pa zazna svetlobo, ki pada nanje, in jo zabeleži kot podatke o pikslih.
Večina senzorjev kamer uporablja slikovne senzorje, kjer je vsak piksel fotodioda. Leča osredotoči sliko na slikovni senzor, tisoče ali milijone fotodiod pa zazna svetlobo, ki pada nanje, in jo zabeleži kot podatke o pikslih.
@ -74,7 +74,7 @@ Iteracije se objavljajo iz portala Custom Vision.
1. Kliknite gumb **Publish** za iteracijo.
1. Kliknite gumb **Publish** za iteracijo.


1. V pogovornem oknu *Publish Model* nastavite *Prediction resource* na vir `fruit-quality-detector-prediction`, ki ste ga ustvarili v prejšnji lekciji. Pustite ime kot `Iteration2` in kliknite gumb **Publish**.
1. V pogovornem oknu *Publish Model* nastavite *Prediction resource* na vir `fruit-quality-detector-prediction`, ki ste ga ustvarili v prejšnji lekciji. Pustite ime kot `Iteration2` in kliknite gumb **Publish**.
@ -88,7 +88,7 @@ Iteracije se objavljajo iz portala Custom Vision.
Prav tako kopirajte vrednost *Prediction-Key*. To je varnostni ključ, ki ga morate posredovati, ko kličete model. Samo aplikacije, ki posredujejo ta ključ, lahko uporabljajo model, vse druge aplikacije so zavrnjene.
Prav tako kopirajte vrednost *Prediction-Key*. To je varnostni ključ, ki ga morate posredovati, ko kličete model. Samo aplikacije, ki posredujejo ta ključ, lahko uporabljajo model, vse druge aplikacije so zavrnjene.


✅ Ko je nova iteracija objavljena, bo imela drugačno ime. Kako mislite, da bi spremenili iteracijo, ki jo uporablja IoT naprava?
✅ Ko je nova iteracija objavljena, bo imela drugačno ime. Kako mislite, da bi spremenili iteracijo, ki jo uporablja IoT naprava?
@ -109,7 +109,7 @@ Morda boste ugotovili, da rezultati, ki jih dobite pri uporabi kamere, povezane
Za najboljše rezultate klasifikatorja slik želite model trenirati s slikami, ki so čim bolj podobne slikam, uporabljenim za napovedi. Če ste na primer za treniranje uporabili kamero telefona, se kakovost slike, ostrina in barve razlikujejo od kamere, povezane z IoT napravo.
Za najboljše rezultate klasifikatorja slik želite model trenirati s slikami, ki so čim bolj podobne slikam, uporabljenim za napovedi. Če ste na primer za treniranje uporabili kamero telefona, se kakovost slike, ostrina in barve razlikujejo od kamere, povezane z IoT napravo.


Na zgornji sliki je slika banane na levi posneta z Raspberry Pi kamero, slika na desni pa z iPhone-om. Opazna je razlika v kakovosti – slika z iPhone-a je ostrejša, z živahnejšimi barvami in večjim kontrastom.
Na zgornji sliki je slika banane na levi posneta z Raspberry Pi kamero, slika na desni pa z iPhone-om. Opazna je razlika v kakovosti – slika z iPhone-a je ostrejša, z živahnejšimi barvami in večjim kontrastom.
@ -16,7 +16,7 @@ Kamera se lahko poveže z Raspberry Pi-jem z uporabo traku kabla.
### Naloga - povežite kamero
### Naloga - povežite kamero


1. Izklopite Pi.
1. Izklopite Pi.
@ -24,17 +24,17 @@ Kamera se lahko poveže z Raspberry Pi-jem z uporabo traku kabla.
Animacijo, ki prikazuje, kako odpreti sponko in vstaviti kabel, najdete v [dokumentaciji Raspberry Pi za začetek uporabe kamere](https://projects.raspberrypi.org/en/projects/getting-started-with-picamera/2).
Animacijo, ki prikazuje, kako odpreti sponko in vstaviti kabel, najdete v [dokumentaciji Raspberry Pi za začetek uporabe kamere](https://projects.raspberrypi.org/en/projects/getting-started-with-picamera/2).


1. Odstranite Grove Base Hat iz Pi-ja.
1. Odstranite Grove Base Hat iz Pi-ja.
1. Potegnite trak kabla skozi režo za kamero v Grove Base Hat. Prepričajte se, da je modra stran kabla obrnjena proti analognim priključkom, označenim z **A0**, **A1** itd.
1. Potegnite trak kabla skozi režo za kamero v Grove Base Hat. Prepričajte se, da je modra stran kabla obrnjena proti analognim priključkom, označenim z **A0**, **A1** itd.


1. Vstavite trak kabla v priključek za kamero na Pi-ju. Spet povlecite črno plastično sponko navzgor, vstavite kabel in nato potisnite sponko nazaj. Modra stran kabla naj bo obrnjena proti USB in ethernet priključkom.
1. Vstavite trak kabla v priključek za kamero na Pi-ju. Spet povlecite črno plastično sponko navzgor, vstavite kabel in nato potisnite sponko nazaj. Modra stran kabla naj bo obrnjena proti USB in ethernet priključkom.


1. Ponovno namestite Grove Base Hat.
1. Ponovno namestite Grove Base Hat.
@ -101,7 +101,7 @@ Programirajte napravo.
Vrstica `camera.rotation = 0` nastavi rotacijo slike. Trak kabla vstopa na dno kamere, vendar če je vaša kamera obrnjena, da lažje usmeri predmet, ki ga želite razvrstiti, lahko to vrstico spremenite na število stopinj rotacije.
Vrstica `camera.rotation = 0` nastavi rotacijo slike. Trak kabla vstopa na dno kamere, vendar če je vaša kamera obrnjena, da lažje usmeri predmet, ki ga želite razvrstiti, lahko to vrstico spremenite na število stopinj rotacije.


Na primer, če trak kabla obesite nad nekaj, tako da je na vrhu kamere, nastavite rotacijo na 180:
Na primer, če trak kabla obesite nad nekaj, tako da je na vrhu kamere, nastavite rotacijo na 180:
Some files were not shown because too many files have changed in this diff
Show More