我刚开始使用 Contiki-NG 操作系统和 Cooja 模拟器。我正在关注此链接中的教程,我遵循的步骤是:
examples/rpl-border-router
,我打开一个终端并输入$ make TARGET=zoul connect-router-cooja
此命令的输出不会打印 Web 服务器已启动。
当模拟运行时,此命令为我提供服务器的 IPv6 地址。据我了解,这是RPL边界路由器的IPv6地址。当我 ping 该路由器时,我会收到来自服务器的连续响应。
但是,当我 ping hello-world 节点(子节点)时,我没有从 ping 中得到任何响应。
当我输入http://[router-address-IPv6]时,页面没有响应。
当我这样做时
$ wget http://[router-address-IPv6]
它尝试了 20 次但失败了。它给出错误“失败:协议错误。”
据我了解,当我在终端中输入时
$ ls /dev/tty*
我应该能够看到多个串行端口,如果我的模拟正在运行并且边界路由器已连接,其中
/dev/ttyUSB0
应该是其中之一,但我没有看到一个。
Tools > Radio messages
,我会看到 hello-world 数据包正在传输到边界路由器。tools/serial-io
并输入 $ ./tunslip6
时,我得到:
ipaddress: Success
我希望在浏览器中输入
http://\[router-address-IPv6\]
时看到一个网页。我还希望在 /dev/ttyUSB0
下看到
$ ls /dev/tty*
更新 1:当我重复相同的步骤但这次使用 Cooja 微粒而不是天空微粒时,我能够打开网站并查看邻居和路由链接。然而
$ make TARGET=zoul connect-router-cooja
命令仍然没有提及任何“Web 服务器已启动”消息。 $ ls /dev/tty*
仍然没有按预期显示任何 /dev/ttyUSB0
。
它只适用于 Cooja motes 的原因是什么?
如果你在COOJA中运行模拟的Tmote Sky,/dev/tty.*将永远不会出现。我猜想完整的 Contiki-NG 和网络服务器适合 Tmote Sky 是有边界的 - 这可能是问题的一部分。但我不完全确定。
这不是答案,但我正在尝试类似的东西:@Colosen 你能建议吗?
我被困在4号了。 我正在使用 cooja motes(首先添加边界路由器,然后添加 hello-world mote)
~/contiki-ng/examples/rpl-border-router$ make TARGET=zoul connect-router-cooja
../../arch/cpu/arm/cortex-m/Makefile.cortex-m:6: ../../arch/cpu/arm/CMSIS/CMSIS does not exist or is empty.
../../arch/cpu/arm/cortex-m/Makefile.cortex-m:7: Did you run 'git submodule update --init' ?
../../arch/cpu/arm/cortex-m/Makefile.cortex-m:8: *** "". Stop.
所以我愿意
git submodule update --init
:
~/contiki-ng/examples/rpl-border-router$ git submodule update --init
Submodule 'arch/cpu/arm/CMSIS' (https://github.com/ARM-software/CMSIS_5.git) registered for path '../../arch/cpu/arm/CMSIS'
...
Submodule path '../../tools/sensniff': checked out '70029fc5b21485cfd4afb8037c49661212d0935a'
然后我再次尝试
make
,但现在我收到此错误:
:~/contiki-ng/examples/rpl-border-router$ make TARGET=zoul connect-router-cooja
../../Makefile.include:157: *** Target "zoul" compiler "arm-none-eabi-gcc" cannot be found. Stop.
~/contiki-ng/examples/rpl-border-router$ l
Makefile README.md border-router.c build/ project-conf.h webserver/
这是我的
ls /dev/tty*
输出:
~/contiki-ng/examples/rpl-border-router$ ls /dev/tty*
/dev/tty /dev/tty12 /dev/tty17 /dev/tty21 /dev/tty26 /dev/tty30 /dev/tty35 /dev/tty4 /dev/tty44 /dev/tty49 /dev/tty53 /dev/tty58 /dev/tty62 /dev/ttyS0
/dev/tty0 /dev/tty13 /dev/tty18 /dev/tty22 /dev/tty27 /dev/tty31 /dev/tty36 /dev/tty40 /dev/tty45 /dev/tty5 /dev/tty54 /dev/tty59 /dev/tty63 /dev/ttyS1
/dev/tty1 /dev/tty14 /dev/tty19 /dev/tty23 /dev/tty28 /dev/tty32 /dev/tty37 /dev/tty41 /dev/tty46 /dev/tty50 /dev/tty55 /dev/tty6 /dev/tty7 /dev/ttyS2
/dev/tty10 /dev/tty15 /dev/tty2 /dev/tty24 /dev/tty29 /dev/tty33 /dev/tty38 /dev/tty42 /dev/tty47 /dev/tty51 /dev/tty56 /dev/tty60 /dev/tty8 /dev/ttyS3
/dev/tty11 /dev/tty16 /dev/tty20 /dev/tty25 /dev/tty3 /dev/tty34 /dev/tty39 /dev/tty43 /dev/tty48 /dev/tty52 /dev/tty57 /dev/tty61 /dev/tty9