Već par mjeseci samostalno radim na alatu za pravljenje kontrolnih panela u različitim domenima. Projekat sam pokrenuo kao temu za diplomski rad, međutim nastavio sam razvoj i sada to polako dolazi u neku upotrebljivu fazu.
Cilj ovog posta je da projekat izvučem iz dubina interneta, ali budući da je projekat u potpunosti otvorenog koda i razvijen je između ostalog sa ciljem doprinosa i podrške široj DIY zajednici, nadam se da ovakvo reklamiranje neće biti uzeto za zlo. Da se vratim na alat.
Glavna odlika alata je ugrađeni editor za pravljenje kontrolnih panela po principu "šta vidiš to i dobiješ" (WYSIWYG). Na raspolaganju je nekoliko virtuelnih instrumenata za prikaz mjerenih signala (analogni, digitalni, ploter, itd), kontrole za upravljanje (dugme i slider), te podrška za uvoz slika. Raspoređivanjem ovih elemenata i konfigurisanjem preko ugrađenog editora, moguće je postići veoma specijalizovane izglede kontrolnih panela. Ovako iskonfigurisan panel se snima u XML fajl koji u potpunosti opisuje konfiguraciju panela.
Nakon što se napravi zadovoljavajuća konfiguracija kontrolnog panela, moguće je istu pokrenuti (run). U ovom modu, panel predstavlja samostalnu aplikaciju koja može da prima mjerene vrijednosti i u realnom vremenu iscrtava ove promjene putem virtuelnih instrumenata. Na raspolaganju su UDP i serijska komunikacija. Bilo koji uređaj koji je u stanju da generiše UDP paket ili serijsku komunikaciju definisanog formata može da služi kao izvor vrijednosti za vizuelizaciju. Ovo mogu biti raznorazni mikrokontroleri, ali takođe i softverski izvori kao što su raznorazne skripte. Jedan primjer (dostupan u repozitorijumu) je python skripta koja čita opterećenje procesora i ovo šalje kontrolnom panelu, koji ovu veličinu prikazuje kroz par instrumenata.
Razlog zašto sam temu postavio ovdje je taj što mi je osnovna ideja bila podrška za embedded developere i elektroničare. Npr. neko razvija svoju pametnu kuću (DIY), i dobar je sa programiranjem mikrokontrolera, ali možda se nije susreo sa GUI programiranjem. Koristeći softver koji pravim, moguće je kompletan GUI dio riješiti klikanjem mišem, a prilagođenje izvršiti na strani mikrokontrolera.
Više informacija i sam izvorni kod je dostupan na sledećem github linku: https://github.com/irajkovic/visualization
Wiki stranica sa par screenshota: https://github.com/irajkovic/visualization/wiki