Internet de las cosas - Contiki

Contiki es un sistema operativo para IoT que se dirige específicamente a pequeños dispositivos IoT con memoria, potencia, ancho de banda y potencia de procesamiento limitados. Utiliza un diseño minimalista sin dejar de incluir las herramientas comunes de los sistemas operativos modernos. Proporciona funcionalidad para la gestión de programas, procesos, recursos, memoria y comunicación.

Debe su popularidad a ser muy ligero (según los estándares modernos), maduro y flexible. Muchos académicos, investigadores de organizaciones y profesionales lo consideran un sistema operativo de referencia. Contiki solo requiere unos pocos kilobytes para ejecutarse y, en un espacio de menos de 30 KB, se adapta a todo su sistema operativo: un navegador web, servidor web, calculadora, shell, cliente y demonio telnet, cliente de correo electrónico, visor vnc y ftp. Toma prestado de los sistemas operativos y las estrategias de desarrollo de hace décadas, que fácilmente explotaban un espacio igualmente pequeño.

Comunicación Contiki

Contiki admite protocolos estándar y protocolos de habilitación recientes para IoT -

  • uIP (for IPv4) - Esta implementación de TCP / IP admite microcontroladores de 8 y 16 bits.

  • uIPv6 (for IPv6) - Esta es una extensión IPv6 totalmente compatible con uIP.

  • Rime- Esta pila alternativa proporciona una solución cuando IPv4 o IPv6 resultan prohibitivos. Ofrece un conjunto de primitivas para sistemas de bajo consumo.

  • 6LoWPAN- Esto significa IPv6 sobre redes de área personal inalámbricas de baja potencia. Proporciona tecnología de compresión para admitir la conexión inalámbrica de baja velocidad de datos que necesitan los dispositivos con recursos limitados.

  • RPL - Este protocolo IPv6 de vector de distancia para LLN (redes de baja potencia y con pérdidas) permite encontrar la mejor ruta posible en una red compleja de dispositivos con capacidades variadas.

  • CoAP - Este protocolo admite la comunicación para dispositivos simples, generalmente dispositivos que requieren una supervisión remota intensa.

Carga dinámica del módulo

La carga y la vinculación de módulos dinámicos en tiempo de ejecución admiten entornos en los que el comportamiento de la aplicación cambia después de la implementación. El cargador de módulos de Contiki carga, reubica y vincula archivos ELF.

El simulador de red Cooja

Cooja, el simulador de red de Contiki, genera un sistema Contiki compilado y funcional real controlado por Cooja.

Usar Cooja resulta simple. Simplemente cree un nuevo tipo de mota seleccionando elMotes menú y Add Motes → Create New Mote Type. En el cuadro de diálogo que aparece, elige un nombre para el mote, selecciona su firmware y prueba su compilación.

Después de la creación, agregue motas haciendo clic Create. Aparecerá un nuevo tipo de mota al que puede adjuntar nodos. El paso final requiere guardar su archivo de simulación para uso futuro.