Amazon unifie la prise en main de ses différents kits de développement logiciel pour objets connectés

[EDITION ABONNES] Sous le nom d’ACS for Devices (ACS pour Amazon Common Software), Amazon a annoncé il y a quelques semaines une pile logicielle optimisée, destinée à faciliter l’intégration des différents kits de développement SDK Amazon Device sur des objets connectés divers et variés.... L’idée étant d’accélérer la mise sur le marché de produits et d’éviter la duplication de certains efforts de développement et de test.

De fait, explique Amazon, l’intégration de chaque SDK proposé par l’éditeur (FFS, AWS IoT Device, Alexa Voice Service Device…) requiert typiquement de la part du développeur d’un objet connecté l’implémentation d’une couche de compatibilité ou d’intégration d’API pour des fonctions basiques comme la gestion Wi-Fi, les opérations HTTP et le chiffrement. Ainsi, lorsque le SDK doit exécuter une tâche comme le scan des réseaux Wi-Fi, il fait appel à l’implémentation de ces fonctions. Mais aujourd’hui, reconnaît le groupe américain, les couches d’intégration d’API varient entre SDK et nécessitent des travaux de développement et de test pour chaque kit.

La pile ACS vise donc à simplifier le processus en fournissant une seule couche d’intégration d’API unifiée pour les différents SDK Amazon disponibles pour le développement d’objets connectés. Elle fournit aussi des composants prévalidés et optimisés au niveau mémoire pour des fonctions communes (connectivité, réseau, device management, multimédia…) ainsi qu’un kit de portage DPK (Device Porting Kit), qui fournit une couche d’abstraction vis-à-vis du matériel et des systèmes d’exploitation, et des suites de test destinées à localiser des erreurs ou des bogues dans le code logiciel (voir illustration ci-dessus).

Selon Amazon, qui l’a déjà utilisé pour ses propres dispositifs comme l’enceinte connectée Echo Dot de 3e génération et le four Amazon Smart Even, le logiciel ACS, actuellement disponible en version préliminaire (preview), peut être mis en œuvre sur des plates-formes de référence dûment qualifiées comme la puce-système sans fil ESP32 d’Espressif Systems ou la Raspberry Pi 4, mais il peut aussi être intégré sur n’importe quelle plate-forme sélectionnée par le développeur en utilisant le Device Porting Kit.

Au niveau système d’exploitation, ACS s’accommode aussi bien de FreeRTOS que des plates-formes Linux embarquées.

Dans la pratique, la version préliminaire inclut déjà la prise en charge des SDK FFS (Frustration-Free Setup) et AWS IoT Device, le support du SDK Alexa Voice Service (AVS) étant prévu plus tard dans l’année.

Dès lors, assure Amazon, une fois que le développeur implémente une API ACS partagée par différents SDK, il a la possibilité de la réutiliser avec n’importe quel SDK pris en charge par le logiciel ACS, gain de temps à la clé. A noter encore qu’il est possible d’utiliser les composants ACS fournis par Amazon ou d’en développer soi-même.

Les configurations ACS typiques seraient peu gourmandes en RAM avec des capacités de l’ordre de 16 Ko pour des accessoires Echo Flex tierces parties (Echo Flex est une prise connectée avec assistant Alexa intégré) et de 320 Ko pour des équipements typiques de la maison intelligente.

Parmi les premiers fabricants de semi-conducteurs à annoncer leur soutien au logiciel ACS figurent, au-delà du chinois Espressif Systems avec son SoC ESP32, Amlogic, Cypress, MediaTek, Nordic Semiconductor, NXP, Qorvo et Silicon Labs.