37
IoT IoT Vodič za kupovinu Vodič za kupovinu ... i povezivanje ... i povezivanje Aleksandar Jovičić Aleksandar Jovičić [email protected] [email protected]

Vodič za kupovinu - Jovicicjovicic.name/isp/iot.pdf · Šta je bitno da znamo u vezi elektronike? STRUJA UBIJA!!! Ako baš i ne ubije vas, može da “sprži” uredjaj ili komponentu

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Vodič za kupovinu - Jovicicjovicic.name/isp/iot.pdf · Šta je bitno da znamo u vezi elektronike? STRUJA UBIJA!!! Ako baš i ne ubije vas, može da “sprži” uredjaj ili komponentu

IoTIoT““Vodič za kupovinuVodič za kupovinu””

... i povezivanje... i povezivanje

Aleksandar JovičićAleksandar Jovičić[email protected]@jovicic.name

Page 2: Vodič za kupovinu - Jovicicjovicic.name/isp/iot.pdf · Šta je bitno da znamo u vezi elektronike? STRUJA UBIJA!!! Ako baš i ne ubije vas, može da “sprži” uredjaj ili komponentu

Šta je to “Internet of Things”?

● Globalna infrastruktura za “informaciono društvo”, koja omogućava napredne usluge medjusobnim povezivanjem (fizičkim i virtualnim) stvari, korišćenjem postojećih i novorazvijenih informacionih i komunikacionih tehnologija.

● Medjusobna veza uredjaja, vozila, zgrada i ostalih stvari u koje je ugradjena elektronika, softver, senzori, aktuatori i komunikacioni sistemi kako bi prikupljali podatke iz okruženja i razmenjivali ih medjusobno.

Page 3: Vodič za kupovinu - Jovicicjovicic.name/isp/iot.pdf · Šta je bitno da znamo u vezi elektronike? STRUJA UBIJA!!! Ako baš i ne ubije vas, može da “sprži” uredjaj ili komponentu

Kako od “glupog” uredjaja napraviti “pametnu stvar”?

● Dodati mu senzore● Povezati mu na pokretne delove aktuatore● Kontrolisati mu uključivanje/isključivanje

napajanja relejima ili optokaplerima● Upravljati ga mikrokontrolerima ili single-board

računarima● Povezati ga sa ostalim uredjajima u kući● Povezati ga sa nadzorno-upravljačkim

aplikacijama na Internetu

Page 4: Vodič za kupovinu - Jovicicjovicic.name/isp/iot.pdf · Šta je bitno da znamo u vezi elektronike? STRUJA UBIJA!!! Ako baš i ne ubije vas, može da “sprži” uredjaj ili komponentu

Da li to puno košta?

● Zavisi ...– ... od toga koliko ste spremni da učite

– ... od toga koliko poznajete elektroniku

– ... od toga koliko poznajete programiranje

– ... od toga koliko ste uporni da savladate prepreke

– ... od toga da li koristite elektronsko plaćanje

– ... od toga koliko košta “glupi” uredjaj(ako postane neupotrebljiv posle vaše “intervencije”)

Page 5: Vodič za kupovinu - Jovicicjovicic.name/isp/iot.pdf · Šta je bitno da znamo u vezi elektronike? STRUJA UBIJA!!! Ako baš i ne ubije vas, može da “sprži” uredjaj ili komponentu

Da li je “free” uvek besplatno?

● Može da bude ali i ne mora● FLOSS - Free/Libre and Open Source Software

znači da je slobodno njegovo korišćenje ali nije obavezno i da je besplatno

● FOSH - Free and Open-Source Hardwarene znači da vam neko poklanja uredjaje nego da vam daje nacrte, šeme, listu delova i ostalo na osnovu čega možete napraviti svoj uredjaj

Page 6: Vodič za kupovinu - Jovicicjovicic.name/isp/iot.pdf · Šta je bitno da znamo u vezi elektronike? STRUJA UBIJA!!! Ako baš i ne ubije vas, može da “sprži” uredjaj ili komponentu

A za nas “lenje” ...

● Raspberry PI (www.raspberrypi.org)– Računar veličine kreditne kartice koji je moguće priključiti na TV i

na njega povezati tastaturu. Osim što radi većinu stvari koje radi i klasičan PC, na njega je moguće povezati i razne elektronske komponente. Koristi prilagodjene distribucije Linux OS-a

● Arduino (www.arduino.cc)– Open-source elektronska platforma bazirana na Atmel

mikrokontrolerima na koju je moguće povezati elektronske komponente. Čak i sa skromnim performansama, upotrebljiv je za kontrolu senzora i aktuatora a uz odgovarajuće dodatke moguće ga je mrežno povezati

● NodeMCU (www.nodemcu.com)– Razvojna platforma bazirana na ESP8266 WiFi čipu (sa

ugradjenim mikrokontrolerom)

Page 7: Vodič za kupovinu - Jovicicjovicic.name/isp/iot.pdf · Šta je bitno da znamo u vezi elektronike? STRUJA UBIJA!!! Ako baš i ne ubije vas, može da “sprži” uredjaj ili komponentu

Kako se “to” programira?

● Raspberry PI– Bilo koji programski jezik koji je moguće

kompajlirati/izvršavati na ARMv6 ili ARMv7 procesoru (Python, C/C++, Java, Scratch i Ruby su po default-u instalirani)

● Arduino– Arduino programski jezik (skup C/C++ funkcija koje je

moguće pozivati iz koda) na Arduino Software IDE

● NodeMCU– LUA scripting jezik ... ili ...

– Arduino programski jezik uz instaliran ESP8266 modul na Arduino Software IDE

Page 8: Vodič za kupovinu - Jovicicjovicic.name/isp/iot.pdf · Šta je bitno da znamo u vezi elektronike? STRUJA UBIJA!!! Ako baš i ne ubije vas, može da “sprži” uredjaj ili komponentu

Šta je bitno da znamo u vezi elektronike?

● STRUJA UBIJA!!!● Ako baš i ne ubije vas, može da “sprži” uredjaj ili komponentu ako

ne vodite računa o naponu na kojem je predvidjeno da sme da radi● Neke komponente “razgovaraju” analogno a neke digitalno

– analogne šalju bilo koji napon izmedju 0 i Vmax

– digitalne mogu da budu samo 0 ili Vmax

● Procesor “ne razume” analogni “govor” pa ga je potrebno prevesti A/D konvertorom u digitalni

– pomenuti razvojni sistemi uglavnom poseduju A/D konvertor(e)

● Ne postoji samo jedan digitalni “jezik”. Potrebno je poznavati komunikacioni protokol da bi se komponente “sporazumele”

– za većinu protokola već postoje odgovarajuće biblioteke (npr. 1-wire, I2C)

Page 9: Vodič za kupovinu - Jovicicjovicic.name/isp/iot.pdf · Šta je bitno da znamo u vezi elektronike? STRUJA UBIJA!!! Ako baš i ne ubije vas, može da “sprži” uredjaj ili komponentu

Gde se to može nabaviti?

● Kod domaćih distributera– MikroPrinc, Saperel, DigiSTORE ...

– zna da bude “malo skuplje”

● Kod proizvodjača– neki ne isporučuju u našu zemlju

● Na on-line shopping sajtovima– eBay, Aliexpress, DX ...

– obično je puno povoljnije nego kod nas (za većinu sitnica Carina ne naplati čak ni PDV)

– “strpljen - spašen” ... vreme isporuke zna da bude i duže od mesec dana

Page 10: Vodič za kupovinu - Jovicicjovicic.name/isp/iot.pdf · Šta je bitno da znamo u vezi elektronike? STRUJA UBIJA!!! Ako baš i ne ubije vas, može da “sprži” uredjaj ili komponentu

Pa da počnemo ...

... sa predstavljanjem nekihod modela proizvoda

Page 11: Vodič za kupovinu - Jovicicjovicic.name/isp/iot.pdf · Šta je bitno da znamo u vezi elektronike? STRUJA UBIJA!!! Ako baš i ne ubije vas, može da “sprži” uredjaj ili komponentu

Raspberry Pi 3 model B

Page 12: Vodič za kupovinu - Jovicicjovicic.name/isp/iot.pdf · Šta je bitno da znamo u vezi elektronike? STRUJA UBIJA!!! Ako baš i ne ubije vas, može da “sprži” uredjaj ili komponentu

Raspberry Pi 2 model B

BroadcomBCM2836Cortex-A7at 900 MHz,1GB RAM

1.8

Page 13: Vodič za kupovinu - Jovicicjovicic.name/isp/iot.pdf · Šta je bitno da znamo u vezi elektronike? STRUJA UBIJA!!! Ako baš i ne ubije vas, može da “sprži” uredjaj ili komponentu

Raspberry Pi Zero

Page 14: Vodič za kupovinu - Jovicicjovicic.name/isp/iot.pdf · Šta je bitno da znamo u vezi elektronike? STRUJA UBIJA!!! Ako baš i ne ubije vas, može da “sprži” uredjaj ili komponentu

Arduino Uno

Page 15: Vodič za kupovinu - Jovicicjovicic.name/isp/iot.pdf · Šta je bitno da znamo u vezi elektronike? STRUJA UBIJA!!! Ako baš i ne ubije vas, može da “sprži” uredjaj ili komponentu

Arduino Mega

Page 16: Vodič za kupovinu - Jovicicjovicic.name/isp/iot.pdf · Šta je bitno da znamo u vezi elektronike? STRUJA UBIJA!!! Ako baš i ne ubije vas, može da “sprži” uredjaj ili komponentu

Arduino Yún

Page 17: Vodič za kupovinu - Jovicicjovicic.name/isp/iot.pdf · Šta je bitno da znamo u vezi elektronike? STRUJA UBIJA!!! Ako baš i ne ubije vas, može da “sprži” uredjaj ili komponentu

Arduino Nano

Page 18: Vodič za kupovinu - Jovicicjovicic.name/isp/iot.pdf · Šta je bitno da znamo u vezi elektronike? STRUJA UBIJA!!! Ako baš i ne ubije vas, može da “sprži” uredjaj ili komponentu

NodeMCU LoLin

Page 19: Vodič za kupovinu - Jovicicjovicic.name/isp/iot.pdf · Šta je bitno da znamo u vezi elektronike? STRUJA UBIJA!!! Ako baš i ne ubije vas, može da “sprži” uredjaj ili komponentu

NodeMCU WeMos D1 mini

Page 20: Vodič za kupovinu - Jovicicjovicic.name/isp/iot.pdf · Šta je bitno da znamo u vezi elektronike? STRUJA UBIJA!!! Ako baš i ne ubije vas, može da “sprži” uredjaj ili komponentu

Šta nabaviti prvo?

Page 21: Vodič za kupovinu - Jovicicjovicic.name/isp/iot.pdf · Šta je bitno da znamo u vezi elektronike? STRUJA UBIJA!!! Ako baš i ne ubije vas, može da “sprži” uredjaj ili komponentu

... a zatim?

Page 22: Vodič za kupovinu - Jovicicjovicic.name/isp/iot.pdf · Šta je bitno da znamo u vezi elektronike? STRUJA UBIJA!!! Ako baš i ne ubije vas, može da “sprži” uredjaj ili komponentu

Reč-dve o napajanju

● Napon– jednosmeran (DC) i stabilisan

– 5V (često se koristi zbog kompatibilnosti sa USB)

– 3.3V (omiljen kod jednog broja komponenti)

– 9-12V (samo preko regulatora ili ulaza predvidjenih za to)

● Struja– 500mA ili veća

– 1A za uobičajenu upotrebu kod Arduina

– 2A i više za RPI ili ukoliko ima GSM/GPRS komponenti

– odvojeni izvor napajanja za veće potrošače i motore

Page 23: Vodič za kupovinu - Jovicicjovicic.name/isp/iot.pdf · Šta je bitno da znamo u vezi elektronike? STRUJA UBIJA!!! Ako baš i ne ubije vas, može da “sprži” uredjaj ili komponentu

... i umrežavanju

● direktno– podaci se ne čuvaju ili se čuvaju samo kratko vreme

– WiFi AP i web server su na samom uredjaju

Page 24: Vodič za kupovinu - Jovicicjovicic.name/isp/iot.pdf · Šta je bitno da znamo u vezi elektronike? STRUJA UBIJA!!! Ako baš i ne ubije vas, može da “sprži” uredjaj ili komponentu

... i umrežavanju

● u LAN-u– uredaji se povezuju preko rutera

– podaci mogu da se duže čuvaju

– web server može da bude smešten na single-board računaru u okviru iste mreže

Page 25: Vodič za kupovinu - Jovicicjovicic.name/isp/iot.pdf · Šta je bitno da znamo u vezi elektronike? STRUJA UBIJA!!! Ako baš i ne ubije vas, može da “sprži” uredjaj ili komponentu

... i umrežavanju

● u “oblaku”– uredjaji šalju podatke na VPS ili “cloud”

– kompleksniji RDBMS mogu da se koriste za čuvanje

– moguća je i ozbiljnija obrada podataka na serveru

Page 26: Vodič za kupovinu - Jovicicjovicic.name/isp/iot.pdf · Šta je bitno da znamo u vezi elektronike? STRUJA UBIJA!!! Ako baš i ne ubije vas, može da “sprži” uredjaj ili komponentu

A bezbednost?

● Ukoliko je potrebno kontrolisati neki aktuator od spolja, povećava se rizik za bezbednosne propuste i provalu u lokalnu mrežu

Page 27: Vodič za kupovinu - Jovicicjovicic.name/isp/iot.pdf · Šta je bitno da znamo u vezi elektronike? STRUJA UBIJA!!! Ako baš i ne ubije vas, može da “sprži” uredjaj ili komponentu

A bezbednost?

● Otvaranje “rupa” u firewall-ovima ili smeštanje u DMZ jeste moguće rešenje ali zahteva naprednije poznavanje administracije mreža

Page 28: Vodič za kupovinu - Jovicicjovicic.name/isp/iot.pdf · Šta je bitno da znamo u vezi elektronike? STRUJA UBIJA!!! Ako baš i ne ubije vas, može da “sprži” uredjaj ili komponentu

A bezbednost?

● Sigurnije rešenje je korišćenje odgovarajućih protokola koji omogućavaju kontrolu spolja bez potrebe za podešavanjima na firewall-u

Page 29: Vodič za kupovinu - Jovicicjovicic.name/isp/iot.pdf · Šta je bitno da znamo u vezi elektronike? STRUJA UBIJA!!! Ako baš i ne ubije vas, može da “sprži” uredjaj ili komponentu

MQTT (MQ Telemetry Transport)● Zasniva se na principu “izdavač - pretplatnik”● Za funkcionisanje je potreban “broker” koji posreduje

izmedju publisher-a i subscriber-a

Page 30: Vodič za kupovinu - Jovicicjovicic.name/isp/iot.pdf · Šta je bitno da znamo u vezi elektronike? STRUJA UBIJA!!! Ako baš i ne ubije vas, može da “sprži” uredjaj ili komponentu

MQTT (MQ Telemetry Transport)

● Jedan broker u “oblaku” obezbedjuje bezbednost ali ne i “žilavost” (sistem je neupotrebljiv ukoliko dodje do prekida veze)

Page 31: Vodič za kupovinu - Jovicicjovicic.name/isp/iot.pdf · Šta je bitno da znamo u vezi elektronike? STRUJA UBIJA!!! Ako baš i ne ubije vas, može da “sprži” uredjaj ili komponentu

MQTT (MQ Telemetry Transport)

● Jedan broker u “oblaku” obezbedjuje bezbednost ali ne i “žilavost” (sistem je neupotrebljiv ukoliko dodje do prekida veze)

Page 32: Vodič za kupovinu - Jovicicjovicic.name/isp/iot.pdf · Šta je bitno da znamo u vezi elektronike? STRUJA UBIJA!!! Ako baš i ne ubije vas, može da “sprži” uredjaj ili komponentu

MQTT (MQ Telemetry Transport)

● Kombinacijom 2 brokera obezbedjuje se autonomija kritičnih podsistema

Page 33: Vodič za kupovinu - Jovicicjovicic.name/isp/iot.pdf · Šta je bitno da znamo u vezi elektronike? STRUJA UBIJA!!! Ako baš i ne ubije vas, može da “sprži” uredjaj ili komponentu

Kako sprečiti lažne signale?

● Šifrovanjem poruka (može da bude izazov za uredjaje slabijih performansi)

● Dodavajem kriptografskog checksum-a (uz korišćenje tajne lozinke)

X

YX & MD5(X, pass)

Z

X & MD5(X, p

ass) + Z

Y & MD5(Y, p

ass)

Y & MD5(Y, pass) + Z

Page 34: Vodič za kupovinu - Jovicicjovicic.name/isp/iot.pdf · Šta je bitno da znamo u vezi elektronike? STRUJA UBIJA!!! Ako baš i ne ubije vas, može da “sprži” uredjaj ili komponentu

A za kraj ...

Page 35: Vodič za kupovinu - Jovicicjovicic.name/isp/iot.pdf · Šta je bitno da znamo u vezi elektronike? STRUJA UBIJA!!! Ako baš i ne ubije vas, može da “sprži” uredjaj ili komponentu
Page 36: Vodič za kupovinu - Jovicicjovicic.name/isp/iot.pdf · Šta je bitno da znamo u vezi elektronike? STRUJA UBIJA!!! Ako baš i ne ubije vas, može da “sprži” uredjaj ili komponentu

IoTIoT““Vodič za kupovinuVodič za kupovinu””

... i povezivanje... i povezivanje

Aleksandar JovičićAleksandar Jovičić[email protected]@jovicic.name

Page 37: Vodič za kupovinu - Jovicicjovicic.name/isp/iot.pdf · Šta je bitno da znamo u vezi elektronike? STRUJA UBIJA!!! Ako baš i ne ubije vas, može da “sprži” uredjaj ili komponentu

http://jovicic.name/isp/http://jovicic.name/isp/