2016-06-10 8 views
0

저는 지난 3 일간 의사 소통을 위해 두 개의 XBee를 설정하려고했습니다. X-CTU는 그렇게 할 수있는 완벽한 옵션 인 것처럼 보이지만 직렬 포트에서 XBee를 발견하게되면 실질적인 위협이됩니다."+++"시 XBee로부터 OK 응답을받을 수 없습니다

하나의 XBee를 한 번만 감지하고 다른 하나는 절대로 발견하지 못했습니다. 나는 심지어 내 XBees를 모두 교체했다. 대안을 찾으려고합니다. 즉 직렬 콘솔을 사용하여 작업을 수행하려고합니다. +++을 발급하면 기기에서 OK 응답을받을 수 없었습니다.

이전에 ESP8266 장치와 통신하는 데 PC를 사용해 본 경험이 없기 때문에 Arduino의 두 번째 직렬 포트를 사용하여 이러한 구성 메시지를 보내고 인쇄하여 응답을 읽으려고했습니다 기본 직렬 콘솔에서 제거 할 수 있습니다.

구성 메시지는 장치의 모드에 따라 다를 수 있습니다. API 모드 인 경우 특정 형식으로 프레임을 생성해야합니다 (이 용도로 X-CTU 프레임 생성기를 사용합니다).

+++을 발행 할 때 XBee로부터 응답을받을 수없는 이유는 무엇입니까?

이 장치는 시리즈 1 XBees이며 정확한 부품 번호는 XB24-AWI-001입니다. 어떤 도움을 주셔서 감사합니다.

+0

'+++'의 앞뒤에 보호 시간을 존중합니까? IIRC 그것은 1 초 전체입니다; 조금 더 상처받을 수 없습니다. 물론 올바른 통신 속도에 있어야합니다. 서로 다른 전송 속도로 시퀀스를 수행 할 수 있습니다. 필자는 9600에서 완전히 새로운 Xbees를 처리 할 수있는 시스템을 구축했거나 두 보드 속도를 테스트하여 115200으로 모듈을 구성했습니다. (새로운 모듈은 시스템에서 구성한 다음 API 모드로 전환합니다.) – sawdust

+0

* "Arduino의 두 번째 직렬 포트를 사용하여 해결 방법을 찾으려고했습니다"* - 어느 Arduino입니까? 5V 또는 3.3V 장치를 사용하고 있습니까? – sawdust

답변

1

XBee가 API 모드로 간주 되었습니까? 어쩌면 AT 모드에서 장치를 다시 사용하여 재생을 시작하는 것이 좋습니다.

그것은 API 모드에 있다면, 당신은 설명서를 참조 할 수 있습니다 테스트하려면 API 모드 구조 제 9 장 :

기본적으로, API 모드에서 데이터 그램 ~ 시작 0x7E으로

[0x7E|length(2B)|Command(1B)|Payload(length-1B)|Checksum(1B)] 

이 (가)에 ~입니다 다음과 같이하고, 내장 것 SCII 테이블, 당신은 같은 직렬 터미널 세션에서 가짜 데이터 그램을 입력 시도해야합니다 :

~ <C-d> AAAA 

N.B : <C-d> 문자 유닉스에서 Control-d 의미를의 EOF 문자이다..

분명히 그런 메시지는 작동하지 않을 것입니다. 그리고 그 데이터 그램을 다시 보내달라고하는 답장을 받게됩니다. EOF 문자가 ASCII 코드 4이기 때문에 데이터 그램의 길이가 4 바이트가됨을 의미합니다. 그래서 네 가짜 ​​바이트를 보내면 체크섬은 A이 될 것이고, 이것은 옳을 가능성이 높습니다. 그리고 수신기는 전송이 손상되었다고 가정합니다. 따라서 데이터 그램이 다시 묻습니다. 즉, 해당 쿼리를 수행하기위한 데이터 그램을 받게됩니다.

API 모드로만 실행하는 것이 좋습니다 (더 안정적이고 우수한 API이지만, 로직 애널라이저로 라인을 두드리는 것만으로도 놀 수는 없지만 ...) 충분한 시간, 영어 같은 API 데이터 그램을 읽기 시작할 것입니다.)

그리고 나는 또한 XBees와 API 모드 2 처리하는 LIB (beaglebones을 목표로하지만, 당신이 사용할 수 있도록 조정할 수) 작성 :

을하지만 베팅 약간의 Google 검색을 사용하면 Arduinos (Arbindo)에서보다 많이 사용되는 라이브러리를 찾을 수 있습니다. 심지어 Arduinos에서 실행되도록 의도 된 일부 라이브러리도 있습니다 (주의 : 원래 lib는 Arduinos 용으로 작성되었으며 Beaglebone 용으로 실행되었으므로 작업을 되돌려서는 안됩니다. 어렵다).

+1

API 모드 인 경우'+++'를 실행하지 않으면 AT 명령 (투명) 모드로 전환됩니까? –

+0

의사와 확인하여 안전하다고 생각하지만 그렇게 생각하지 않습니다. 모드를 변경하려면 X-CTU (또는 대안)를 사용하여 XBee를 재 플래시해야합니다. – zmo

+0

X-CTU가 문제를 일으키고 있기 때문에 XBee reflashing 가이드 페이지에 나열된대로 xb-comm을 사용해야 할 것입니다. 하나의 마지막 질문 인 시리즈 1 모듈의 경우이 목록에서 펌웨어를 따를 것입니까? ftp://ftp1.digi.com/support/firmware/update/ –