Internet des objets - Contiki

Contiki est un système d'exploitation pour l'IoT qui cible spécifiquement les petits appareils IoT avec une mémoire, une puissance, une bande passante et une puissance de traitement limitées. Il utilise un design minimaliste tout en intégrant les outils communs des systèmes d'exploitation modernes. Il fournit des fonctionnalités pour la gestion des programmes, des processus, des ressources, de la mémoire et de la communication.

Il doit sa popularité à sa légèreté (selon les normes modernes), sa maturité et sa flexibilité. De nombreux universitaires, chercheurs en organisation et professionnels le considèrent comme un système d'exploitation incontournable. Contiki ne nécessite que quelques kilo-octets pour s'exécuter, et dans un espace de moins de 30 Ko, il s'adapte à l'ensemble de son système d'exploitation - un navigateur Web, un serveur Web, une calculatrice, un shell, un client et démon telnet, un client de messagerie, un visualiseur vnc et ftp. Il emprunte aux systèmes d'exploitation et aux stratégies de développement d'il y a des décennies, qui exploitaient facilement un espace tout aussi petit.

Communication Contiki

Contiki prend en charge les protocoles standard et les protocoles d'activation récents pour l'IoT -

  • uIP (for IPv4) - Cette implémentation TCP / IP prend en charge les microcontrôleurs 8 bits et 16 bits.

  • uIPv6 (for IPv6) - Il s'agit d'une extension IPv6 entièrement conforme à uIP.

  • Rime- Cette pile alternative fournit une solution lorsque IPv4 ou IPv6 s'avèrent prohibitifs. Il propose un ensemble de primitives pour les systèmes de faible puissance.

  • 6LoWPAN- Cela signifie IPv6 sur les réseaux personnels sans fil de faible puissance. Il fournit une technologie de compression pour prendre en charge le faible débit de données sans fil requis par les appareils aux ressources limitées.

  • RPL - Ce protocole IPv6 à vecteur de distance pour les LLN (réseaux à faible puissance et avec perte) permet de trouver le meilleur chemin possible dans un réseau complexe d'appareils aux capacités variées.

  • CoAP - Ce protocole prend en charge la communication pour les appareils simples, généralement les appareils nécessitant une supervision à distance intensive.

Chargement du module dynamique

Le chargement et la liaison dynamiques des modules au moment de l'exécution prennent en charge les environnements dans lesquels le comportement des applications change après le déploiement. Le chargeur de module de Contiki charge, déplace et lie les fichiers ELF.

Le simulateur de réseau Cooja

Cooja, le simulateur de réseau Contiki, génère un système Contiki compilé et fonctionnel, contrôlé par Cooja.

L'utilisation de Cooja s'avère simple. Créez simplement un nouveau type de mote en sélectionnant leMotes menu et Add Motes → Create New Mote Type. Dans la boîte de dialogue qui apparaît, vous choisissez un nom pour le mote, sélectionnez son firmware et testez sa compilation.

Après la création, ajoutez des motes en cliquant Create. Un nouveau type de mote apparaîtra auquel vous pouvez attacher des nœuds. La dernière étape consiste à enregistrer votre fichier de simulation pour une utilisation future.