Microsofti TypeScripti täiustus võib aidata teil arendada keerulisi süsteeme, mis töötavad asjade Internetil.
DeviceScript on Microsoft Researchi tipptasemel uuendus. See laiendab TypeScripti võimalusi, et mahutada piiratud ressurssidega väikesemahulisi asjade Interneti (IoT) seadmeid.
Selle peamine eesmärk on võimaldada teil kirjutada koodi TypeScriptis ja kompileerida see kohandatud baitkoodiks, mis on optimeeritud ressurssidega piiratud keskkondades juurutamiseks.
Konsooli väljund DeviceScriptis
Microsoft DeviceScript pakub kasutajasõbralikku konsooli. See toetab sõnumite väljastamist ja andurite andmete logimist, kuid toimib ka a väärtuslik tööriist vigade kontrollimiseks.
Erinevate logitasemetega sõnumite logimiseks on teie käsutuses mitmeid funktsioone:
konsool.debug("silumine")
konsool.log("logi")
konsool.warn("hoiata")
konsool.error("viga")
Konsooli väljund on DeviceScripti terminali aknas hõlpsasti nähtav. See võib aidata anda väärtuslikku teavet teie koodi käitamise kohta ja aidata silumisprotsessil.
Lisaks lihtsustab DeviceScript andurite andmete logimist, pakkudes konsool.andmed funktsioon, mis lisab logitud andmetele automaatselt ajatempli.
Kaaluge järgmist näidet:
konst temperatuur = 20;
konst niiskus = 60;
konsool.data({ temperatuur, niiskus });
Logitud andmetele juurdepääsuks saate navigeerida lehele DeviceScript – andmeväljund paanil Visual Studio Code või laadige see alla vaatemenüüst.
Võimas stringi vormindamine
Kui kasutate console.log() funktsiooni DeviceScriptis palju võimalusi stringide vormindamiseks täiustatud väljundi jaoks. Mõelge järgmistele illustreerivatele näidetele:
lase x = 0;
lase y = 4;
konsool.log("Tere, maailm");
konsool.log("X väärtus on", x, "kuni Y on", y);
konsool.log("X=", x, "Y=", y);
konsool.log(`X=${x} Y=${y}`);
konsool.log("X=" + x + " Y=" + y);
DeviceScripti kompilaator lisab automaatselt tühikud, mille tulemuseks on loetavam väljund. Näiteks toodavad teine ja kolmas näide X väärtus on 7, samas kui Y on 12 ja X = 7 Y = 12, vastavalt.
Registritesse kirjutades saab kasutada ka konkatenatsiooni ja malliliteraale. Kaaluge järgmist koodilõiku:
konst ekraan = uus ds. CharacterScreen();
lase x = 7;
screen.message.write("X väärtus on" + x);
screen.message.write(`X on võrdne ${x}`);
Konkatenatsiooni või malliliteraalide abil saate hõlpsalt luua dünaamilisi stringe, mis vastavad mitmesugustele nõuetele.
Lisaks pakub DeviceScript ds.format() funktsioon stringi täiustatud vormindamiseks. Seda funktsiooni saate kasutada koos console.log() või stringiregistrite seadistamisel.
Määrake argumentide kohahoidjad vormingu abil {0}, {1}, {2}, ja nii edasi. Täpsust saate määrata ka teise numbri lisamisega.
Jälgige järgmist näidet:
konst ekraan = uus ds. CharacterScreen();
lase x = 7;
lase y = 12;
konsool.log (ds.format("X on {0} ja Y on {1}", x, y));
konsool.log (ds.format("X = {04}", x));
screen.message.write (ds.format("X on ligikaudu {0}", x));
Pidage meeles, et täpsuse määramine teise numbriga ei pruugi kõigi stsenaariumide korral anda veatuid tulemusi.
Kliendid: andurite ja täiturmehhanismidega suhtlemise võimaldamine
DeviceScripti ökosüsteem võtab Jacdaci teenuste kaudu kokku interaktsiooni andurite, täiturmehhanismide ja muude riistvarakomponentidega.
See raamistik käsitleb andureid serveritena, samas kui teie skriptid ühendavad kliendid nende serveritega suhtlemise hõlbustamiseks. Selle kontseptsiooni illustreerimiseks kaaluge kodu küttesüsteemi kontrolleri stsenaariumi.
Küttesüsteem sisaldab releed, mis reguleerivad ahju tööd, temperatuuriandurit ja pöörlevat koodrit soovitud temperatuuri reguleerimiseks. DeviceScriptis määrate iga nõutava teenuse jaoks kliendid, mida nimetatakse ka rollideks.
Vaadake järgmist koodilõiku:
importida { Temperatuur, relee } alates"@devicescript/core";
konst termomeeter = uus Temperatuur();
konst termomeeter2 = uus Temperatuur();
konst relee = uus Relee();
Momenteerides vajalikke teenusekliente, nt termomeeter, termomeeter 2ja relee, loote sujuva suhtluse vastavate serveritega.
DeviceScripti riistvaraserverid
DeviceScripti mis tahes riistvarakomponendiga suhtlemiseks kasutate teenusekliente. Nende riistvarakomponentide tõhusaks programmeerimiseks on aga hädavajalik lähtestada aluseks oleva riistvara teenindusserverid.
DeviceScript pakub laias valikus servereid @devicescript/serverid moodulit, lihtsustades sellega seda protsessi.
Näiteks Start Button funktsioon võimaldab juurutada nupuserveri kindlale tihvtile ja hankida vastava kliendi. Jälgige järgmist näidet:
importida { gpio } alates"@devicescript/core";
importida { startButton } alates"@devicescript/servers";
konst buttonA = startButton({ pin: gpio(2),});
Kui lisate selle koodilõigu oma skripti, saate kontaktiga 2 (riistvaraspetsiifiline identifikaator) suhelda nuppA klient. Seejärel saate tellida sündmusi, nagu nupuvajutused, ja teha oma IoT-rakenduses konkreetseid toiminguid.
IoT arendamise volitamine DeviceScripti abil
DeviceScript võimaldab teil kasutada TypeScripti väikeste asjade Interneti-seadmete jaoks, optimeerides koodi piiratud keskkondade jaoks. Selle konsooli väljund lihtsustab logimist ja andmete visualiseerimist. Abstraheerides riistvara interaktsiooni Jacdeci teenuste kaudu, muudab see andurite ja täiturmehhanismidega suhtlemise sujuvamaks.
Visual Studio Code'iga integreeritud DeviceScript pakub terviklikku arenduskeskkonda, muutes selle väärtuslikuks tööriistaks tõhusate ja turvaliste asjade Interneti-lahenduste jaoks. DeviceScripti ja Visual Studio Code abil saate enesekindlalt ehitada IoT-lahendusi, mis pole mitte ainult tõhusad, vaid säilitavad ka kõrge turvalisuse taseme kogu arendusprotsessi vältel.