物联网 - Contiki
Contiki 是一款物联网操作系统,专门针对内存、功率、带宽和处理能力有限的小型物联网设备。它采用简约设计,同时仍包含现代操作系统的常用工具。它提供程序、进程、资源、内存和通信管理功能。
它之所以受欢迎,是因为它非常轻量(按现代标准)、成熟且灵活。许多学者、组织研究人员和专业人士认为它是一款首选操作系统。Contiki 仅需几千字节即可运行,在不到 30KB 的空间内,它可容纳整个操作系统,除了 Web 浏览器、Web 服务器、计算器、shell、telnet 客户端和守护程序、电子邮件客户端、vnc 查看器和 ftp。它借鉴了几十年前的操作系统和开发策略,可以轻松利用同样小的空间。
Contiki 通信
Contiki 支持标准协议和最新的 IoT 支持协议 −
uIP(用于 IPv4) − 此 TCP/IP 实现支持 8 位和 16 位微控制器。
uIPv6(用于 IPv6) − 这是 uIP 的完全兼容 IPv6 扩展。
Rime − 当 IPv4 或 IPv6 被证明是禁止时,此替代堆栈提供了解决方案。它为低功耗系统提供了一组原语。
6LoWPAN − 这代表低功耗无线个人局域网上的 IPv6。它提供压缩技术来支持资源有限的设备所需的低数据速率无线。
RPL − 这种用于 LLN(低功耗有损网络)的距离矢量 IPv6 协议允许在具有不同功能的复杂设备网络中找到最佳路径。
CoAP − 此协议支持简单设备的通信,通常是需要大量远程监控的设备。
动态模块加载
运行时动态模块加载和链接支持在部署后应用程序行为发生变化的环境。Contiki 的模块加载器可加载、重新定位和链接 ELF 文件。
Cooja 网络模拟器
Cooja 是 Contiki 网络模拟器,它生成一个由 Cooja 控制的实际编译和工作的 Contiki 系统。
使用 Cooja 非常简单。只需选择 Motes 菜单并添加 Motes → 创建新的 Mote 类型,即可创建新的 Mote 类型。在出现的对话框中,为 mote 选择一个名称,选择其固件,然后测试其编译。
创建后,单击Create添加 mote。将出现一种新的 mote 类型,您可以将节点附加到该类型。最后一步需要保存您的模拟文件以供将来使用。