Uvod
U kratkim crtama
Ovaj podmodul ima zadatak da omogući programeru da isprogramira novi pametni
uređaj. Dolazi sa programom devconf koji se koristi za generisanje
MBED workspace-a u kojem će se programirati uređaj.
Konfigurator uređaja se koristi u 3 koraka:
Programer kreira JSON fajlove sa osnovnim podacima o uređajima
Iz ovih fajlova se generišu C++ fajovi koji se smještaju u MBED radni direktorij.
Programer sasvim normalno implementira funkcionalnosti uređaja koje su deklarisane u generisanim C++ fajlovima.
U nastavku je detaljno opisan prethodni postupak. Da biste vidjeli koje opcije
podržava program devconf, pogledajte MANPAGE.
Detaljan opis postupka
Generisanje JSON predložaka
Pokretanjem sljedećeg programa:
devconf --template .
će se u trenutnom direktoriju generisati predlošci:
./
├── factory_device.json
└── user_device.json
Napomena
Umjesto trenutnog direktorija ./, može se navesti bilo koji drugi. Ako
zadani direktorij ne postoji, biće automatski kreiran.
Napomena
Nije potrebno generisati JSON predloške korištenjem programa devconf.
Moguće je ove datoteke ručno kreirati, ali prethodni način je jednostavniji.
Način popunjavanja ovih predložaka je opisan u odjeljku JSON datoteke.
Generisanje C++ koda
Ako su JSON datoteke koje opisuju uređaj spremne, sljedeći korak je iz tih
datoteka generisati polazne h i cpp datoteke. Ovo se može obaviti
pomoću sljedeće komande:
devconf --input-dir . --output-dir mbed-workspace/
Uputa
Moguće je koristiti dodatnu opciju -m/--mbed. Ova opcija će inicijalizirati
mbed workspace sa potrebnim bibliotekama u izlaznom direktoriju.
Napomena
Umjesto ulaznog direktorija ./ i izlaznog direktorija
mbed-workspace/, moguće je zadati bilo koje druge direktorije. Ako zadani
direktoriji ne postoje, biće kreirani.
MBED polazni workspace
Kao rezultat prethodne komande biće kreirane sljedeće datoteke:
mbed-workspace/
├── factory_device.json
├── user_device.json
├── main.cpp
├── iot_device.cpp
├── iot_device.h
└── autogen/
Pri tome su JSON datoteke prosto kopirane iz ulaznog direktorija u izlazni. Nakon ovog koraka, sve što je preostalo je implementirati funkcionalnost u ovim datotekama. Konfigurator uređaja je učinio svoj dio, ostalo je zadatak programera.
Naime, potrebno je implementirati funkcije u datoteci
iot_device.cpp. Zavisno od konkretne primjene, možda će biti potrebno
izmijeniti i datoteke main.cpp, te iot_device.h. Ako nije korištena
-m/--mbed opcija, onda je potrebno ručno dodati biblioteke mbed-os i
mbed-mqtt u mbed workspace.
Napomena
Direktorij autogen/ sadrži pomoćne fajlove i nije predviđeno da se
direktno modifikuje, osim u izuzetnim situacijama.