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
Svako okruženje, bez obzira na to za šta se koristi, nosi četiri iste funkcije.
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
Uređaj i aplikacija koja ga prati razvijaju se u različitim okruženjima, po različitim pravilima.
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.
| Strana | Jezik i alat | Gde se izvršava |
|---|---|---|
| Uređaj | Arduino IDE, C/C++ | na modulu ESP32 |
| Aplikacija | PHP, Python, HTML, CSS | na 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
Između uređaja i aplikacije stoji baza podataka.
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
Svi alati koje koristimo besplatni su i otvorenog tipa, i to nije samo pitanje cene.
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.
