Razvojna okruženja

Uređaj koji meri i veb aplikacija koja te podatke prikazuje nastaju u različitim alatima. Razvojno okruženje je skup programa u kome inženjer piše, proverava i isporučuje svoje rešenje.

Izbor okruženja retko je stvar ukusa. On određuje koliko brzo se dolazi do prvog rezultata, koliko lako se greška pronalazi i koliko je lako nekom drugom da kasnije nastavi rad.

Šta čini razvojno okruženje

Urednik teksta u kome se piše program, uz prepoznavanje jezika i isticanje grešaka. Prevodilac koji napisani tekst pretvara u oblik razumljiv mašini. Način da se rezultat prenese tamo gde treba da radi, na pločicu ili na server. I alat za praćenje rada, kojim se vidi šta program zaista radi, a ne šta smo mislili da radi.

Ta poslednja funkcija najčešće odlučuje koliko će razvoj trajati. Pisanje programa je obično kraći deo posla; traženje razloga zašto nešto ne radi je duži.

Dva sveta u istom projektu

Na strani uređaja program se piše u Arduino IDE, prevodi i prenosi na pločicu, gde se izvršava samostalno. Tu su resursi ograničeni, a greška se teško uočava, jer uređaj nema ekran na kome bi se žalio.

Na strani servera program se piše u PHP-u ili Pythonu, uz HTML i CSS za izgled stranice. Tu je resursa dovoljno, promena se vidi odmah u pregledaču, a ispravka ne zahteva ponovni prenos na uređaj.

StranaJezik i alatGde se izvršava
UređajArduino IDE, C/C++na modulu ESP32
AplikacijaPHP, Python, HTML, CSSna veb serveru

Inženjer koji radi na celom sistemu mora da se kreće između ta dva sveta. To je jedan od razloga zašto se u našoj praksi rad deli prema sklonostima članova, a ne prema fazama posla.

Gde se podaci čuvaju

Uređaj šalje očitavanja, baza ih čuva, aplikacija ih čita i prikazuje. Takva podela znači da uređaj ne mora ništa da pamti, a da se istorija merenja ne gubi kada se uređaj isključi ili zameni.

U našim rešenjima koristimo MySQL, odnosno MariaDB. Reč je o bazama koje su besplatne, rasprostranjene i podržane na gotovo svakom veb serveru, pa se sistem može postaviti i kod korisnika koji nema sopstvenu računarsku infrastrukturu.

Pri projektovanju baze najvažnije pitanje nije koja se baza koristi, nego šta se u nju upisuje i koliko često. Previše čestih upisa nepotrebno opterećuje sistem, a preretkih propušta ono što se u međuvremenu desilo.

Zašto otvoreni alati

Otvoren alat znači da rešenje ne zavisi od jednog proizvođača i od njegove poslovne odluke. Znači i da korisnik kome sistem predamo može sam da ga održava, bez obaveze da kupuje licence.

Za grupu našeg obima to je jedini održiv način rada. Troškovi razvoja svode se na vreme i opremu, a sve ostalo je dostupno svakome ko je spreman da uloži trud u učenje.

Uz to ide i obiman izvor znanja: dokumentacija, primeri i rešenja koja je zajednica korisnika već objavila. Taj izvor često vredi više od samog alata.