2013-03-10 6 views
3

나는 서버 컴퓨터에 연결된 하나의 마스터와 원격으로 작동하는 수많은 슬레이브가있는 간단한 xBee 네트워크를 운영합니다. 그건 아무 문제 없어.XBee 모두에게 보내기

슬레이브는 모두 자신의 ID를 패킷의 일부로 보내며 마스터는 의도적으로 지연 후 Ack를 보냅니다. 이 작업을 효율적으로 수행하는 방법을 알아 내려고 노력 중이며 각 Ack 전에 마스터를 다시 프로그래밍하는 것을 포함하지 않는 유일한 방법은 Ack를 모든 노예에게 보내고 해당 패킷을 무시하도록하는 것입니다. 그들.

그 해결책은 괜찮습니다. -이 작업을 수행하는 데 사용할 명령을 파악할 수 없습니다. 직렬 sendAll 명령이 있습니까? 모든 장치가 동일한 ATID에 있습니다.

답변

3

일반적으로이 상황에서 마스터는 API 모드로 구성되어 소스 주소 지정 정보가있는 "명시 적 수신"프레임을 얻고 "명시 적 전송"프레임 유형으로 전송하고 프레임에 주소 정보를 포함 할 수 있습니다 .

AT 모드 (투명 직렬 모드)를 사용하는 경우 보내는 사람을 변경하려고 할 때마다 코디네이터의 DH 및 DL 매개 변수를 변경해야합니다. 브로드 캐스트 패킷을 사용하지 마십시오. 각 브로드 캐스트 패킷은 많은 양의 네트워크 트래픽 (IIRC, 각 라우터는 브로드 캐스트 패킷을 세 번 전송합니다)을 초래하기 때문에 피해야합니다.

Arduino의 XBee 라이브러리에 대해 잘 알지 못하지만 Digi의 오픈 소스 ANSI C XBee Host Library을 해당 플랫폼에 이식 할 수 있습니다.

+0

예, 나는 질문을 게시 한 직후 API 경로를 인식했습니다. 감사합니다. – user592419