2015-01-23 3 views
0

Я хочу сгенерировать сценарий, в котором сеть IoT обменивается данными через ipv6 через Gateway Router, изначально означающий на симуляторе, у меня нет реальных мотивов для тестирования.Сценарий создания шлюза в Contiki в симуляторе cooja

Как заставить Linux взаимодействовать с симулятором Cooja в качестве шлюза?

+0

Означает ли это, что вы хотите подключить Linux с последовательным портом смоделированного пылинки? – finmor

+0

Да, я хочу, чтобы симулировать сценарий, такой как linux, может связываться с iot-сетью через узел шлюза – sagar

+0

Ну, ответ kfx - это то, что вы ищете – finmor

ответ

1

Использование serial2pty плагин: https://github.com/cmorty/cooja-serial2pty

Плагин создает виртуальный последовательный порт (псевдотерминала: PTY). Затем вы можете получить доступ к этому PTY как к любому регулярному последовательному порту в Linux.

Может возникнуть проблема, если порт создается динамически - вы не будете знать имя устройства PTY. Таким образом, плагин также включает функции службы обнаружения. Это TCP-сервер, который возвращает имя 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 
+0

Спасибо kfx. я смущаюсь о том, как сделать schenario, например, 10 узлов, создающих сеть IoT (скажем, интеллектуальную домашнюю сеть разных датчиков, таких как свет, темп и т. д.), эти узлы подключены к Интернету через один или несколько узлов шлюза .... поэтому, когда приходит какой-либо запрос для temp/light или данных он сначала входит в шлюз, затем передает запрос в сеть IoT. – sagar