La technologie Wi‑Fi (cf. chap. R3‑IV ) n'est pas la seule pour créer des réseaux sans‑fil d'équipement connectés. Il existe aussi notamment :

  • la technologie Bluetooth, qui est surtout adaptée aux réseaux personnels, d'une portée de l'ordre de 10 m maximum – on parle de WPAN W (pour wireless personnal area network) ;
  • les technologies ZigBee, Z-Wave, EnOcean… qui servent à développer des installations domotiques, dont l'étendue peut, par maillage (topologie mesh W), s'étendre à l'échelle d'un bâtiment.

Initialement, certaines de ces technologies étaient régies par la famille des normes IEEE 802.15 W mais la plupart sont maintenant gérées par des consortiums d'entreprises distincts – on parle d'alliances.

Au delà de leurs spécificités techniques, toutes ces technologies partagent certains aspects communs, comme :

  • d'opérer par ondes électromagnétiques dans les bandes de fréquences qui sont libre de droits , notamment autour de 2,4 GHz (comme en Wi‑Fi, cf. chap. R3‑IV ) ;
  • de viser une consommation énergétique des équipements aussi basse que possible, pour maximiser leur autonomie ;
  • d'employer des piles de protocoles spécifiques, différentes de TCP/IP – et c'est pourquoi ce chapitre dépasse largement le cadre la seule couche liaison du modèle OSI.

Depuis leur émergence au début des années 2000, les technologies WPAN et domotiques ont connu des développements importants pour plusieurs raisons :

  • la mobilité ; elle peut sembler accessoire pour un clavier ou une souris d'ordinateur, mais pour les équipements audio (enceinte connectée, casque…), sportifs ou autres (montres et bracelets connectés, télécommandes, kits « mains libres »…), c'est un aspect décisif ;
  • la facilité de liaison au sein du réseau ; même pour les équipements stationnaires, l'absence de câble à poser, tout particulièrement dans le domaine de la domotique est un avantage essentiel ;
  • enfin, la mise en réseau d'équipements communicants (chauffage, éclairage, système d'alarme, caméras…) permet surtout :
    • du contrôle à distance depuis une page web ou une application pour smartphone, ce qui est très positif pour l'expérience utilisateur ;
    • des scénarios de commande sur mesure en fonction de la présence des utilisateurs, des jours ouvrés ou non, de l'environnement, etc.

Ces développements participent à la « vague » de l'IoT W (Internet of Things) qui amène sur le réseau mondial une myriade d'équipements dans un nombre croissant de domaines : médical, industriel, bâtiment, transport…

Ainsi, il n'est pas rare que les box et équipements domotiques soient utilisées dans des locaux professionnels voire industriels, et non plus seulement pour les habitations. Avec cet « Internet 3.0 », d'autres protocoles émergent : MQTT, LoRaWan

Toutes ces technologies forment un ensemble complexe et divers, difficile à aborder pour un futur technicien en informatique. Et pourtant, il est indispensable d'en acquérir les concepts fondamentaux et les connaissances de base, car la demande en compétences est forte dans le monde professionnel. Il faut pouvoir procéder aux mises en œuvre usuelles, ou à défaut, de se former et s'adapter rapidement.

La technologie Bluetooth

Historique et évolution

Initiée dès 1994 par la société suédoise de télécommunications Ericsson, la technologie Bluetooth W (cf. l'article de Wikipedia pour l'origine du nom et du logo) n'a véritablement émergé qu'en 1999 avec la publication de la version 1.0 de sa norme et le développement des premières applications (téléphones portables).

Comme pour la technologie Wi‑Fi, Bluetooth est une marque (déposée) qui fédère un consortium d'entreprises, nommé le Bluetooth special interest group W (SIG, avec, parmi les pionnières, IBM, Intel, Nokia, Toshiba… qui ont été depuis rejointes par plus de 36000 partenaires). Ce consortium publie les normes Bluetooth – qui est un standard ouvert W – et définit les critères de certification des équipements.

Parmi les évolutions récentes de la norme, on peut citer :

  • la version 2.0, publiée en 2004, dont les exigences en débits sont compatibles avec les applications audio (baladeur MP3…) ;
  • la version 4.0, publiée en 2010, qui spécifie une basse consommation (Bluetooth low energie, abrégé LE) ; elle a été largement adoptée par les constructeurs ;
  • les versions 5.0, 5.1 et 5.2, publiées respectivement en 2016, janvier 2019 et décembre 2019 qui spécifient de nombreuses fonctionnalités pour l'IoT.

Quant à la norme initiale IEEE 802.15.1, elle n'est plus maintenue depuis 2005.

Caractéristiques générales

Bluetooth est une technologie de réseaux personnels sans‑fil (WPAN) à « faible » portée et faible consommation, qui opère dans la bande de fréquences comprises entre 2,402 et 2,480 GHz.

Cette technologie existe en deux déclinaisons  :

  • Bluetooth Classic (ou encore BR/EDR pour basic rate/enhanced data rate) qui offre des débits de  à 3 Mbits/s ;
  • Bluetooth Low Energie (LE) qui offre des débits de 125 kbits/s  à 2 Mbits/s avec une consommation électrique de 2 à 100  fois plus faibles qu'en Bluetooth classic.

Par ailleurs, les équipements Bluetooth sont étiquetés par classe, qui spécifie la puissance maximale d'émission exprimée en mW ou en dBm W) :

  • la classe 1 va jusqu'à 100 mW (+20 dBm), qui constitue la limite légale dans la bande 2,4 Ghz pour les communications ; dans cette gamme de puissances, la technologie Bluetooth perd son avantage de faible consommation et entre en concurrence avec la Wi‑Fi ; il y a donc peu d'équipements de classe 1, hormis pour des applications industrielles ;
  • la classe 2 va jusqu'à 2,5 mW (+4 dBm) ; elle offre un excellent compromis entre consommation électrique et portée et englobe la très grande majorité des équipements ;
  • la classe 3 fixe la limite à seulement 1 mW (+0 dBm) ; pour le moment, elle ne permet pas d'obtenir des performances de portée suffisantes pour les applications courantes ; rares sont donc les équipements de cette classe.

L'évaluation de la portée des équipements Bluetooth n'est pas facile à estimer car elle dépend de très nombreux facteurs (milieu intérieur ou extérieur, présence d'obstacles, gain des antennes émétrices et réceptrices…). Plutôt que de se fier aux ordres de grandeur usuels W qui sont très approximatifs, il est préférable de se reporter à l'estimateur en ligne proposé sur le site officiel .

Principales applications

La technologie Bluetooth est particulièrement adaptée  et principalement utilisée – pour relier à un système hôte (smartphone, ordinateur…) des périphériques de toutes sortes : clavier, souris, tablette graphique, enceinte portative, casque audio, montre connectée, bracelet de fitness…

Elle peut également être employée pour partager la connexion d'un smartphone à l'Internet via un réseau de téléphonie avec un autre équipement :

  • un ordinateur portable également équipée d'une carte Blutooth ;
  • l'ordinateur de bord d'un véhicule…

Bien souvent, les transferts de données peuvent être aussi volumineux et complexes (streaming, etc.) que sur un réseau informatique usuel. En revanche, les débits sont nettement plus faibles qu'en Wi‑Fi.

Topologies de réseaux

La technologie Bluetooth permet de relier des équipements selon deux topologies de réseaux, dont la plus courante est le pico-réseau W (piconet). Il est constitué d'un seul maître et de plusieurs esclaves – jusqu'à 7 actifs simultanément et 255 passifs (dits parked slaves) – qui ne peuvent communiquer qu'avec le maître.

C'est typiquement la topologie mise en place lorsqu'on apparie un smartphone avec divers accessoires : une montre connectée, des écouteurs sans‑fil…

Mais il existe aussi la topologie d'inter-réseaux W (scatternet – le verbe scatter signifiant « éparpiller »), formée de plusieurs pico-réseaux où certains esclaves dits ponts peuvent communiquer avec plusieurs maîtres et relayer des données entre eux.

Si les protocoles fondamentaux de la déclinaison classic n'ont pas été conçus pour cette topologie (ils n'ont pas les concepts de routage appropriés pour y gérer des communications avec des débits performants), il n'en va pas de même avec ceux de la technologie low eneregy. Cette évolution ouvre à la technologie Bluetooth le monde des réseaux de type mesh  qui constituent une composante essentielle de l'IoT .

Équipements matériels

Le plus souvent, la fonctionnalité Bluetooth d'un équipement est implémentée matériellement par l'association d'un circuit intégré de type ASSP W (application-specific standard product) et d'une antenne, cette dernière se réduisant à une piste sur circuit imprimé.

Cette solution rend la technologie à la fois miniature (très facile à embarquer dans toutes sortes d'appareils) et très économique.

En particulier, il n'est pas rare que cette fonctionnalité soit implémentée sur les cartes PCI Wi‑Fi pour ordinateurs fixes (cf. chap. R3‑IV ).

La technologie Bluetooth est également disponible par divers dispositifs raccordables comme :

  • les dongles W à connecteur USB ou jack 3,5 mm, avec toute une gamme de performances adaptées aux différents usages ; ces dispositifs sont bienvenus sur des machines disposant d'une connectique USB mais pas de la fonctionnalité Bluetooth (PC fixe, nano‑ordinateur Raspberry Pi, etc.) ;
  • les modules de prototypage, qui s'adaptent facilement aux cartes à microcontrôleur (Arduino, etc.) ; là encore, ces solutions sont utiles car il est rare que ces cartes intègrent la fonctionnalité Bluetooth.

La pile de protocoles  –  généralités

La technologie Bluetooth repose sur une pile de protocole spécifique, différente de TCP/IP. De plus, cette pile diffère selon la déclinaison classic ou low energy (ou encore la variante mesh) mise en œuvre.

Les piles de protocoles Bluetooth se décomposent en 8 couches en incluant l'application qui utilise la technologie pour communiquer. Comme dans le modèle OSI (cf. chap. R1‑IV ), ces couches sont présentées par ordre d'abstraction ascendant:

  • les couches basses étant prises en charge par les composants matériels (circuit, antenne), formant le « contrôleur » (rappelons qu'on parle de network interface controller dans la technologie Ethernet) ;
  • les couches hautes étant prises en charge par le système d'exploitation de l'équipement, considéré comme « hôte » du réseau.

Par ailleurs, certains équipements esclaves (casque, etc.) n'ayant pas de système d'exploitation (ils n'en ont pas besoin pour les tâches qu'ils accomplissent), donc c'est leur contrôleur Bluetooth qui gère la totalité des couches.

Les piles de protocoles Bluetooth sont évidemment complexes et il n'est pas raisonnable d'en faire ici une description détaillée (on peut y consacrer un livre entier). Comme point de départ pour un approfondissement, on pourra consulter cet article W.

Les technologies domotiques

Généralités

À l'aude des années 2000, dans la foulée de l'émergence des technologies Wi‑Fi et Bluetooth sont apparues d'autres technologies de WPAN, spécialement orientées vers les applications domotiques W (en anglais, home automation). Leurs concepteurs visaient :

  • une consommation énergétique des équipements bien plus faible qu'en Bluetooth, pour que les équipements puissent fonctionner sur batterie au moins une année sans nécessiter de maintenance ;
  • des coûts suffisamment bas pour constituer une offre grand public compétitive par rapport aux technologies usuelles (non domotiques) ;
  • des protocoles de communication nativement adaptés aux topologies de réseaux maillés (cf. ci‑après), permettant de s'affranchir de la faible portée individuelle de chaque équipement.

En revanche, ces technologies n'avaient initialement pas de fortes contraintes en termes de débits, puisque les données à transmettre étaient peu volumineuses (informations de capteurs, consignes de contrôle-commande, etc.). Mais la multiplication de dispositifs comme les caméras de vidéo-surveillance a peu à peu augmenté les exigences en débits…

Notion de box domotique

En règle générale, une installation domotique comporte un équipement qui assure la fonction de « centre névralgique », c'est‑à‑dire :

  • de gestion globale des scénarios de fonctionnement des équipements (programmation, lancements, compte‑rendus, statistiques…);
  • de passerelle avec le LAN domestique – et l'Internet – pour le contrôle à distance.

Devant fonctionner sans discontinuité, il est le plus souvent implémenté par un nano‑ordinateur dédié et on parle alors de box domotique (home automation system).

Comme souvent dans les applications informatiques grand public, il existe une offre variée de box domotiques sur le marché, avec des solutions :

  • principalement propriétaires – par exemple, Somfy Tahoma, Athom Homey, Eedomus, Fibaro Home Center… ;
  • ou encore associées aux enceintes connectées – par exemple, Amazon Echo Plus, Google Home… ;
  • et aussi open‑source, comme Jeedom ou Home Assistant qui seront détaillées infra .

Certaines solutions propriétaires sont néanmoins compatibles avec plusieurs gammes de modules et composants à format ouvert. Par exemple, la box Homey est capable de gérer de nombreux protocoles dont Bluetooth, ZigBee, Z‑Wave

En revanche, d'autres marques « historiques » comme la française Somfy ont initialement choisi une approche plus « fermée » pour privilégier leur propre écosystème de composants. Mais avec la diversité grandissante créée par la concurrence, une telle stratégie devient de moins en moins pertinente, et oblige à davantage d'ouverture .

Notion de réseau maillé domotique

Un réseau maillé W (mesh network) est un réseau d'équipements pouvant communiquer de proche en proche, et dont la topologie présente des boucles qui procurent une redondance sur certaines routes entre les équipements.

Dans le cas d'une installation domotique, la topologie maillée joue un rôle essentiel. Elle permet d'étendre le réseau sans‑fil bien au delà de la portée de la box. Pour y parvenir, un certain nombre de composants, en plus de leur fonction principale, assure celle de relais et routage des communications.

En règle générale, ces composants ont la particularité d'être raccordés à une source d'énergie permanente, – par exemple, une prise de courant, ampoule lumineuse, etc. En effet :

  • toutes proportions gardées, la fonction de la transmission de données est quand même un peu « énergivore » ; un composant fonctionnant exclusivement sur batterie verrait son autonomie grandement diminuée ;
  • en cas de rupture d'alimentation, ce composant ne pourrait plus accomplir sa rôle de relais, ce qui risquerait de rendre inopérant toute une partie du réseau.

En plus de la robustesse aux pannes qu'elle apporte, la redondance des routes que forme le maillage des nœuds permet de compenser la faiblesse des débits que chaque nœud peut individuellement supporter.

La technologie ZigBee

ZigBee W est une marque déposée de technologie de communication partiellement basée sur la norme IEEE 802.15.4. Elle est gérée par la Connectivity Standards Alliance  (historiquement, Zigbee Alliance) qui assure principalement le développement des protocoles et la certification des équipements.

À standard ouvert, elle est particulièrement bien adaptée aux installations domotiques, avec des équipements à très basse consommation et à très faible coût.

La technologie ZigBee est également utilisée dans d'autres domaine comme la production industrielle, le secteur de la santé (ZigBee Health Care), les liaisons radio à faible portée (télécommandes)…

Principales caractéristiques

La technologie ZigBee repose sur une pile de protocoles spécifique réputée peu complexe. Comme toutes les technologies similaires (Wi‑Fi, Bluetooth…), elle est en constante évolution depuis sa première version (publiée dès 2004). Néanmoins, on peut retenir les aspects généraux suivants :

  • l'exploitation de deux bandes de fréquences : 16 canaux autour de 2,4 GHz bien sûr  – car libre de droits – mais aussi une bande plus basse, selon la législation du pays – en Europe, 1 canal autour de 868 MHz, très peu sujet aux interférences et procurant une très bonne perméabilité des obstacles ;
  • des communications bidirectionnelles, qui permettent d'obtenir un retour d'état de n'importe quel équipement du réseau ;
  • un nombre de nœuds quasiment illimité (jusqu'à 65536 théoriquement) qui permet de construire des réseaux très complexes et fortement maillés ;
  • un nombre de sauts par communication limité à 10 au maximum (mais c'est une valeur très « honorable » au regard de la concurrence) ;
  • des implémentations matérielles principalement basées sur l'association d'un microcontrôleur et d'une antenne (cf. le module de prototypage Xbee 2,4 GHz en photo ci‑contre), avec une tension d'alimentation faible (typiquement, 3,3 V) et une consommation électrique minime (6,3 mW pour le module en photo) ;
  • en principe, les équipements non raccordés au réseau électrique doivent avoir une autonomie de l'ordre de une à deux années, selon leur degré de sollicitation ;
  • des débits théoriques de l'ordre de 250 kbits/s en 2,4 GHz à 20 kbits/s en 868 MHz ; ces faibles performances sont compensées par la simplicité des protocoles et la petite taille des données usuellement échangées (consignes, retours d'état, etc.) ;
  • une portée de l'ordre de 15 m en intérieur en 2,4 GHz.

Principaux fabricants et gammes de produits

Technologie pionnière en domotique, ZigBee a toujours eu un grand succès, notamment auprès des particuliers ayant un budget limité. La ZigBee Alliance revendique près de 300 millions de produits déployés dans le monde .

De nombreux fabricants développent des gammes de produits certifiés, parmi lesquels on peut citer les grandes marques Schneider Electric, Legrand, Somfy, Philips, Texas Instrument, Ikea… La variété des composants est grande – environ 3500 références, dont les exemples ci‑dessous ne forment qu'un tout petit échantillon, non représentatif.

Dans ces gammes de produits, on trouve en particulier les composants incontournables de la domotique :

  • des appareils pour tableaux électriques (disjoncteurs, contacteurs, etc.) ;
  • des appareils électriques (interrupteurs, prises de courant, relais de commande, etc.) à encastrer ou à brancher directement sur l'installation électriques (ampoules d'éclairage, hauts‑parleurs, etc.) ;
  • des capteurs de température, humidité, gaz, etc. 
  • des détecteurs de présence ou d'ouverture, des caméras, etc. ;
  • des composants spécialisés dans divers domaines techniques – régulation du chauffage, climatisation, piscine, etc.

Mais malgré la certification ZigBee, cette variété de composants n'est pas nécessairement interopérable d'un fabricant à l'autre, car les normes ZigBee n'ont pas toujours été suffisamment strictes. La ZigBee Alliance travaille depuis plusieurs années à améliorer ce point.

La technologie Z‑Wave

Z‑Wave W est une marque déposée de technologie de communication basée sur un standard partiellement propriétaire. Elle est gérée par la Z‑Wave Alliance  qui assure le développement des protocoles et la certification des équipements.

Elle est en concurrence directe avec la technologie ZigBee.

Une version améliorée nommée Z‑Wave+ a été mise au point en 2013, avec une amélioration significative de la mémoire embarquée dans les composants, de la portée des émetteurs-récepteurs radio de l'autonomie des équipements fonctionnant sur batterie.

Développée par l'entreprise Danoise Zensys, la marque Z‑Wave a bénéficié de partenariats et d'investissements de nombreuses entreprises (Danfoss, Ingersoll-Rand, Intel, Panasonic, Cisco…). Après plusieurs changements de main (Sigma Designs aux États‑Unis, Aeotec en Europe), Z‑Wave appartient depuis 2018 à l'entreprise américaine Silicon Labs W, qui est spécialisée dans la conception des microcontrôleurs, des puces dites SoCs W (system on chip) et plus généralement de l'IoT.

Principales caractéristiques et fonctionnement

La technologie Z‑Wave présente de nombreux points communs avec sa concurrente ZigBee (cf. supra ), mais aussi quelques différences qui peuvent avoir leur importance :

  • l'emploi d'une seule bande de fréquence, inférieure au GHz, qui dépend des pays selon la législation – 868 MHz en Europe, 908 MHz en Amérique du Nord, etc. W – avec à la clef des débits moindres (environ 40 kbits/s) mais une meilleure portée (environ 25 m en intérieur) ;
  • un nombre de nœuds limité à 232, ce qui reste néanmoins largement suffisant pour la quasi-totalité des applications domotiques ;
  • un nombre de sauts par communication limité à 4 au maximum (à comparer à la valeur 10 en ZigBee).

Pour plus de détails sur le fonctionnement de la technologie Z‑Wave, on pourra consulter ce lien .

Principaux fabricants et gammes de produits

Jusqu'à récemment, conformément à la « philosophie » d'une technologie propriétaire, les équipements certifiés Z‑Wave, quel que soit leur fabricant, devaient nécessairement incorporer une puce – typiquement, un microcontrôleur et une antenne – conçue et fabriquée pour le compte de l'entreprise détentrice de la marque (Zensys, Sigma Designs, Aeotec, Silicon Labs).

Si cette contrainte induit forcément un surcoût pour les équipements, elle n'a pas eu d'impact significatif sur la diversité des produits commercialisés. La Z‑Wave Alliance revendique actuellement plus de 3000 références , fabriqués par des grands noms de la domotique (Fibaro, Zipato, Aeotec… cf. la figure ci‑dessous).

Mais surtout, cette stratégie a garanti aux équipements Z‑Wave une excellente interopérabilité, quels que soient leurs fabricants – une qualité décisive qui fait justement défaut à la technologie ZigBee.

En revanche, la stratégie de développement propriétaire a constitué un handicap pour le rayonnement commercial de la marque Z‑Wave dans le domaine plus vaste de l'IoT et des partenariats potentiels avec les GAFA. Fin 2019, la Z‑Wave Alliance a donc officialisé sa décision de rendre ses protocoles ouverts . Autrement dit, les fabricants autre que Silicon Labs et ses partenaires pourront désormais, sous couvert d'un contrat avec ces derniers, produire des puces Z‑Wave et les intégrer directement aux équipements qu'ils commercialisent.

La technologie EnOcean

EnOcean W est une marque déposée de technologie de communication dite à captage d'énergie W (energy harvesting). Elle est basée sur un standard ouvert normalisé (ISO/CEI 14543‑3‑10).

Elle est gérée par la EnOcean Alliance  qui assure le développement des protocoles et la certification des équipements.

L'entreprise EnOcean est une filiale du groupe international Siemens, fondée en 2001. À travers son alliance, elle revendique plus de 400 partenaires.

Principales caractéristiques et fonctionnement

La technologie EnOcean présente une particularité essentielle qui la distingue de ses concurrentes : l'absence de pile électrique dans les équipements. Ces derniers sont auto-alimentés, au sens où ils puisent l'énergie nécessaire à leur fonctionnement et leur communication dans leur environnement par divers moyens (cellule photo-électrique, capteur piézo-électrique, module Peltier…) . Cette orientation diminue considérablement les besoins en maintenance des installations.

Par ailleurs, on peut noter les caractéristiques suivantes :

  • comme en Z‑Wave, l'emploi d'une seule bande de fréquence, inférieure au GHz (aux alentours de 900 MHz selon les pays) ;
  • des émissions de très faible puissance en cohérence avec le choix technologique d'auto‑alimentation des équipements, qui doivent donc consommer le moins possible d'énergie ;
  • un nombre de sauts par communication limité à 2 au maximum (à comparer à la valeur 10 en ZigBee).

Pour plus de détails sur l'utilisation de la technologie EnOcean, on pourra consulter ce lien .

Principaux fabricants et gammes de produits

Parce que la marque EnOcean est plus récente que ses concurrentes, elle dispose sur le marché de produits moins nombreux. Néanmoins, on trouve bien entendu la plupart des incontournables de la domotique cités supra  (cf. l'échantillon ci‑dessous qui, comme les précédents, n'est évidemment pas exhaustif).

Autres technologies de communication domotique

Hormis celles décrites supra, il existe bien d'autres technologies de communication employées domotique, notamment celles qui sont basées sur le standard RF 433 (pour radio‑frequency 433 MHz). C'est le protocole historique de communication par radio‑fréquences employé dans les systèmes de télécommande « d'extérieur » (notamment pour portails), pour lequel ont été de nombreux modules émetteurs et/ou récepteurs W.

Parmi les marques d'équipements à technologie RF 433, on peut citer :

  • l'équipementier électrique français Chacon et sa filiale domotique DiO qui propose une large gamme de produits communicants (prises électriques, interrupteurs, relais, etc.)  ;
  • la belge Edisio , également spécialisée dans l'automatisation et la domotique ;
  • la néerlandaise RFXCOM , spécialisée dans les émetteurs/récepteurs ;
  • l'américaine Oregon Scientific , spécialisée dans les stations météorologiques et les horloges connectées…

On peut également citer KNX, une marque de certification W développée par l'association éponyme  basée en Belgique (c'est une alliance). Initialement, KNX est un standard de communication normalisé (ISO/IEC 14543) et ouvert basé sur des transmissions filaires par bus pour le bâtiment.

Cette technologie a été conçue pour être mise en œuvre dans les grands locaux du secteur tertiaire, afin de mettre en place un contrôle centralisé de toutes les services techniques d'un bâtiment :

  • distribution électrique,
  • éclairage,
  • chauffage et climatisation,
  • contrôle de présence,
  • contrôle de présence,
  • etc.

Aujourd'hui, l'association KNX promeut des technologies diversifiées (CPL W, radio) dans tous les domaines d'application : domotique, industrie… Tous les grands équipementiers électriques proposent des produits certifiés KNX : ABB, Siemens, Schneider Electric, Legrand, Hager, etc.

La technologie de box domotique Jeedom

Jeedom est avant tout une technologie logicielle open‑source de box domotique développée sous la forme d'un serveur web par la start‑up française éponyme . Fondée en 2014, cette entreprise est membre de la Z‑Wave Alliance et de la EnOcean Alliance.

Avec quelques limites d'utilisation, elle peut être installée gratuitement sur diverses configurations matérielles, notamment une machine à système Linux Debian comme un nano‑ordinateur de type Raspberry Pi

Cette solution logicielle est également commercialisée dans des configurations matérielles prêtes à l'emploi .

En particulier, on peut citer la box domotique Jeedom Smart, qui est destinée au grand public (averti). Dans un boîtier métallique ad‑hoc, elle embarque une carte Odroid‑C2 W dotée d'une puce de stockage de masse EMMC W (embedded multi‑media card) et d'une antenne externe à grand gain (pour les communications Z‑Wave ou EnOcean).

La box Jeedom Smart dispose également d'un port micro USB‑C, de 4 ports USB 2.0, d'un port RJ45 (Ethernet 10/100/1000) et d'un port HDMI 2.0.

Elle est livrée nativement compatible avec au choix l'une des deux technologies Z‑Wave ou EnOcean. Et on peut aussi lui faire exploiter d'autres protocoles radio (Wi‑Fi, Bluetooth, ZigBee, RFXCOM…) par le biais de dongles USB dédiés.

Installation sur une carte Raspberry Pi

Sur une carte Raspberry Pi, on peut installer l'application Jeedom de deux façons (cf. la page web de référence ).

  • On peut procéder à partir de zéro, c'est‑à‑dire sur une carte MicroSD « vierge », avec une image  qui combine le système d'exploitation Raspberry Pi OS et l'application Jeedom.
  • La procédure est similaire à celle que pour l'installation d'un système d'exploitation, avec un logiciel dédié (Raspberry Imager) – cf. sujet de TP R2‑2 .
  • On peut aussi procéder dans un terminal de commandes en ligne sur une carte en service avec un système déjà installé, comme pour n'importe quelle application (cf. ci‑dessous). Attention, les versions les plus récentes de Raspberry Pi OS ne sont pas forcément compatibles avec l'application Jeedom : certains plugins peuvent poser des problèmes.
  • Cette deuxième solution est un peu plus longue mais elle présente l'avantage de pouvoir utiliser la carte pour d'autres applications.

Pour une carte en service avec un système Raspberry Pi OS déjà installé, il existe un script d'installation complet (à retrouver également au lien suivant ) qui gère l'installation et la mise à niveau éventuelle de tous les paquets nécessaires :

wget -O- https://raw.githubusercontent.com/jeedom/core/master/install/install.sh | sudo bash

Attention : cette installation est une procédure longue (plusieurs dizaines de minutes).

De plus, pour pouvoir employer cette implémentation de box dans le cadre d'un réseau domotique sans‑fil, on peut :

  • soit exploiter les dispositifs internes de la carte Raspberry Pi (Wi‑Fi et/ou Bluetooth) ;
  • soit recourir à un dongle USB pour une technologie spécifique, comme par exemple le contrôleur‑passerelle Z‑Wave en photo ci‑contre.

Contrôle d'une box Jeedom

Quelle que soit son implémentation matérielle, le contrôle d'une box Jeedom s'effectue par accès direct au serveur web qui la constitue, via un navigateur s'exécutant sur n'importe quel terminal disposant d'un écran suffisamment grand (ordinateur ou tablette).

La box doit donc être reliée à un LAN à pile de protocoles TCP/IP – typiquement soit par liaison câblée Ethernet, soit par Wi‑Fi – et se voir attribuer une adresse IP, qu'il est indispensable de déterminer pour s'y connecter initialement.

La connexion à la page web d'accueil de la box Jeedom s'effectue par le protocole http simple (non sécurisé) directement sur l'adresse IP attribuée à la box. Par la suite, il est possible d'obtenir auprès de l'entreprise Jeedom un nom de domaine.

Les identifiants de connexion par défaut et la marche à suivre sont indiqués sur cette page web de documentation du constructeur .

Le marché des plugins

Le contrôle d'un réseau domotique constitué autour d'une box Jeedom s'effectue par le biais de plugins logiciels à installer sur la box.

Les plugins sont accessibles via le Jeedom Market qui fonctionne comme une boutique d'applications pour smartphones, avec un compte utilisateur qu'il faut préalablement créer.

Techniquement, un plugin est un composant logiciel qui s'exécute en tâche de fond – en informatique, on parle de daemon W.

En interaction avec l'application domotique Jeedom via des API, un plugin fait l'objet de dépendances qui doivent être réactualisées à chaque mise à jour (cf. la capture d'écran ci‑dessous de la page d'accueil du plugin Z‑Wave illustré à titre d'exemple).

La capture d'écran ci‑dessous montre la page d'accueil du Jeedom Market, à la rubrique des plugins les plus populaires.

Beaucoup de plugins essentiels sont gratuits (cf. ci‑dessous). Il en va souvent de même de ceux qui sont associés aux équipements qu'on intègre au réseau. En effet, ces plugins sont inutiles sans les équipements qu'ils sont destinés à gérer, donc les fabricants qui développent leur propre plugin peuvent inclure leur coût de développement dans le prix des équipements et peuvent ensuite le fournir « gratuitement ».

Il y a néanmoins une exception notable : le plugin EnOcean est payant.

Une fois qu'un plugin payant est acheté via un compte Jeedom Market, il peut être installé/désinstallé à volonté sur n'importe quelle box Jeedom associée à ce compte.

Mise en place du réseau domotique

Avec une box Jeedom, la mise en place d'un réseau d'équipements domotiques comporte plusieurs étapes.

  1. On commence par une description architecturale et technique des locaux. Cette description procède par la déclaration d'une arborescence d'objets, chacun représentant une pièce ou une partie des locaux – étage, jardin, etc. L'arborescence est définie par les liens de parenté que l'utilisateur renseigne au fur et à mesure de la création des objets.
  2. Typiquement, on déclare un objet « maison » puis autant d'objets que l'habitation compte d'étages (« rez‑de‑chaussée », « 1er étage », etc.), chacun ayant pour parent l'« maison ». Puis, en suivant ce principe hiérarchique, pour chaque étage, on déclare ses différentes pièces (cf. TP R3‑2 ).

  3. Ensuite, on procède à l'intégration des équipements communicants s'effectue selon un mode opératoire qui dépend de la technologie choisie (ZigBee, Z‑Wave…) et passe nécessairement par son plugin associé.
  4. Tout composant Z‑Wave est à intégrer au réseau via le plugin Z‑Wave par une procédure d'inclusion spécifique. Ainsi, le contrôleur-passerelle amovible Aeotec Z‑Stick possède une batterie interne qui lui permet d'être momentanément débranché de la box pour aller inclure (ou exclure) les composants à n'importe quelle distance de la box. La procédure d'inclusion consiste en un protocole d'échange de données avec le contrôleur ; elle est déclenchée par une séquence d'appuis sur des boutons‑poussoirs (sur le contrôleur et sur le composant).

    Après cette séquence, le contrôleur doit être rebranché sur la box et une procédure de synchronisation plus ou moins complexe doit être mise en œuvre pour que le composant soit intégré au réseau Z‑Wave.

    Lors de leur intégration, les équipements peuvent être associés à des objets déclarés, ainsi qu'à des catégories transversales prédéfinies (« éclairage », « chauffage », etc.) pour permettre ensuite de les contrôler par groupes (par exemple, éteindre simultanément toutes les lumières d'un étage).
    Par ailleurs, chaque équipement est associé à des commandes spécifiques qui sont accessibles via une page web. On y trouve des boutons à cliquer pour tester et paramétrer ces commandes.
  5. La programmation de scénarios pour automatiser le fonctionnement des équipements, les surveiller et les contrôler à distance. Ces scénarios sont codés sous formes de séquences de blocs incluant des structures de contrôle (SI/SINON, TANT QUE, etc.), des informations issues des équipements (états, paramètres, variables) et des actions sur les équipements. Il est également possible de faire intervenir des aspects temporels (durées, actions périodiques, déclenchées à une date précise, etc.).
  6. Enfin, la mise en place du panneau de contrôle (dashboard) est quasiment automatique dans la mesure où il suffit, pour chaque équipement ou scénario, de cocher la case « visible » pour faire apparaître un widget approprié sur le panneau. Ensuite, il est évidemment possible d'arranger la disposition des widgets et de modifier leur apparence.

La technologie Home Assistant

Initialement, Home Assistant W est un logiciel de box domotique libre de droits (licence Apache 2.0) et open‑source – donc, sans limites d'utilisation. Développé depuis 2013 par l'informaticien néerlandais Paulus Schoutsen, il peut être installé et utilisé gratuitement sur diverses machines à système d'exploitation, notamment un nano‑ordinateur (Raspberry Pi, etc.).

Procédant via une interface web ou une application pour smartphone, Home Assistant offre une très grande compatibilité d'intégration avec la quasi‑totalité des technologies domotiques (Wi‑Fi, Bluetooth, ZigBee, Z‑Wave, EnOcean, KNX, etc.) et des fournisseurs de services (Google Assistant, Amazon Alexa, Apple HomeKit, etc.).

Pour vivre économiquement de sa création, Paulus Schoutsen a fondé en 2018 l'entreprise Nabu Casa  (dont le nom fait référence au dieu mésopotamien Nabû W et au nom commun latin casa pour « maison »), maintenant basée en Californie. Pour assurer le maintien et développement des solutions logicielles Home Assistant, elle commercialise à destination du « grand public » :

  • principalement des services dématérialisés pour la domotique – Home Assistant cloud ;
  • mais aussi des solutions matérielles de box domotique – notamment la Home Assistant Yellow  (avec un module Raspberry Pi CM4 et un module radio ZigBee intégrés).

Autres technologies de l'IoT

Le protocole MQTT

MQTT W – pour message queuing telemetry transport – est un protocole applicatif (couche nº 7 du modèle OSI) de messagerie basé sur le principe de publication-abonnement .

Il est principalement mis en œuvre sur les réseaux à pile TCP/IP sur le port 1883. Il peut également opérer sur des piles de protocoles fiables à liaisons bidirectionnelles comme celle de la technologie Bluetooth.

Inventé en 1999 pour la surveillance d'oléoducs, le protocole MQTT est conçu pour le partage de données en faibles volumes. Léger, rapide, avec une qualité de service paramétrable, il est particulièrement bien adapté à l'exploitation des objets connectés qui ne disposent que d'une architecture matérielle réduite (microcontrôleur), d'une liaison au réseau à bas débit et d'une alimentation électrique limitée – typiquement, des capteurs, d'où le terme « telemetry ». Aujourd'hui, il trouve son utilisé pour toutes sortes d'applications de l'IoT.

C'est un protocole ouvert et normalisé (ISO/IEC 20922) dont le développement et la promotion sont assurés depuis 2013 par l'organisation OASIS W (organization for the advancement of structured information standards), un consortium de plus de 3000 entreprises parmi lesquels de nombreuses majors .

La version 5 de MQTT a été publiée en 2019. Toutes les spécifications sont en libre accès sur le site dédié à ce protocole .

En pratique, il existe de nombreuses implémentations du protocole MQTT, la plupart étant open‑source W.

Principe général de fonctionnement

Le protocole MQTT  est basé une architecture logicielle centralisée autour d'une application appelée broker W (« courtier » en français) auprès de laquelle des clients peuvent souscrire à des services de publication (publish) et d'abonnement (subscribeW.

Toute souscription de publication sur le broker constitue un topic (« thème » en français) qui alors peut faire l'objet d'abonnements par divers clients. Et on peut aussi avoir plusieurs clients qui publient dans le même topic.

Soulignons que dans cette architecture logicielle :

  • l'application broker est unique ; usuellement, elle s'exécute sur une machine de type serveur, éventuellement un nano‑ordinateur – typiquement, une carte Raspberry Pi ;
  • les clients sont multiples ; usuellement, il s'agit de systèmes à microcontrôleur, éventuellement d'un nano‑ordinateur, sachant que le broker lui‑même peut aussi héberger des clients.

Par défaut, le protocole MQTT opère sur le port n° 1883 (8883 s'il est opéré via la couche sécurisée TLS).

Contrairement à ce que laisse penser son sigle, le protocole MQTT ne met pas en œuvre de mécanisme de queue (file d'attente) W.

Identification des topics

Un topic est désigné sur le broker par un identifiant hiérarchisé (comme un chemin dans une arborescence de fichiers UNIX), constitué de segments séparés par le symbole /. Ce principe permet de souscrire à un abonnement sur tout ou partie d'un ensemble de topics.

L'ensemble des topics sur un broker forment donc une arborescence.

En domotique, on peut indiquer la localisation de l'équipement qui le publie et la nature des données publiées. Ainsi, pour des capteurs répartis dans une habitation, on pourrait avoir les différents topics :

maison/rez-de-chaussee/cuisine/temperature
maison/rez-de-chaussee/cuisine/humidite
maison/rez-de-chaussee/salon/temperature
maison/etage/chambre/temperature
maison/etage/salle-de-bain/temperature
maison/etage/salle-de-bain/humidite
garage/temperature
garage/presence
…

Avec un smartphone, moyennant l'installation d'une application de client MQTT, on peut alors s'abonner par exemple :

  • au topic cuisine et ainsi obtenir les données publiées par les capteurs de température et d'humidité de cette pièce ;
  • au topic temperature et obtenir les mesures les données publiées par les capteurs de température de toutes les pièces.

L'implémentation Mosquitto

Parmi les implémentations du protocole MQTT, on peut notamment citer Mosquitto , développée par la fondation Eclipse W.

Libre de droits et open‑source, cette implémentation permet d'exécuter aussi bien un broker qu'un client sur n'importe quel ordinateur (poste de travail, serveur, nano‑ordinateur). La page générale de téléchargement est données au lien suivant .

Sur une machine à système Linux Debian ou apparentée (Raspberry Pi OS, Ubuntu, Mint…), la procédure de mise en œuvre est la suivante.

  • Installer les paquets mosquitto et mosquitto-clients :
  • 	
    sudo apt install -y mosquitto mosquitto-clients
    Une fois que ces paquets sont installés, on peut vérifier la version installée de Mosquitto via la commande :
    	
    sudo mosquitto -v
  • Créer et éditer un fichier de configuration utilisateur de l'application mosquitto :
  • 	
    sudo nano /etc/mosquitto/conf.d/mosquitto.conf
    Pour permettre les échanges de messages entre le broker et des clients externes sans authentification, copier/coller dans ce fichier les lignes ci‑dessous :
    listener 1883 0.0.0.0
    allow_anonymous true
    
    puis sauver ces modifications (Ctrl-S) et quitter l'édition (Ctrl-X).
  • Pour lancer l'application mosquitto automatiquement en tâche de fond au démarrage de la machine, saisir la commande :
  • 	
    sudo systemctl enable mosquitto.service
    Le service peut alors être inspecté | désactivé | réactivé respectivement par les commandes :
    	
    sudo service mosquitto status | stop | start
  • L'emploi du protocole MQTT pour communiquer s'effectue alors ainsi :
    • Pour s'abonner à un topic, il suffit de saisir la commande :
    • 		
      mosquitto_sub -ttopic name
    • Pour publier un message sur un topic donné, il suffit de saisir la commande :
    • 		
      mosquitto_pub -t topic name -m "message content"
    On peut tester ces deux commandes en les exécutant respectivement sur deux terminaux différents s'exécutant sur la même machine où l'application Mosquitto a été installée.

Le module de bibliothèque PubSubClient du framework Arduino

Dans le framework Arduino, on trouve le module de bibliothèque PubSubClient A qui permet d'implémenter un client MQTT sur une carte à microcontrôleur compatible avec le framework et disposant d'un accès réseau – shield Ethernet, carte à SoC Wi‑Fi ESP8266 ou ESP32 (cf. chap. C1‑III ).

Dans le module PubSubClient, on dispose des éléments de code suivants.

  • Il y a avant tout la classe PubSubClient est une fille de la classe Print (cf. chap. C3‑X ). Toutes les fonctions du module sont des méthodes de cette classe
  • Dans le code source d'un programme, il est nécessaire de déclarer une instance (objet) de cette classe pour mettre en œuvre un client MQTT.
  • Ensuite, on trouve des méthodes de paramétrage de l'objet déclaré, notamment :
    • setServer, qui permet de déterminer le broker ; elle prend deux arguments :
      • l'adresse IP de la machine sur laquelle s'exécute le broker ;
      • le n° de port logiciel sur lequel les messages sont émis et reçus ;
    • setCallback, qui permet de déterminer la fonction de callback  à appeler lorsqu'un message est reçu ; elle prend pour argument l'identificateur de cette fonction.
  • Puis on a la méthode de connexion au broker, nommée connect. En mode de connexion anonyme, elle prend simplement pour argument une chaîne de caractères qui permet d'identifier le client qui tente une connexion.
  • Enfin, on a les méthodes de publication et d'abonnement :
    • subscribe, qui prend comme argument une chaîne de caractères – l'identificateur du topic sur lequel porte l'abonnement ;
    • publish qui prend 3 arguments :
      • une chaîne de caractères – l'identificateur du topic sur lequel porte la publication ;
      • un tableau d'octets qui constitue la charge utile – dite payload – du message ;
      • un entier non signé qui code la longueur de la charge utile en octets.

Pour plus de détails sur ces éléments de code, on peut consulter cette page web de documentation  et le code source du module au lien suivant G.

L'outil de développement Node‑RED

Node‑RED W est une application de développement ouvert et gratuit et qui permet de créer facilement des pages web d'interface homme‑machine. Il est particulièrement bienvenue pour l'Internet des objets – et notamment en complément d'un broker MQTT.

Il emploie un langage de programmation graphique dit low‑code W et flow‑based W qui exprime des liaisons d'entrées‑sorties entre des entités appelées nœuds (nodes).

Node‑RED a été créé dans le courant des années 2010 par l'entreprise IBM W et instituée dès 2016 comme un projet par la OpenJS Fondation W. Codé en langage JavaScript, il s'exécute en tâche de fond grâce à la plate‑forme Node.js (cf. chap. R2‑IV ).

Multi‑plateforme, il peut s'installer sur n'importe quelle machine informatique équipé d'un système d'exploitation Linux ou Windows. En particulier, il fonctionne très bien sur les nano‑ordinateur du type Raspberry Pi, même avec un système sans bureau puisque l'interface de développement est elle‑même une page web.

Après avoir installé sur la carte les paquets nécessaires , il suffit d'ouvrir, sur un poste de travail relié au même réseau, une page web de développement dans un navigateur en ciblant l'adresse IP de la carte et le port n° 1880.

Installation sur machine Linux

La procédure d'installation de l'application Node‑RED sur une machine requiert l'installation préalable d'autres composants logiciels : Node.js et npm (cf. chap. R2‑IV ). On trouve le détail de procédure au lien suivant .

Pour une carte Raspberry Pi, il existe un script d'installation complet (à retrouver également au lien suivant ) qui gère l'installation et la mise à niveau éventuelle de tous les paquets nécessaires :

bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)

en répondant deux fois y pour approuver la suppression de l'éventuelle ancienne version de Node‑RED et l'installation des nœuds spécifiques pour carte Raspberry Pi.

La procédure dure quelques minutes avec un affichage dynamique dans la fenêtre du terminal. Ensuite, on peut exécuter le script de paramétrage suivant :

node-red admin init
Node-RED Settings File initialisation =====================================
This tool will help you create a Node-RED settings file. Settings file · /home/pi/.node-red/settings.js
User Security =============
Do you want to setup user security? · Yes Username · pi Password · ********** User permissions · full access Add another user? · No
Projects ========
The Projects feature allows you to version control your flow using a local git repository. Do you want to enable the Projects feature? · No
Flow File settings ==================
Enter a name for your flows file · flows.json Provide a passphrase to encrypt your credentials file · ************************************
Editor settings ===============
Select a theme for the editor. To use any theme other than "default", you will need to install @node-red-contrib-themes/theme-collection in your Node-RED user directory. · default Select the text editor component to use in the Node-RED Editor · monaco (default)
Node settings =============
Allow Function nodes to load external modules? (functionExternalModules) · Yes
Settings file written to /home/pi/.node-red/settings.js To use the 'dark' editor theme, remember to install @node-red-contrib-themes/theme-collection in your Node-RED user directory

Après cette installation, pour démarrer l'application Node‑RED en tâche de fond, il suffit de saisir la commandes node-red-start. Alors, la séquence Ctrlc ou la fermeture du terminal ne met pas fin au processus. Pour cela, il faut saisir la commandes node-red-stop. De plus :

  • après la séquence Ctrlc, pour reprendre l'affichage du journal, il suffit de ressaisir la commande node-red-log ;
  • pour lancer l'application au démarrage du système, il faut saisir la commande :
  • sudo systemctl enable nodered.service

Principes de mise en œuvre

Après l'installation et le paramétrage de l'application Node‑RED, on accède à son interface de développement en saisissant dans la barre d'adresse d'un navigateur sur n'importe quel poste de travail du réseau, via une URL de la forme :
http://adresse IP:1880

Comme pour une box domotique, l'interface de développement de Node‑RED est très riche et modulaire. On y trouve :

  • un espace de travail central, qui peut accueillir plusieurs flows (onglet) – chacun constituant le code source d'une page web ;
  • à gauche, une panneau regroupant de nombreuses palettes de nœuds qui peuvent s'insérer dans l'espace de travail ;
  • à droite, un panneau de paramétrage des nœuds ; il comporte plusieurs onglets – information, aide, configuration, etc. –  qui chacun peut être sélectionné via le bouton en haut à droite du panneau ;
  • et dans la barre supérieure de la fenêtre :
    • un bouton d'accès au menu principal de l'utilisateur ;
    • un bouton de déploiement qui permet de compiler les changements codés dans l'espace de travail pour les déployer sur la page web d'interface correspondant au flow.

Par défaut, les palettes de nœuds sont installées en nombre réduit, mais il est possible d'en importer via le menu principal Manage palette. S'ouvre alors un volet latéral droit User Settings avec trois rubriques (cf. la capture d'écran ci‑contre).

Dans la rubrique Palette et son onglet Install on peut rechercher d'autres palettes existantes et les installer dans l'interface. Parmi les palettes importantes, on peut notamment citer node-red-dashboard qui permet de déployer des éléments indispensables à toute interface homme‑machine : bouton, interrupteur, jauge, etc.

Pour plus de détails sur la procédure, on pourra consulter le lien suivant . Et pour trouver la documentation sur toutes les palettes existantes, on dispose d'une page web dédiée .

C'est aussi via ce volet latéral que l'on peut trouver effectuer divers paramétrages généraux.

  • Dans la rubrique View, on peut notamment paramétrer la grille de fond de plan de l'espace de travail.
  • Dans la rubrique Keyboard, on peut définir tous les raccourcis clavier des commandes de l'application.

Comme avec la plupart des applications à interface graphique, la prise en main est très intuitive.

  • on place des nœuds sur l'espace de travail par glisser‑déposer depuis le panneau latéral des palettes ;
  • on établie une liaisons entre deux nœuds par cliquer‑tirer entre les connecteurs respectifs de ces nœuds ;
  • on accède au paramétrage d'un nœud en par double‑clic sur ce dernier, ce qui ouvre un volet latéral droit avec des champs à saisir.

La sauvegarde des modifications est automatique. Les flows sont mémorisés dans un fichier dont le chemin d'accès est typiquement :
~/.node-red/flows.json

Une fois le paramétrage terminé, il suffit de cliquer sur le bouton Deploy pour compiler le code de la page web d'interface utilisateur.

Page d'interface homme‑machine

La page web d'interface utilisateur (user interface, abrégée UI) codée par la structure et le paramétrage des nœuds dans l'interface de développement est accessible avec n'importe quel navigateur s'exécutant sur n'importe quelle machine du réseau, via une URL de la forme :
http://adresse IP:1880/ui

Lorsqu'un flow met en œuvres des nœuds d'une palette Dashboard, des éléments apparaissent sur la page web d'interface utilisateur. Ils sont disposés en zones appelées ui_groups qui elles‑même se divisent horizontalement en « blocs » appelés tabs, comme indiqué sur la capture d'écran ci‑dessous donnée pour exemple.

Approfondissements

Node‑RED est un outil de développement low‑code très puissant, mais pour un codeur « traditionnel », il n'est pas si facile de l'utiliser intuitivement. En effet :

  • La panoplie des nœuds est immense et chacun nécessite un paramétrage spécifique.
  • La logique de fonctionnement des nœuds n'est pas celle des instructions d'un programme séquentiel en langage impératif. Elle correspond davantage à celle d'un programme parallèle temps‑réel.

Il peut être donc difficile de comprendre du premier coup pourquoi choisir tel ou tel nœud à employer et comment les relier entre eux pour obtenir le comportement voulu. Pour ne pas rester longtemps bloqué, il est vivement recommandé de suivre des tutoriels. Dans cette perspective, on peut recommander cette série de vidéos très courtes (quelques minutes chacune) Y.