LAKI PINGVINI<>
092017<><>

Windows IoT Core

Prozori sa pogledom na malinjak

Kada veliki Majkrosoft odluči da nastupi u nekoj oblasti vezanoj za operativne sisteme, to samo po sebi mora da izazove pažnju onih koji sebe smatraju poznavaocima događaja u IT svetu. Samo pominjanje Windowsa dovoljno je atraktivno i za širi krug ljudi, pošto je reč o najpopularnijem desktop operativnom sistemu u poslednjih četvrt veka. Zahvaljujući velikoj ekspanziji IoT segmenta tržišta i velikom uspehu platforme Raspberry Pi, „mali mekani” je pre neke dve i po godine objavio da radi na besplatnom operativnom sistemu koji bi po njihovom mišljenju trebalo da bude glavna okosnica za razvoj IoT projekata. Pošto je od tada prošlo dosta vremena, red je da vidimo i analiziramo šta je taj operativni sistem sve u stanju da uradi i kakve mogućnosti donosi sa sobom.

Rebranding do besvesti

Čak i oni koji sa pažnjom prate poteze Microsofta na takozvanom Embedded segmentu tržišta, teško mogu da se snađu sa brojnim varijantama operativnih sistema kojima se ime po pravilu menja svakih nekoliko godina. Ovaj put su odlučili da liniju proizvoda poznatu kao Windows Embedded prekrste u Windows IoT i pri tom uvedu tri potkategorije: Mobile Enterprise, Enterprise i Core. Windows IoT Core je svojevrsna zamena za platformu Windows Embedded Compact (dosta poznatiju pod starim nazivom Windows CE), koja cilja na uređaje sa relativno malim memorijskim i procesorskim kapacitetima (apsolutni minimum je 256 megabajta RAM i 2 gigabajta skladišta). Specifičnost ove verzije je da je potpuno besplatna za obične korisnike, dok postoji i varijanta sa dodatkom Pro koja je namenjena subjektima koji nameravaju da je koriste u komercijalnim projektima. Posebnost Pro verzije je u tome da se kod nje mogu isključiti updateovi operativnog sistema.

Instaliranje IoT Core je na sreću veoma jednostavno i obavlja se preko aplikacije pod nazivom Windows 10 IoT Core Dashboard, koju preuzimamo sa Microsoftovog sajta (goo.gl/B67zTK), a koja osim standardne mogućnosti zapisa podataka na microSD karticu, poseduje i opciju instaliranja na eksterni hard disk. Od nas se zahteva da odredimo tip uređaja, verziju (build) operativnog sistema, lozinku za administratora, kao i da u PC računar postavimo microSD karticu kapaciteta od 8 gigabajta ili više. Ceo proces se obavlja direktnim preuzimanjem instalacije preko interneta. Inače, osim pomoći pri instalaciji, IoT Dashboard poseduje dodatnu opciju za povezivanje na poznati Microsoftov cloud servis Azure, kao i nekoliko primera koji bi trebalo da demonstriraju mogućnosti platforme, od kojih je najefektniji onaj sa funkcijom internet radio plejera. Mišljenja smo da su u Microsoftu mogli malo više da se potrude i ponude bar još desetak drugih primera gotovih aplikacija.

Oni koji očekuju da na svom monitoru posle instalacije ugledaju nekakav minijaturni Windows, biće veoma razočarani. Na ekranu je prikazana statična slika priključenog uređaja sa osnovnim podacima o IP adresi, nazivu mrežnog uređaja, verziji operativnog sistema i eventualnim hardverskim uređajima priključenim na USB portove. Iako je u IoT Core implementiran grafički stek koji omogućuje prikazivanje slike na displeju, ideja projektanata je da ne ponude klasični grafički interfejs, već da se interakcija sa operativnim sistemom obavlja na malo drugačiji način: putem udaljenog ekrana, komandne linije i interfejsa rađenog u stilu veb aplikacije. Displeju je moguće pristupiti preko programa pisanih za takozvane UWP (Universal Windows Platform) aplikacije koje predstavljaju pokušaj giganta iz Redmonda da objedini izvršenje programa na više različitih hardverskih platformi, pod uslovom da one koriste neku od verzija Windowsa 10. Osim vizuelizacije podataka na displeju, podržan je i rad sa ekranima osetljivim na dodir. To opet znači da će na ovoj platformi biti moguće pokrenuti programe koji će koristiti sve raspoložive korisničke elemente grafičkog interfejsa Windows, što bi moglo da dovede do toga da IoT Core pravi konkurenciju svojoj starijoj braći u uređajima kao što su prodajni terminali, bankomati i tome slično.

Uređaji IoT klase najčešće rade u takozvanom headless režimu, odnosno, bez monitora. U tom slučaju, preostaje nam nekoliko načina da komuniciramo sa računarom. Prvi način, režim udaljenog ekrana, omogućuje da posmatramo dešavanja na ekranu bez potrebe za konektovanjem na spoljašnji uređaj preko HDMI interfejsa. Prednost ovakvog načina priključivanja je u tome što možemo videti rezultate izvršenja aplikacije u vizuelnom obliku na uređajima koji podržavaju Windows 10. Veza se ostvaruje putem aplikacije Windows IoT Remote Client koju preuzimamo iz Windows Storea. Da bi ovo radilo kako treba, potrebno je iz menija veb konzole aktivirati opciju Remote: Enable Windows IoT Remote Server.

Kod Linuksa se često koristi komandna linija, što je moguće i ovde (o tome nešto kasnije), ali je mnogo praktičnije podešavati sistem i pratiti njegove parametre putem podataka koje dobijamo preko ugrađene veb konzole, slično kao što to radi poznata Linuks aplikacija za administriranje sistema pod nazivom Webmin.

Veb interfejs

Nakon upisivanja IP adrese i porta za HTTP prenos podataka u pregledaču interneta, dočekuje nas početna stranica veb konzole na kojoj možemo promeniti naziv uređaja, postaviti novu lozinku, odrediti vremensku zonu, rezoluciju slike na monitoru, kao i orijentaciju ekrana. Nove verzije poseduju podršku za poznatog pomoćnika, zasnovanog na veštačkoj inteligenciji sa „velikog” Windowsa 10 pod nazivom Cortana. Po ideji, ona bi mogla da odigra veliku ulogu u olakšavanju interakcije korisnika sa IoT uređajima. Ovde možemo da uključimo opciju aktivacije Kortane sa podizanjem sistema. Meniji veb konzole se nalaze sa leve strane i podeljeni su na deset kategorija. Kategorija Apps sadrži tri stavke: Apps Manager, File Explorer i Quick-Run Samples. Apps Manager je mesto gde možemo instalirati aplikacije smeštene na desktop računaru ili upravljati onima koje su prethodno instalirane. File Explorer radi ono što bismo i očekivali od njega – omogućava kretanje kroz stablo direktorijuma i prebacivanje fajlova sa desktopa računara u memoriju „maline”. Ovde treba istaći da je kretanje ograničeno na region pod nazivom User Folders, odnosno na foldere namenjene čuvanju dokumenata pojedinačnih korisnika. Kategorija menija Processes u sebi krije pojednostavljenu verziju Task Managera iz Windowsa. Prikazane su informacije o nazivima procesa, njihovom vlasniku, kao i zauzeću procesora i memorije. Klikom na znak „X” koji se nalazi na početku svakog reda, zaustavljamo rad procesa. Opcija Performance je zadužena za grafičko prikazivanje podataka o zauzeću sistemskih resursa u realnom vremenu, i to: CPU, U/I memorije i mrežnog adaptera. Na kraju, tu je i odeljak Run command pomoću kojega možemo zadavati komande u tekstualnom režimu. Ipak, za takvu namenu preporučujemo korišćenje udobnijih sredstava, a neke primere ćemo pokazati nešto kasnije. Stavke menija Debug odnose se na proces provere programskog koda na greške. Jedna od važnih karakteristika Windowsa IoT Core je njegova integracija sa programskim paketom Visual Studio, što za posledicu ima vrlo kvalitetno radno okruženje za razvoj IoT aplikacija. S obzirom na to da se za programiranje mogu koristiti brojni .NET jezici, platforma postaje potencijalno dostupna milionima programera koji će pisati aplikacije na isti način kao što to rade za Windows platformu. Meni Devices sadrži menadžer uređaja koji je po funkcionalnosti daleko slabiji od onoga u Windowsu, ali ipak pruža dovoljno informacija o svim priključenim uređajima.

Odeljak menija pod nazivom Connectivity je namenjen priključivanju na različite mreže i uređaje. Pored mogućnosti kontrole povezivanja sa Bluetooth i Wi-Fi mrežama, mesta se našlo i za opciju pretvaranja „maline” u virtuelnu tačku pristupa, odnosno, za omogućavanje deljenja interneta drugim uređajima. Još jedna zanimljiva stvar se skriva pod menijem Onboarding i namenjena je priključivanju računara u mrežu koja funkcioniše preko AllJoyn protokola. Reč je o specijalnom standardu koji bi trebalo da obezbedi povezivanje raznolikih uređaja, bez obzira na korišćenu metodologiju razmene podataka. Ta tehnologija se inače koristi u praktično svim uređajima koji rade na nekoj od verzija Windowsa 10.

Meni pod nazivom TPM Configuration je namenjen podešavanju parametara vezanih za rad sa kriptografski orijentisanom tehnologijom TPM (Trusted Platform Module) i na ovom mestu možemo instalirati module za rad sa nekim od ponuđenih hardverskih uređaja. To za posledicu ima visok nivo zaštite sistema od potencijalnih pokušaja praćenja informacija, što je od velike važnosti za ovu vrstu uređaja.

Komandna linija

Povezivanje putem SSH (Secure Shell) protokola je prilično jednostavno i ne razlikuje se od načina koji se primenjuje kod Linuks distribucija. Za to je potrebno da posedujemo neki program za terminal emulaciju, kao što je popularni Putty i da u polja predviđena za IP adresu i broj porta unesemo vrednosti koje odgovaraju našem uređaju. Nakon što u prozor terminala upišemo korisničko ime i lozinku, otvara nam se mogućnost kretanja kroz fajl sistem pomoću starih dobrih DOS naredbi.

Znatno je komplikovanija procedura priključivanja putem PowerShell konzole koja dolazi uz Windows. Prvo je potrebno da konzolu pokrenemo u režimu administratora (najjednostavniji način: ’Windows+X’, Windows PowerShell (Admin)). Zatim je u okviru novog prozora potrebno otkucati naredbu

net start WinRM

koja startuje proces Windows Remote Management, neophodan za povezivanje na drugi računar. Sledeći korak se sastoji u kreiranju poverljive komunikacije između dva uređaja, a to ostvarujemo kucajući komandu:

Set-Item WSMan:\localhost\Client\TrustedHosts -Value ime_racunara

Umesto imena računara, moguće je upisati i njegovu IP adresu. Na poruku od strane računara potrebno je da odgovorimo sa „Y"(es). U sledećem koraku pokrećemo novu sesiju sa komandom:

Enter-PSSession -ComputerName Win10IoT -Credential localhost\Administrator

U našem slučaju, naziv računara je bio Win10IoT, a moguće je upisati i IP adresu udaljenog računara. U dijalog prozoru koji se pojavi na ekranu upisujemo lozinku za nalog administratora i napokon dobijamo pristup do PowerShell komandne linije.

Utisci

I ovde možemo da konstatujemo da je Majkrosoft mogao i bolje da se potrudi oko broja aplikacija koje demonstriraju sposobnosti njihovog operativnog sistema. Generalno, nekoliko primera koje smo kompajlirali (goo.gl/exvwDE) uz pomoć Visual Studia, ostavili su vrlo dobar utisak. Upravljanje sa GPIO portom preko jezika C/C++ sa bibliotekom Wiring, slično je iskustvu programiranja na platformi Arduino, što znači da se sa malo uloženog truda postižu dobri rezultati. Isto tako, programe možemo pisati i u brojnim drugim popularnim jezicima, kao što su C#, Visual Basic, JavaScript, Node.js, Python i drugi. U nekom od narednih brojeva planiramo da se detaljnije osvrnemo na programiranje za platformu Windows IoT, tako da se ovde nećemo baviti tom tematikom.

Kada se stvari pogledaju sa strateške strane, jedna od najvećih grešaka Microsofta je ta što u ovu verziju Windowsa nije ugradio neki oblik desktop okruženja koji bi omogućio korišćenje računara u ulozi minijaturne PC mašine. To je operacija koja bi definitivno privukla mnogo korisnika koji žele da imaju pomoćni „računarčić” sa poznatim operativnim sistemom za namene kao što su multimedija ili mrežna komunikacija. Ovako, Windows IoT Core, kada se uporedi sa standardnom Raspbian distribucijom, koja osim što pruža podršku za rad sa IoT može da posluži kao elementarni desktop, nema velike šanse na uspeh i sasvim je sigurno da će ga ignorisati velika većina korisnika. Zato smatramo da je izostavljanje desktopa bio veliki propust koji može uveliko da utiče na budućnost cele platforme. Bila bi šteta da projekat ne zaživi, jer je Windows IoT Core u suštini vrlo dobra ideja. Ostaje nam da se nadamo da će u Redmondu shvatiti da nije dovoljno ponuditi kvalitetnu platformu, već je potrebno za nju zainteresovati veliki broj ljudi, a to je bez desktop menadžera skoro nemoguća misija.

Igor S. RUŽIĆ

 
Samba alati
Latte Dock 0.6.2
Stacer 1.0.7
Arduino: Termistori
Windows IoT Core
Šta mislite o ovom tekstu?
Home / Novi brojArhiva • Opšte temeInternetTest driveTest runPD kutakCeDetekaWWW vodič • Svet igara
Svet kompjutera Copyright © 1984-2018. Politika a.d. • RedakcijaKontaktSaradnjaOglasiPretplata • Help • English
SKWeb 3.22
Opšte teme
Internet
Test Drive
Test Run
PD kutak
CeDeteka
WWW vodič
Svet igara



Naslovna stranaPrethodni brojeviOpšte informacijeKontaktOglašavanjePomoćInfo in English

Svet kompjutera