Dans cet article, je vais vous présenter les grandes lignes de la conception et l’ingénierie nécessaire au développement d’une application mobile s’interfaçant avec un périphérique quelconque, contrôlé en Bluetooth.
À l’heure actuelle, de plus en plus d’objets connectés font partie de notre quotidien. La miniaturisation étant une tendance une forte, il est devenu nécessaire de déplacer les éléments de contrôle hors de l’objet. C’est en partie pour cela qu’il est devenu de plus en plus courant d’avoir une application pour contrôler certains objets en Bluetooth. Là n’est pas la seule raison de réaliser une application de contrôle Bluetooth, cela peut être pour des raisons de coût. L’utilisation d’un support normalisé tel que le Bluetooth permet d’économiser sur la conception d’une liaison sans fil propriétaire. En utilisant une technologie éprouvée telle que le Bluetooth. Il est possible de réduire drastiquement les couts en R et D (recherche et développement) et allouer ces ressources sur les fonctionnalités essentielles du couple objet connecté, application mobile.
Avant d’aller plus loin, expliquons ce qu’est une liaison Bluetooth : il s’agit pour faire très simple d’une liaison sans fil à courte distance (inférieur à 15mètres). Cela remplace avantageusement un câble de contrôle, tout en étant plus fiable que la majorité des télécommandes de TV (certaines utilisent déjà des technologies comme le Bluetooth).
Lors du développement d’une application de contrôle d’un quelconque objet, nous échangeons généralement avec les équipes de conception : ingénieurs électroniques et software ayant conçu l’objet connecté, afin d’établir un dictionnaire de communication. Ce dictionnaire liste les fonctions de l’objet et les trames de communication associées à ces commandes. Selon la complexité du projet, il est quelquefois nécessaire de réaliser une étude préliminaire, et concevoir une application proof of concept (preuve de concept), de manière à garantir la faisabilité du projet. Généralement cette application fonctionne sur un appareil mobile grand public avec une interface très sommaire, le but étant ici de tester l’interaction avec l’objet connecté par Bluetooth. Lorsque cette étape est validée, que la preuve de concept est valable, l’étape de conception et développement commence.
Lors de la conception d’une telle application, nous travaillons sur des projets généralement innovants, et il est très courant que nous n’ayons pas accès au périphérique final. La conception de celui-ci se poursuivant en parallèle du côté de notre client. Nous avons quelquefois accès à des versions prototype des objets en question, mais pour gagner du temps, nous reprenons le dictionnaire de données et nous réalisons en interne un émulateur pour visualiser le comportement lors du contrôle via la liaison Bluetooth. Cet émulateur inclut généralement un debugger afin de vérifier la bonne interprétation des trames, et contrôler la bonne émission des données par l’application.
Nous concevons ensuite l’interface de l’application. Deux approches sont possibles : la première, notre client nous communique une maquette, de la même manière que pour un site Web et nous nous occupons d’adapter cela en version application avec les contraintes que cela implique. Quant à la seconde, nous pouvons avoir des wireframes (schéma présentant le fonctionnement attendu) fournis par notre client, à partir desquels nous travaillons pour concevoir une interface utilisateur (Ui) et garantir une expérience utilisateur (Ux) la plus agréable possible, via l’utilisation d’élément de contrôle adapté au pilotage de son objet. Les éléments concevant l’interface sont ensuite « reliés » dans l’application pour convertir des interactions en trame Bluetooth. En termes de conversion, il peut s’agir par exemple de transcrire la valeur d’un curseur de définition de luminosité pour ensuite le convertir en valeur hexadécimale, puis le concaténer au sein d’une trame Bluetooth contenant d’autres informations pour l’envoyer en Bluetooth, ou autre toujours en corrélation avec le dictionnaire de communication Bluetooth convenu avec notre client.
Suivant le type de projet, s’il s’agit uniquement d’une application vouée à piloter un prototype pour des usages à vocation d’utilisation interne, nous communiquons l’application de façon privée. Dans le cas où il s’agit d’un objet commercialisé, nous nous occupons après avoir effectué une batterie de tests de publier l’application sur les principaux stores : Google Play et App Store en nous conformant aux exigences de ceux-ci.