在 cooja 模拟器中生成 Contiki 中的 Gateway 场景

Generate Gateway scenario in Contiki in cooja simulator

我想生成物联网网络通过网关路由器通过 ipv6 进行通信的场景,这意味着在模拟器上我没有真正的微尘来测试。

如何让linux作为网关与Cooja模拟器通信?

使用serial2pty插件:https://github.com/cmorty/cooja-serial2pty

该插件创建一个虚拟串口(伪终端:PTY)。然后,您可以像 Linux.

中的任何常规串行端口一样访问该 PTY

如果端口是动态创建的,可能会出现问题 - 您将不知道 PTY 设备的名称。因此该插件还包括发现服务功能。它是一个 TCP 服务器,returns PTY 的名称。

这里是 Python 代码,可用于使用此发现服务获取 PTY 的名称:

    address = "localhost"
    port = 6100

    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    sock.settimeout(3.0)
    sock.connect((address, port))
    data = ""
    while True:
        c = sock.recv(1)
        if c not in ['/', '.'] and not c.isalnum():
            break
        data += c
        if len(data) > 100: break
    sock.close()
    return data