2015-01-23 6 views
0

IoT 네트워크가 게이트웨이 라우터를 통해 ipv6를 통해 통신하는 시나리오를 생성하고 싶습니다. 시뮬레이터에서 기본적으로 테스트 할 실제 모트가 없습니다.cooja 시뮬레이터의 Contiki에서 게이트웨이 시나리오 생성

리눅스를 게이트웨이로 Cooja 시뮬레이터와 통신하는 방법은 무엇입니까?

+0

이 당신이 시뮬레이션 티끌의 시리얼 포트로 리눅스를 연결하려는 뜻 :

다음은이 검색 서비스를 사용하여 PTY의 이름을 가져올 수 있습니다 파이썬 코드입니까? – finmor

+0

예, 리눅스처럼 시나리오를 시뮬레이트하고 싶습니다. 게이트웨이 노드를 통해 iot 네트워크와 통신 할 수 있습니다. – sagar

+0

글쎄, kfx의 대답은 당신이 찾고있는 것입니다. – finmor

답변

1

사용 serial2pty 플러그인 : https://github.com/cmorty/cooja-serial2pty

플러그인 가상 시리얼 포트를 생성 (의사 터 : PTY). 그런 다음 Linux에서 일반 직렬 포트로 PTY에 액세스 할 수 있습니다.

포트가 동적으로 생성되면 문제가 발생할 수 있습니다. PTY 장치의 이름은 알 수 없습니다. 따라서 플러그인에는 검색 서비스 기능도 포함되어 있습니다. PTY의 이름을 리턴하는 TCP 서버입니다.

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

Thanks kfx. 나는이 노드가 하나/많은 게이트웨이 노드를 통해 인터넷에 연결되어 있기 때문에 IoT 네트워크 (빛, 온도 등등과 같은 다른 센서의 스마트 홈 네트워크)를 만드는 10 노드와 같은 schenario를 만드는 방법을 혼동합니다. 임시/조명 또는 데이터를 게이트웨이 노드에 먼저 전송 한 다음 요청을 IoT 네트워크로 전달합니다. – sagar