Développement IoT



Présentation

Cette rubrique est consacrée aux exemples de développement concernant l'Internet des Objets (IoT : Internet of Things en anglais).

Le framework Firemonkey de Delphi dispose de tout le nécessaire pour utiliser les différents capteurs présents dans les objets connectés (smartphone, montres, lunettes...). En effet, plusieurs manières d'utiliser les capteurs sont fournies : utilisation de composants pour les principaux types de capteur (GPS, gyroscope, orientation...) ou des classes (thermomètre, baromètre...).

Le gros avantage des ces fonctionnalités est d'être une surcouche d'abstraction par rapport au matériel. Par exemple, vous poser un composant TLocationSensor et votre application accèdera aux informations GPS du périphérique quelque soit la marque du récepteur GPS et même de l'OS : sans modification du code, votre application tournera sous Android et sous IOS !

Il existe d'autres outils qui permettent de développer tels que Xamarin et QT mais par rapport à Delphi, Xamarin est loin derrière en terme de fonctionnalités et QT revient plus cher pour le même niveau de fonctionnalité.

Astrassyst



Astrassyst est un petit assistant pour astronome. Cette application permet :

  • d'afficher la date, l'heure locale, l'heure UTC et l'information "heure d'été/heure d'hiver".
  • d'allumer la torche si le périphérique en est équipé, pour se servir du téléphone comme d'une lampe de poche.
  • de faire une visionneuse rouge de votre téléphone pour les soirées d'observations astronomiques. L'écran du smartphone prend une teinte rouge afin de moins perturber les yeux lorsque l'on est en pleine soirée d'observation.
  • utilisation du récepteur GPS pour connaitre les coordonnées du site d'observation et régler sa monture.
  • si votre périphérique est équipé des capteurs adéquats, affichage de la température ambiante, de la pression atmosphérique et du taux d'humidité dans l'air. Ces informations sont nécessaires pour les comptes rendus d'observation.
  • D'utiliser le capteur d'orientation pour afficher une boussole et ainsi trouver le nord facilement.

D'un point de vue code, cet exemple montre également comment demander les permissions (pour activer la localisation et activer la caméra pour avoir accès au flash).
Il y a également une fonction permet d'empêcher le mobile de passer en veille.

Astrassyst est disponbile sur le Play store.



FMX Pong




FMX Pong est une reprise du célèbre jeu Pong. Il s'agit à la base d'un tutoriel pour le site Développez.

Quelques petits changements par rapport à la version originale : utilisation de la 3D, le palet du joueur se déplace dans une aire et pas seulement sur une ligne et possibilité d'utiliser le gyroscope si votre appareil (s'il en est équipé) pour déplacer le palet.

Ce jeu est multiplate-forme et open source. D'un point de vue développement, cet exemple vous permet :
  • d'appréhender des bases de la 3D
  • d'aborder les animations avec Firemonkey
  • d'avoir une petite gestion intelligence artificielle pour la gestion du palet géré par l'ordinateur
  • gestion du gyroscope
  • application de texture
  • lumière
Je ne dispose pas de périphérique sous IOS donc je n'ai pas de version IOS mais si vous avez Delphi et un appareil IOS, vous pourrez compiler le jeu IOS.

La version Android du jeu est disponible sur le Play Store, n'hésitez pas à y laisser un commentaire ;). De même pour le code source hébergé sur GitHub, n'hésitez pas à mettre une étoile !