Internet stvari, poznatiji po skraćenici IoT, podrazumeva uređaje koji sami prikupljaju podatke iz svog okruženja, šalju ih preko mreže i po potrebi deluju na taj isti sistem.
Za inženjera je to pre svega praktično pitanje: kako sastaviti uređaj koji će pouzdano da meri, da izdrži uslove u kojima radi i da izmerene vrednosti učini upotrebljivim. Ovaj tekst opisuje kako takav uređaj izgleda iznutra i šta sve mora da se reši da bi radio.
Od čega se sastoji IoT uređaj
Svaki IoT uređaj, bez obzira na namenu, ima tri celine.

Merni deo je u dodiru sa procesom koji se prati. Računarski deo prikuplja očitavanja, obrađuje ih i odlučuje šta dalje. Komunikacioni deo te podatke iznosi iz uređaja, do servera ili do drugog uređaja.
U našim rešenjima računarski deo čini modul ESP32, koji u sebi već nosi i bežičnu komunikaciju, pa se tri celine svode na jednu pločicu i nekoliko spoljnih komponenti. Alternativno se koristi modul ESP8266.
Senzori i aktuatori
Senzor je ulaz uređaja u realni svet, aktuator njegov izlaz.
Senzor pretvara fizičku veličinu u električni signal koji računarski deo može da pročita: temperaturu, vlažnost, pritisak, ubrzanje, položaj, brzinu okretanja. Aktuator radi obrnuto, pretvara odluku uređaja u dejstvo na sistem, na primer uključuje pumpu ili zaustavlja mehanizam.
Izbor senzora određuje tačnost celog uređaja. Njegov opseg mora da pokrije vrednosti koje se u sistemu zaista javljaju, a njegova rezolucija mora da bude dovoljna da se uoči promena koja nas zanima. Senzor koji meri ispravno, ali pregrubo, jednako je neupotrebljiv kao i onaj koji greši.
Uz senzor ide i pitanje gde se postavlja. Isti senzor na dva mesta u istom sistemu daje različita očitavanja, pa je mesto ugradnje deo samog merenja, a ne tehnička sitnica.
Napajanje, najčešće slabo mesto
Uređaj je upotrebljiv onoliko koliko je rešeno njegovo napajanje.
IoT uređaji se po pravilu postavljaju tamo gde se nešto dešava, a to je retko mesto sa utičnicom pri ruci. Otuda napajanje postaje ograničenje koje određuje i izbor komponenti i način rada.
Ako se uređaj napaja iz baterije, svako merenje i svako slanje podataka troše njen kapacitet. Zato se uređaj najveći deo vremena drži u stanju mirovanja, budi se samo da izmeri i pošalje, pa se ponovo uspavljuje. Učestalost merenja time prestaje da bude samo tehnički izbor i postaje odluka o tome koliko dugo uređaj može da radi bez posete.
Kod uređaja koji rade na otvorenom u obzir dolazi i solarno napajanje, čime se vraćamo na pitanja o kojima smo pisali u vezi sa malom kućnom solarnom elektranom: koliko se energije prikupi, koliko se može akumulirati i šta se dešava u danima bez sunca.
Šta ide uz uređaj na serveru
Izmerena vrednost ima smisla tek kada se sačuva, obradi i prikaže.
Zato uz svaki uređaj ide i deo koji se ne vidi: baza podataka u kojoj se očitavanja čuvaju i veb aplikacija kojom korisnik te podatke pregleda. Aplikacija najčešće prikazuje i veličine koje se ne mere direktno, nego izračunavaju iz izmerenih.
| Deo sistema | Šta koristimo |
|---|---|
| Uređaj | ESP32, programiran u Arduino IDE |
| Baza podataka | MySQL, MariaDB |
| Veb aplikacija | PHP, HTML, CSS, Python |
Takva podela znači da uređaj može da bude jednostavan i jeftin, jer teži deo posla, čuvanje istorije merenja i prikaz, preuzima server. Uređaj mora samo da meri pouzdano i da podatke isporuči.
Iz naše prakse
Na ovoj osnovi razvili smo nekoliko uređaja za konkretne namene.
Merenje položaja objekata akcelerometrom, gde je jedan uređaj ugrađen u medicinski sto. Precizno merenje vremena i sinhronizacija sa izvorima tačnog vremena na serverima i satelitima, u nekoliko verzija. Merenje brzine na bazi GPS prijemnika.
Najobimnija primena je informacioni sistem vetrogeneratora, gde uređaji mere parametre rada i parametre okruženja, a prikupljeni podaci se čuvaju u bazi i prikazuju kroz namensku veb aplikaciju.
Svi ti uređaji dele istu građu opisanu u ovom tekstu. Razlikuju se po senzorima, po načinu napajanja i po tome šta se sa podacima radi, a to je upravo ono što svaki od njih čini upotrebljivim u svojoj nameni.
