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

时间:2015-01-23 07:14:15

标签: c contiki iot

我想生成IoT网络通过网关路由器通过ipv6进行通信的场景本机意味着在模拟器上我没有真正要测试的东西。

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

1 个答案:

答案 0 :(得分:1)

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

该插件创建一个虚拟串行端口(伪终端:PTY)。然后,您可以将该PHY作为Linux中的任何常规串行端口进行访问。

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

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

    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