Учебники

Интернет вещей — Contiki

Contiki — это операционная система для IoT, специально предназначенная для небольших IoT-устройств с ограниченной памятью, мощностью, пропускной способностью и вычислительной мощностью. Он использует минималистский дизайн, в то же время упаковывая общие инструменты современных операционных систем. Он обеспечивает функциональность для управления программами, процессами, ресурсами, памятью и связью.

Contiki

Он обязан своей популярностью тем, что он очень легкий (по современным стандартам), зрелый и гибкий. Многие ученые, исследователи организаций и профессионалы считают, что это стандартная ОС. Для работы Contiki требуется всего несколько килобайт, а на пространстве менее 30 КБ он подходит для всей операционной системы — веб-браузер, веб-сервер, калькулятор, оболочка, клиент telnet и демон, почтовый клиент, программа просмотра vnc и ftp. Он заимствован из операционных систем и стратегий развития десятилетий назад, которые легко эксплуатировали столь же мало места.

Contiki Communication

Contiki поддерживает стандартные протоколы и последние включающие протоколы для IoT —

  • uIP (для IPv4) — эта реализация TCP / IP поддерживает 8-битные и 16-битные микроконтроллеры.

  • uIPv6 (для IPv6) — это полностью совместимое расширение IPv6 для uIP.

  • Rime — этот альтернативный стек обеспечивает решение, когда IPv4 или IPv6 оказываются непосильными. Он предлагает набор примитивов для систем с низким энергопотреблением.

  • 6LoWPAN — это IPv6 в беспроводных персональных сетях с низким энергопотреблением. Он обеспечивает технологию сжатия для поддержки беспроводной связи с низкой скоростью передачи данных, необходимой для устройств с ограниченными ресурсами.

  • RPL — этот протокол IPv6 с вектором расстояния для сетей LLN (сетей с низким энергопотреблением и с потерями) позволяет найти наилучший возможный путь в сложной сети устройств с различными возможностями.

  • CoAP — этот протокол поддерживает связь для простых устройств, обычно устройств, требующих тщательного удаленного наблюдения.

uIP (для IPv4) — эта реализация TCP / IP поддерживает 8-битные и 16-битные микроконтроллеры.

uIPv6 (для IPv6) — это полностью совместимое расширение IPv6 для uIP.

Rime — этот альтернативный стек обеспечивает решение, когда IPv4 или IPv6 оказываются непосильными. Он предлагает набор примитивов для систем с низким энергопотреблением.

6LoWPAN — это IPv6 в беспроводных персональных сетях с низким энергопотреблением. Он обеспечивает технологию сжатия для поддержки беспроводной связи с низкой скоростью передачи данных, необходимой для устройств с ограниченными ресурсами.

RPL — этот протокол IPv6 с вектором расстояния для сетей LLN (сетей с низким энергопотреблением и с потерями) позволяет найти наилучший возможный путь в сложной сети устройств с различными возможностями.

CoAP — этот протокол поддерживает связь для простых устройств, обычно устройств, требующих тщательного удаленного наблюдения.

Динамическая загрузка модуля

Динамическая загрузка и связывание модулей во время выполнения поддерживает среды, в которых поведение приложения изменяется после развертывания. Загрузчик модулей Contiki загружает, перемещает и связывает файлы ELF.

The Cooja Network Simulator

Cooja, сетевой симулятор Contiki, создает реально скомпилированную и работающую систему Contiki, управляемую Cooja.

Использование Cooja оказывается простым. Просто создайте новый тип сучка, выбрав меню Motes и добавив Motes → Create New Mote Type . В появившемся диалоговом окне вы выбираете имя для мотылька, выбираете его прошивку и тестируете его компиляцию.

Мотес Меню

После создания, добавить сучки, нажав кнопку Создать . Появится новый тип соринки, к которому вы можете прикрепить узлы. Последний шаг требует сохранения файла симуляции для дальнейшего использования.