Internet of Things - Contiki

Contiki è un sistema operativo per IoT che si rivolge specificamente a piccoli dispositivi IoT con memoria, potenza, larghezza di banda e potenza di elaborazione limitate. Utilizza un design minimalista pur mantenendo gli strumenti comuni dei sistemi operativi moderni. Fornisce funzionalità per la gestione di programmi, processi, risorse, memoria e comunicazione.

Deve la sua popolarità all'essere molto leggero (per gli standard moderni), maturo e flessibile. Molti accademici, ricercatori di organizzazioni e professionisti lo considerano un sistema operativo di riferimento. Contiki richiede solo pochi kilobyte per essere eseguito e, in uno spazio inferiore a 30 KB, si adatta all'intero sistema operativo: browser Web, server Web, calcolatrice, shell, client telnet e daemon, client di posta elettronica, visualizzatore vnc e ftp. Prende in prestito dai sistemi operativi e dalle strategie di sviluppo di decenni fa, che sfruttavano facilmente spazi altrettanto piccoli.

Contiki Communication

Contiki supporta protocolli standard e protocolli di abilitazione recenti per IoT -

  • uIP (for IPv4) - Questa implementazione TCP / IP supporta microcontrollori a 8 bit e 16 bit.

  • uIPv6 (for IPv6) - Questa è un'estensione IPv6 completamente conforme a uIP.

  • Rime- Questo stack alternativo fornisce una soluzione quando IPv4 o IPv6 si dimostrano proibitivi. Offre una serie di primitive per sistemi a bassa potenza.

  • 6LoWPAN- Questo sta per IPv6 su reti personali wireless a bassa potenza. Fornisce una tecnologia di compressione per supportare la bassa velocità di trasmissione dati necessaria per i dispositivi con risorse limitate.

  • RPL - Questo protocollo IPv6 a vettore di distanza per LLN (reti a bassa potenza e con perdite) consente di trovare il miglior percorso possibile in una rete complessa di dispositivi con capacità diverse.

  • CoAP - Questo protocollo supporta la comunicazione per dispositivi semplici, tipicamente dispositivi che richiedono una supervisione remota pesante.

Caricamento dinamico del modulo

Il caricamento e il collegamento dinamico del modulo in fase di esecuzione supporta ambienti in cui il comportamento dell'applicazione cambia dopo la distribuzione. Il caricatore di moduli di Contiki carica, riposiziona e collega i file ELF.

Il simulatore di rete Cooja

Cooja, il simulatore di rete Contiki, genera un vero e proprio sistema Contiki compilato e funzionante controllato da Cooja.

Usare Cooja si rivela semplice. Crea semplicemente un nuovo tipo di mote selezionando il fileMotes menu e Add Motes → Create New Mote Type. Nella finestra di dialogo che appare, scegli un nome per il mote, seleziona il suo firmware e prova la sua compilazione.

Dopo la creazione, aggiungi i granuli facendo clic Create. Apparirà un nuovo tipo di mote a cui puoi collegare i nodi. Il passaggio finale richiede il salvataggio del file di simulazione per un utilizzo futuro.