Мицрософт-ово побољшање ТипеСцрипт може вам помоћи да развијете сложене системе које покреће Интернет ствари.

ДевицеСцрипт је најсавременија иновација компаније Мицрософт Ресеарцх. Он проширује могућности ТипеСцрипт-а да би се прилагодио малим уређајима Интернета ствари (ИоТ) са ограниченим ресурсима.

Његов главни циљ је да вам омогући да напишете код у ТипеСцрипт-у и преведете га у прилагођени бајт код, оптимизован за примену у окружењима са ограниченим ресурсима.

Излаз конзоле у ​​ДевицеСцрипт-у

Мицрософт ДевицеСцрипт нуди конзолу прилагођену кориснику. Подржава излаз поруке и евидентирање података сензора, али такође служи као а вредан алат за проверу грешака.

На располагању вам је низ функција за евидентирање порука са различитим нивоима евиденције:

конзола.дебуг("отклањање грешака")
конзола.Пријава("Пријава")
конзола.варн("упозорити")
конзола.еррор("грешка")

Излаз конзоле је лако видљив у прозору терминала ДевицеСцрипт. Може вам помоћи да пружите драгоцене увиде у функционисање вашег кода и помогнете у процесу отклањања грешака.

Штавише, ДевицеСцрипт поједностављује евидентирање података сензора обезбеђујући конзола.подаци функција, која аутоматски додаје временску ознаку евидентираним подацима.

Размотрите следећи пример:

конст температура = 20;
конст влажност = 60;
конзола.дата({ температура, влажност });

Да бисте приступили евидентираним подацима, можете се кретати до ДевицеСцрипт - Излаз података окно у Висуал Студио Цоде-у или га преузмите из менија приказа.

Моћно форматирање стрингова

Када користите цонсоле.лог() функцију у ДевицеСцрипт-у, имате многе опције за форматирање стрингова за побољшани излаз. Размотрите следеће илустративне примере:

дозволити к = 0;
дозволити и = 4;
конзола.Пријава("Поздрав, свет");
конзола.Пријава("Вредност Кс је", Икс, "док је И", и);
конзола.Пријава("Кс=", Икс, "И=", и);
конзола.Пријава(`Кс=${к} И=${и}`);
конзола.Пријава("Кс=" + к + " И=" + и);

ДевицеСцрипт компајлер аутоматски убацује размаке, што резултира читљивијим излазом. На пример, други и трећи пример ће произвести Вредност Кс је 7 док је И 12 и Кс=7 И=12, редом.

Када пишете у регистре, такође можете користити конкатенацију и литерале шаблона. Размотрите следећи исечак кода:

конст екран = Нова дс. ЦхарацтерСцреен();
дозволити к = 7;
сцреен.мессаге.врите("Вредност Кс је" + к);
сцреен.мессаге.врите(`Кс је једнако ${к}`);

Користећи конкатенацију или литерале шаблона, можете без напора да конструишете динамичке стрингове како бисте задовољили различите захтеве.

Штавише, ДевицеСцрипт нуди дс.формат() функција за напредно форматирање стрингова. Ову функцију можете користити заједно са цонсоле.лог() или приликом конфигурисања стринг регистара.

Наведите чуваре места за аргументе користећи формат {0}, {1}, {2}, и тако даље. Такође можете одредити прецизност додавањем друге цифре.

Обратите пажњу на следећи пример:

конст екран = Нова дс. ЦхарацтерСцреен();
дозволити к = 7;
дозволити и = 12;
конзола.лог (дс.формат(„Кс је {0}, а И је {1}“, к, и));
конзола.лог (дс.формат(„Кс = {04}“, Икс));
сцреен.мессаге.врите (дс.формат(„Кс је приближно {0}“, Икс));

Имајте на уму да навођење прецизности са другом цифром можда неће дати беспрекорне резултате у свим сценаријима.

Клијенти: Омогућавање интеракције са сензорима и актуаторима

ДевицеСцрипт екосистем апстрахује интеракцију са сензорима, актуаторима и другим хардверским компонентама преко Јацдац услуга.

Овај оквир третира сензоре као сервере, док ваше скрипте повезују клијенте са овим серверима да би олакшале интеракцију. Да бисте илустровали овај концепт, размотрите сценарио контролера кућног система грејања.

Систем грејања обухвата релеј који регулише рад пећи, температурни сензор и ротациони енкодер за подешавање жељене температуре. У ДевицеСцрипт-у дефинишете клијенте, који се такође називају улогама, за сваку потребну услугу.

Погледајте следећи исечак кода:

увоз { Температура, Релеј} из„@девицесцрипт/цоре“;
конст термометар = Нова Температуре();
конст термометар2 = Нова Температуре();
конст релеј = Нова Релаи();

Инстанцирањем потребних клијената услуге, као нпр термометар, термометар2, и штафета, успостављате беспрекорну комуникацију са одговарајућим серверима.

ДевицеСцрипт хардверски сервери

За интеракцију са било којом хардверском компонентом у ДевицеСцрипт-у, запошљавате услужне клијенте. Међутим, за ефикасно програмирање ових хардверских компоненти, императив је да се иницијализују сервисни сервери на основном хардверу.

ДевицеСцрипт нуди широк спектар сервера у оквиру @девицесцрипт/серверс модул, чиме се поједностављује овај процес.

На пример, тхе старт дугме функција вам омогућава да примените сервер дугмади на одређени пин и добијете одговарајућег клијента. Обратите пажњу на следећи пример:

увоз { гпио } из„@девицесцрипт/цоре“;
увоз { старт дугме } из„@девицесцрипт/серверс“;
конст дугмеА = стартБуттон({ пин: гпио(2),});

Уградњом овог исечка кода у своју скрипту добијате могућност интеракције са пином 2 (идентификатором специфичним за хардвер) преко дугмеА клијент. Затим се можете претплатити на догађаје као што су притиском на дугме и извршити одређене радње у оквиру ваше ИоТ апликације.

Оснаживање ИоТ развоја помоћу ДевицеСцрипт-а

ДевицеСцрипт вам омогућава да искористите ТипеСцрипт за мале ИоТ уређаје, оптимизујући код за ограничена окружења. Његов излаз на конзоли поједностављује евидентирање и визуелизацију података. Апстрахујући хардверску интеракцију преко Јацдец сервиса, он поједностављује комуникацију са сензорима и актуаторима.

Интегрисан са Висуал Студио Цоде, ДевицеСцрипт нуди свеобухватно окружење за развој, што га чини вредним алатом за ефикасна и безбедна ИоТ решења. Са ДевицеСцрипт-ом и Висуал Студио Цоде-ом, можете са сигурношћу да градите ИоТ решења која су не само ефикасна већ и одржавају висок ниво безбедности током целог процеса развоја.