1.1 Définition des concepts
1.1.1 Qu’est-ce qu’un objet connecté ?
Après les objets intelligents, nous créons maintenant des objets connectés. Non seulement ceux-ci vont profiter de l’intelligence informatique, mais aussi d’une connexion à internet, ou à un réseau domestique. Cela permet entre autres de contrôler ces objets ou de les surveiller à l’aide d’un téléphone intelligent.
Figure 1 – Objets connectés
Le tableau suivant présente l’évolution des objets analogiques en objets intelligents puis en objets connectés à l’aide d’un exemple.
Objet analogique | Objet intelligent | Objet connecté |
---|---|---|
Le thermostat analogique permet seulement de choisir une température. Il ne nécessite aucune programmation informatique et n’est pas connecté au réseau. | Le thermostat programmable permet de choisir différentes températures pour différentes périodes de la journée, par exemple pour chauffer moins la nuit ou durant les heures où l’on est absent de la maison. Celui-ci contient un programme informatique pour traiter les données de l’horaire entré et contrôler le chauffage en conséquence, mais il n’est toujours pas connecté au réseau. | Le thermostat connecté permet lui aussi de choisir l’horaire de chauffage, mais en plus, sa connexion au réseau permet d’utiliser un téléphone pour le programmer et pour en consulter les données à distance. Cette connexion au réseau permet aussi de profiter de fonctions et de données supplémentaires que le téléphone peut fournir, comme les coordonnées GPS, qui permettent d’activer ou de désactiver le chauffage automatiquement selon la proximité des habitants. |
En général, les objets connectés sont conçus pour servir à un but spécifique. Ils doivent être relativement simples et peu coûteux. Ils sont généralement petits, efficaces et rapides.
Ces objets connectés peuvent donc nous amener utilité et confort à moindre coût. Ils visent à augmenter notre autonomie et notre indépendance, tout en nous permettant de rester connectés les uns aux autres. Des exemples courants sont le thermostat, la montre, le système de navigation et les cartes à puces.
Figure 2 — Exemples d’objets connectés
Voici des contre-exemples. Un téléphone intelligent n’est pas considéré comme un objet connecté car il est complexe, coûteux et sert à faire beaucoup de choses. Une cafetière programmable pourrait être considérée comme un objet intelligent, mais si elle n’est pas reliée à Internet, ce n’est pas un objet connecté.
On peut donc conclure qu’un objet connecté est un objet de la vie courante qui permet de faire quelque chose d’une façon plus efficace et plus personnalisée grâce à la programmation et à l’interaction avec d’autres éléments connectés au réseau.
1.1.2 Champs d’applications
Avec tous les objets connectés, on parle aussi de l’Internet des objets. Celui-ci fait référence au fait que toutes sortes d’objets sont maintenant connectés à Internet et disponibles pour y échanger des données. Il y en a dans différents champs d’applications. On y trouve des vêtements et des accessoires qui peuvent soit nous faciliter la vie, soit nous projeter dans une réalité augmentée. Ensuite, il y a des appareils électroménagers et de domotique, augmentant le confort et la sécurité de nos maisons. Suivent les systèmes des voitures qui sont de plus en plus sécuritaires et autonomes. Finalement, des objets connectés peuvent aussi avoir des applications industrielles ou même au niveau des villes.
Figure 3 — Applications des objets connectés ou isolement social
1.1.3 Processus de développement
Les objets connectés sont assez complexes à développer, entre autres à cause du matériel nécessaire. Le processus peut être découpé en étapes : conception, prototypage, production, déploiement, monitorage et maintenance. Tout au long de ces étapes, la sécurité et les tests doivent aussi être pris en compte.
Figure 4 — Cycle de vie des objets connectés
1.1.4 Matériel nécessaire
Pour créer des objets connectés, il faut inclure au minimum un microcontrôleur et une connexion réseau. On ajoutera aussi généralement des entrées et des sorties, c’est-à-dire des capteurs et des actuateurs. Des exemples de capteurs sont des boutons, des interrupteurs, des micros, des caméras, des détecteurs de mouvements ou de lumières, des potentiomètres, des pavés, des claviers tactiles, etc. Des exemples d’actuateurs sont des diodes électroluminescentes (DEL), des haut-parleurs, des moteurs, des écrans, et bien plus encore. On peut aussi utiliser toutes sortes d’autres composants, plus ou moins complexes, comme des puces électroniques propriétaires (IP chips) ou réinscriptibles (FPGA), et des cartes d’extension, comme les shields pour Arduino et les hats pour le Raspberry Pi, selon l’objet. Plusieurs composants utilisent différents protocoles pour communiquer avec le microcontrôleur, que ce soit ICSP, UART, SPI ou I2C. Ces protocoles influenceront la manière de connecter et d’utiliser les composants.
Figure 5 — Matériel pour objets connectés
Des cartes de développement comme Arduino et Raspberry Pi intègrent déjà un microcontrôleur et des capacités d’entrées/sorties. Celles-ci facilitent le développement d’objets connectés.
Figure 6 — Arduino Imik tech, Arduino-uno, CC BY-SA 4.0
Figure 7 — Raspberry Pi Michael Henzler, Wikimedia Commons, CC BY-SA 4.0
Pour l’apprentissage, la conception et le prototypage, nous pouvons aussi utiliser des simulateurs, comme le simulateur de circuits Tinkercad d’Autodesk qui permet de connecter des composants sur un Arduino dans un environnement de simulation, de les programmer et d’en observer les comportements. Withcode a aussi un simulateur pour le port GPIO (General-Purpose Input/Output) du Raspberry Pi. Celui-ci est utile pour développer et tester nos programmes car il permet d’observer l’état des sorties et de contrôler les entrées. Finalement, l’environnement de simulation Cisco Packet Tracer permet de simuler les interactions d’objets connectés à l’intérieur d’un environnement réseau. Bien que ce dernier n’ait pas été retenu et ne sera pas présenté davantage dans ce manuel, il peut être utilisé pour la majorité des exercices. Il permet de simuler des connexions de composants électroniques en prenant des raccourcis. De plus, il l’avantage d’être le seul à pouvoir simuler les interactions avec le réseau. Cependant, des licences sont nécessaires pour l’utiliser.
1.1.5 Langages de programmation
Comme les objets connectés intègrent l’intelligence informatique, on doit les programmer. La carte Arduino ne comprend que le langage machine, donc on doit utiliser un langage qui pourra être compilé, comme C ou C++. Le Raspberry Pi, quant à lui, possède un système d’exploitation et permet plus d’options et de facilité de programmation. Entre autres, il permet l’utilisation de langages interprétés, comme Python.
1.1.6 Connexion avec le réseau
Pour passer d’un objet intelligent à un objet connecté, il doit y avoir une connexion avec un réseau. Cela permet à l’objet d’accéder à de grands volumes de données externes et d’utiliser de puissants serveurs pour augmenter son efficacité. Ça permet aussi à l’objet d’envoyer ses données à d’autres objets ou de les partager sur un serveur, ou de recevoir des commandes ou des demandes provenant d’autres objets ou d’autres éléments aussi connectés au réseau.
Figure 8 — Connexion des objets avec le réseau
Les objets connectés peuvent être reliés à différents types de réseau, que ce soit Internet, un réseau local ou un réseau sans fil ad hoc. De plus, les objets peuvent utiliser différents protocoles pour communiquer avec le réseau, par exemple HTTP, MQTT, Z-Wave ou ZigBee.