Microsoft, avec sa technologie DeviceScript, étend son langage TypeScript aux systèmes IoT à très faibles ressources[EDITION ABONNES] Lancé par Microsoft Research en mai dernier en tant que projet open source, DeviceScript a pour objectif d’apporter aux développeurs familiers de TypeScript, un langage de programmation libre développé par l'éditeur qui est un surensemble syntaxique de JavaScript, la possibilité de programmer des systèmes embarqués fondés sur des microcontrôleurs à ressources limitées. Comme l’ESP32 d’Espressif ou le RP2040 développé par la fondation Raspberry Pi, deux architectures citées par Microsoft. Ce sous-ensemble de TypeScript se compile sous la forme d’un bytecode, code intermédiaire réduisant la dépendance vis-à-vis du matériel et facilitant son interprétation sur plusieurs architectures. Le programme à base de bytecode est ensuite exécuté par le bais d’une machine virtuelle installée sur le microcontrôleur choisi (qui peut exécuter jusqu'à 10 Ko de code). La solution intègre en outre une bibliothèque en virgule flottante et un SDK Jacdac (*) ajoutant 30 Ko d’emplacement mémoire supplémentaire. Les instructions pour démarrer avec DeviceScript sont disponibles sur le site Web du projet, et une extension DeviceScript pour l'éditeur Visual Studio Code permet aux développeurs de créer, déployer, déboguer et suivre leur code DeviceScript, avec en sus une fonction de surveillance des périphériques. L'interface de commande DeviceScript permet aux développeurs de compiler directement des programmes à partir de leur environnent de développement préféré, la CLI (Common Language Infrastructure) étant également utilisable dans des conteneurs, tels que Docker, selon Microsoft. Avec DeviceScript, l'accès aux capteurs, actionneurs ou autres composants matériels est abstrait via les services Jacdac. Les capteurs agissant comme des serveurs et les scripts connectant les clients pour interagir avec eux. (*) Jacdac est une plate-forme matérielle/logicielle open source qui permet de créer facilement des solutions électroniques personnalisées à partir d'une grande variété de dispositifs matériels dotés de connecteurs et de câbles standard. Jacdac résume la fonctionnalité d’un appareil à travers des services (au sens logiciel du terme) pris en charge par un protocole spécifique. Les appareils Jacdac peuvent être programmés avec TypeScript, .NET, Python et MakeCode.
|