2012-11-10 6 views
4

메시 네트워킹 평가를 위해 zb 스택이있는 xbee (s2) 모듈을 사용합니다. 따라서 다중 호핑 환경이 만들어 져야합니다. 문제는 펌웨어가 자체적으로 연결을 처리하고 API가 제공하는대로 스택에 더 깊이 들어가는 방법이 없다는 것입니다. 라우팅 메커니즘을 방해하지 않고 데이터 경로를 강요하기 위해 측정을 시도했지만 도달 범위를 벗어나야했습니다. 협회에서 다음 홉만 얻으려면 쉽지 않습니다. 필자는 출력의 최소 전력 레벨을 사용했지만 테스트 설정을위한 거리는 커지고 환경의 rf 특성은 불확실합니다.xbee zb를 사용하여 멀티 호핑 토폴로지를 강제로 만드는 방법은 무엇입니까?

따라서 제 질문은이 문제에 대해 경험이있는 사람이 있습니까?

감사합니다, 토비

+1

add : http://www.youtube.com/watch?feature=player_embedded&v=QeSvAn-YRSE ... 그 링크에 관해서는, 나는 xbee zb api의 목적을 훨씬 상회한다고 생각합니다. 심지어 그들은 rf 제약을 통해 그것을 깨닫습니다. 그럼에도 불구하고 그 문제에 대한 아이디어는 언제나 환영합니다. –

답변

2

나는 그것이 소프트웨어 및 코디네이터/라우터를 통해 가능하다고 생각하지 않습니다. 노드 참가 시간 (ATNJ)을 변경하여 새 라우터를 특정 라우터를 통해 참가 시키도록 할 수 있습니다 (하나만 제외한 모든 노드에서 노드 참가를 비활성화). 이는 참여에 영향을 미칩니다. 일단 네트워크에 연결되면 라우터는 다른 노드가 범위 내에 있음을 발견합니다.

슬리피 엔드 디바이스로 수행 할 수 있습니다. ATNJ 트릭을 사용하면 단일 라우터를 통해 최종 장치를 강제로 가입시킬 수 있으며 항상 해당 라우터로 메시지를 보냅니다. 그러나 많은 홉 - 엔드 장치가 상위 라우터로 보내지는 것을 얻을 수 없습니다. 상위 라우터는 대상 라우터로 보내고 대상 라우터로 보내집니다.

당신은 무선의 범위를 물리적으로 제한하여 호핑을하도록 강요 할 필요가 있습니다. 예를 들어, Digi의 K-Node 테스트 장비와 1000 개가 넘는 라디오 네트워크로 링크 된 비디오에서 볼 수 있습니다. 그들은 RF 쉴드 박스에 라디오를 넣고 소프트웨어 제어 감쇄기가있는 유선 안테나 연결을 사용하여 모듈을 서로 연결합니다.

U.fl 또는 RPSMA 커넥터가있는 XBee 모듈이 있고 안테나를 연결하지 않으면 모듈 범위가 크게 줄어 듭니다. 그렇지 않으면 와이어 휩 (wire whip) 또는 통합 PCB 안테나로 각 라디오를 신호를 약화시키는 일종의 상자에 넣어야합니다. 아마도 다른 사람이 신호의 범위를 완전히 차단하지 않고 신호를 줄이는 자료에 대한 조언을 제공 할 수 있습니다.

2

ZigBee 노드는 자동으로 Ad-Hoc 네트워크를 구성합니다. 바로 그 순간에 가장 강력한 연결 (최상의 네트워크 서비스)을 통해 네트워크에 가입하는 것입니다. 이 모듈은 신뢰할 수있는 통신 설정에 신경을 쓸 필요가없는 방식으로 설계되었습니다. 그들은 대부분의 시간 동안 네트워킹 문제를 해결할 것입니다.

당신이하고 싶은 것은 어떻게 든 다른 상황을 강요합니다. 일부 멀티 호핑을 얻으려면 특정 토폴로지를 만들고 싶습니다. 그것은 끄덕임의 정상적인 행동이 아닙니다. 하지만 AT 명령 중 일부를 사용하여 원하는 것을 얻을 수 있습니다.

언급 한 명령 "NJ"가 도움이 될 것입니다. 이 명령은 특정 시간 (초) 후에 조인을 잠급니다. 하나의 코디네이터, 하나의 라우터 및 하나의 엔드 디바이스로 구성된 3 개의 노드가있는 간단한 ZigBee 네트워크를 생각해 봅시다. 코디네이터를 켜고 "NJ"를 2 분으로 설정하십시오. 라우터를 신속하게 켜면 2 분 안에 코디네이터와 연결할 수 있습니다. 이 2 분 후에 코디네이터가 잠기고 조인을 더 이상받지 않습니다. 그 순간에 반드시 라우터와 연결해야하는 엔드 디바이스를 시작할 수 있습니다. 이렇게하면 End-Device와 Coordinator 사이의 메시지가 원하는대로 라우터를 통과하는 것을 볼 수 있습니다.

모듈의 안테나를 사용하지 않고도이 아이디어를 여러 번 적용하면 더 큰 네트워크를 얻을 수 있습니다. AT 매개 변수를 원격으로 제어 할 수 있습니다 (예 :코디네이터에 연결된 컴퓨터에서), 일부 코드를 사용하여 네트워크를 초기화 할 수 있습니다.

+0

'NJ' 명령 만이 참여를 제한한다고 확신합니다. 라우터가 네트워크에 연결되면 이웃 노드를 발견하고 네트워크의 다른 노드로 직접 보낼 수 있습니다. 당신은 당신이 원했던 홉을 얻지 못할 것입니다. – tomlogic

+0

노드가 네트워크에 연결되면 노드는이 노드를 통해 패킷을 보냅니다. 이것이 패킷 라우팅을 다루는 "아버지 노드"입니다. 따라서이 간단한 네트워크에서 하나의 홉 (최종 장치가 코디네이터에 직접 참여할 수 없으므로 메시지가 라우터를 통과 함)을 얻습니다. –

+0

아, 나는 장치 중 하나가 최종 장치라는 사실을 놓쳤다. 최종 장치가 부모를 통해 참가하고 그 부모를 통해 모든 메시지를 보내는 것이 맞습니다. 내 대답에서 언급했듯이 최종 장치가 대상 끝 장치에 배달되는 대상 부모에게 보내는 부모 장치로 보내면 3 홉을 얻을 수 있습니다. – tomlogic