Internet das coisas - Contiki
Contiki é um sistema operacional para IoT que visa especificamente pequenos dispositivos IoT com memória, potência, largura de banda e capacidade de processamento limitadas. Ele usa um design minimalista e ainda contém as ferramentas comuns dos sistemas operacionais modernos. Ele fornece funcionalidade para gerenciamento de programas, processos, recursos, memória e comunicação.
Ele deve sua popularidade ao fato de ser muito leve (para os padrões modernos), maduro e flexível. Muitos acadêmicos, pesquisadores de organizações e profissionais consideram-no um sistema operacional indispensável. O Contiki requer apenas alguns kilobytes para ser executado e, em um espaço de menos de 30 KB, ele se ajusta a todo o sistema operacional - um navegador da web, servidor da web, calculadora, shell, cliente telnet e daemon, cliente de e-mail, visualizador vnc e ftp. Ele pega emprestado de sistemas operacionais e estratégias de desenvolvimento de décadas atrás, que facilmente exploravam espaços igualmente pequenos.
Comunicação Contiki
Contiki suporta protocolos padrão e protocolos de ativação recentes para IoT -
uIP (for IPv4) - Esta implementação TCP / IP oferece suporte a microcontroladores de 8 e 16 bits.
uIPv6 (for IPv6) - Esta é uma extensão IPv6 totalmente compatível com o uIP.
Rime- Essa pilha alternativa fornece uma solução quando IPv4 ou IPv6 se mostram proibitivos. Oferece um conjunto de primitivas para sistemas de baixa potência.
6LoWPAN- Significa IPv6 em redes de área pessoal sem fio de baixa potência. Ele fornece tecnologia de compressão para suportar a baixa taxa de dados sem fio necessária para dispositivos com recursos limitados.
RPL - Este protocolo IPv6 de vetor de distância para LLNs (redes de baixa potência e com perdas) permite que o melhor caminho possível seja encontrado em uma rede complexa de dispositivos com capacidade variada.
CoAP - Este protocolo oferece suporte à comunicação para dispositivos simples, normalmente dispositivos que requerem supervisão remota pesada.
Carregando Módulo Dinâmico
O carregamento e a vinculação de módulos dinâmicos em tempo de execução oferecem suporte a ambientes nos quais o comportamento do aplicativo muda após a implantação. O carregador de módulo do Contiki carrega, realoca e vincula arquivos ELF.
Simulador de Rede Cooja
Cooja, o simulador de rede Contiki, gera um sistema Contiki real compilado e funcional controlado por Cooja.
Usar o Cooja é simples. Basta criar um novo tipo de mote selecionando oMotes menu e Add Motes → Create New Mote Type. Na caixa de diálogo que aparece, você escolhe um nome para o mote, seleciona seu firmware e testa sua compilação.
Após a criação, adicione partículas clicando Create. Um novo tipo de mote aparecerá ao qual você pode anexar nós. A etapa final requer salvar seu arquivo de simulação para uso futuro.