„Microsoft“ „TypeScript“ patobulinimas gali padėti sukurti sudėtingas sistemas, maitinamas daiktų interneto.
„DeviceScript“ yra pažangiausia „Microsoft Research“ naujovė. Tai išplečia „TypeScript“ galimybes, kad būtų galima pritaikyti nedidelius daiktų interneto (IoT) įrenginius su ribotais ištekliais.
Pagrindinis jo tikslas – suteikti galimybę rašyti kodą „TypeScript“ ir sukompiliuoti jį į pasirinktinį baitinį kodą, optimizuotą diegti ribotų išteklių aplinkoje.
Konsolės išvestis naudojant „DeviceScript“.
Microsoft DeviceScript siūlo patogią konsolę. Jis palaiko pranešimų išvedimą ir jutiklių duomenų registravimą, bet taip pat tarnauja kaip a vertinga klaidų tikrinimo priemonė.
Galite naudotis įvairiomis funkcijomis, leidžiančiomis registruoti pranešimus su skirtingais žurnalo lygiais:
konsolė.debug("derinti")
konsolė.log("rąstas")
konsolė.warn("perspėti")
konsolė.error("klaida")
Konsolės išvestis yra lengvai matoma „DeviceScript“ terminalo lange. Tai gali padėti suteikti vertingų įžvalgų apie kodo veikimą ir padėti derinti.
Be to, „DeviceScript“ supaprastina jutiklių duomenų registravimą, pateikdama konsolė.duomenys funkcija, kuri automatiškai prideda laiko žymą prie įrašytų duomenų.
Apsvarstykite šį pavyzdį:
konst temperatūra = 20;
konst drėgmė = 60;
konsolė.data({ temperatūra, drėgmė });
Norėdami pasiekti užregistruotus duomenis, galite pereiti prie „DeviceScript“ – duomenų išvestis Visual Studio Code arba atsisiųskite ją iš rodinio meniu.
Galingas stygų formatavimas
Kai naudojate console.log() funkciją „DeviceScript“, turite daug eilučių formatavimo parinkčių patobulintam išėjimui. Apsvarstykite šiuos iliustruojančius pavyzdžius:
leisti x = 0;
leisti y = 4;
konsolė.log(„Sveiki, pasauli“);
konsolė.log("X reikšmė yra", x, "kol Y", y);
konsolė.log("X=", x, "Y=", y);
konsolė.log(„X=${x} Y=${y}`);
konsolė.log("X=" + x + "Y=" + y);
„DeviceScript“ kompiliatorius automatiškai įterpia tarpus, todėl išvestis yra aiškesnė. Pavyzdžiui, bus sukurtas antrasis ir trečiasis pavyzdžiai X reikšmė yra 7, o Y yra 12 ir X = 7 Y = 12, atitinkamai.
Rašydami į registrus taip pat galite naudoti sujungimo ir šabloninius literatus. Apsvarstykite šį kodo fragmentą:
konst ekranas = naujas ds. CharacterScreen();
leisti x = 7;
screen.message.write("X reikšmė yra" + x);
screen.message.write(`X yra lygus ${x}`);
Naudodami sujungimo arba šabloninius literatus, galite be vargo sukurti dinamines eilutes, kurios atitiktų įvairius reikalavimus.
Be to, „DeviceScript“ siūlo ds.format() funkcija išplėstiniam eilučių formatavimui. Šią funkciją galite naudoti kartu su console.log() arba konfigūruojant eilučių registrus.
Nurodykite argumentų vietos rezervavimo ženklus naudodami formatą {0}, {1}, {2}, ir taip toliau. Taip pat galite nurodyti tikslumą pridėdami antrą skaitmenį.
Atkreipkite dėmesį į šį pavyzdį:
konst ekranas = naujas ds. CharacterScreen();
leisti x = 7;
leisti y = 12;
konsolė.log (ds.format("X yra {0}, o Y yra {1}", x, y));
konsolė.log (ds.format("X = {04}", x));
screen.message.write (ds.format("X yra maždaug {0}", x));
Turėkite omenyje, kad nurodant tikslumą antruoju skaitmeniu gali nepavykti gauti nepriekaištingų rezultatų visais atvejais.
Klientai: sąveikos su jutikliais ir pavaromis įgalinimas
„DeviceScript“ ekosistema abstrahuoja sąveiką su jutikliais, pavaromis ir kitais aparatinės įrangos komponentais per „Jacdac“ paslaugas.
Ši sistema jutiklius traktuoja kaip serverius, o jūsų scenarijai sujungia klientus su šiais serveriais, kad palengvintų sąveiką. Norėdami iliustruoti šią koncepciją, apsvarstykite namo šildymo sistemos valdiklio scenarijų.
Šildymo sistema apima relę, kuri reguliuoja krosnies darbą, temperatūros jutiklį ir sukamąjį kodavimo įrenginį norimai temperatūrai reguliuoti. „DeviceScript“ kiekvienai reikalingai paslaugai apibrėžiate klientus, dar vadinamus vaidmenimis.
Pažvelkite į šį kodo fragmentą:
importuoti { Temperatūra, relė } iš„@devicescript/core“;
konst termometras = naujas Temperatūra ();
konst termometras2 = naujas Temperatūra ();
konst relė = naujas Relė();
Momentuodama reikiamų paslaugų klientus, pvz termometras, termometras 2, ir estafetė, užmezgate sklandų ryšį su atitinkamais serveriais.
„DeviceScript“ aparatinės įrangos serveriai
Norėdami sąveikauti su bet kuriuo DeviceScript aparatinės įrangos komponentu, naudojate paslaugų klientus. Tačiau norint efektyviai programuoti šiuos aparatūros komponentus, būtina inicijuoti paslaugų serverius pagrindinėje aparatinėje įrangoje.
„DeviceScript“ siūlo platų serverių asortimentą @devicescript/servers modulį, taip supaprastinant šį procesą.
Pavyzdžiui, pradžios mygtukas funkcija leidžia įdiegti mygtukų serverį tam tikrame kaištyje ir gauti atitinkamą klientą. Atkreipkite dėmesį į šį pavyzdį:
importuoti { gpio } iš„@devicescript/core“;
importuoti { startButton } iš„@devicescript/servers“;
konst buttonA = startButton({ smeigtukas: gpio(2),});
Įtraukę šį kodo fragmentą į savo scenarijų, įgysite galimybę sąveikauti su 2 kaiščiu (specifiniu aparatūros identifikatoriumi) naudodami mygtukas A klientas. Tada galite užsiprenumeruoti įvykius, pvz., mygtukų paspaudimus ir atlikti konkrečius veiksmus savo IoT programoje.
„IoT“ kūrimo įgalinimas naudojant „DeviceScript“.
„DeviceScript“ leidžia panaudoti „TypeScript“ mažiems daiktų interneto įrenginiams, optimizuojant kodą ribotoms aplinkoms. Jo konsolės išvestis supaprastina registravimą ir duomenų vizualizavimą. Abstrahuodamas aparatinės įrangos sąveiką per Jacdec paslaugas, jis supaprastina ryšį su jutikliais ir pavaromis.
Integruotas su „Visual Studio Code“, „DeviceScript“ siūlo visapusišką kūrimo aplinką, todėl tai yra vertinga efektyvių ir saugių daiktų interneto sprendimų priemonė. Naudodami „DeviceScript“ ir „Visual Studio Code“ galite užtikrintai kurti daiktų interneto sprendimus, kurie yra ne tik veiksmingi, bet ir palaiko aukštą saugumo lygį viso kūrimo proceso metu.