2016-11-01 5 views
0

블루 우스 연결에 관한 질문이 있습니다. 내 장치 (블루투스 방패와 Arduino 나노)에 대한 블루투스 연결을 설정하고 어떤 이유로 연결이 실패 할 수도 있습니다. 괜찮아요, 블루투스예요 장치가 범위를 벗어 났을 때 일어납니다. 하지만 가능한 경우 연결을 다시 설정해야합니다. 이 문제는 제가 문제가되는 부분입니다. 연결할 코드가 더 이상 작동하지 않습니다. 작동하는 것으로 보이는 것은 기기를 재부팅하는 것입니다 (앱을 재부팅하는 것으로는 충분하지 않습니다). Pi를 재부팅 한 후 연결이 살아 있고 다시 시작됩니다.블루투스가 다시 연결됩니다

재부팅 후 해결되는 문제가있는 것 같지만 재부팅 할 필요없이 문제를 해결하는 방법을 알고 싶습니다. 누군가?

업데이트 더 많은 배경 정보 나는 Arduino와 연결하고 제어하기 위해 Firmata 라이브러리를 사용하고 있습니다. 나는 firmata 코드를 변경하는 것이 덜 편하지만 양측을 제어 할 수 있습니다.

+0

는 "** 연결하는 코드는 단지 ** 더 이상 작동하지 않습니다"오류 정보는 무엇인가? 페어 페어링을 시도하고 다시 페어링 해 보셨습니까? –

+0

나는 인간의 상호 작용없이이 일을해야하기 때문에 나는 그것을 시도하지 않았다. 실제로 코드와 페어링/페어링이 가능한지 여부는 확실하지 않지만 다른 한편으로는 필요하다면 이상하게 보일 것입니다. 맞습니까? – Jasper

답변

0

귀하의 질문에 대답하기 위해, 나는 귀하가 귀하의 모든 장치에 대한 통제권을 가지고 있다고 가정합니다. 제어는 장치가 다시 연결을 시도 할 수 있도록 코드를 수정할 수 있음을 의미합니다.

문제

지금, 당신의 경우, 장치가 범위를 벗어나면, 연결이 끊어 도착하지만,이 장치의 범위 없음에 올 때 본질적으로 다른 장치에 다시 연결하려고합니다. 마지막으로 연결된 장치에 계속 연결을 시도하는 코드가 작성되어 있지 않으면 장치가 범위 내에 있더라도 장치를 연결하려고 시도하지 않습니다. 장치를 다시 시작할 때, aurdino 장치는 재 연결이 발생하여 모든/마지막으로 연결된 장치에 다시 연결하려고 시도했을 수 있습니다.

이 문제를 해결하려면 솔루션, 당신은 5 초 말의 일정한 간격으로 마지막 연결된 장치에 다시 연결 유지하려고하는 것이 바람직 aurdino 측에 코드 조각을 추가 할 수 있습니다.

제한

그러나, 이것은 더 많은 장치가 범위 내에 실제로 있는지 정확히 모르는 폴링 같다. 블루투스에서는 장치를 검색 할 때까지 장치가 범위 내에 있는지 알 수 없습니다. 이 솔루션으로 직면해야하는 유일한 문제는 장치가 없어도 일정한 간격으로 블루투스를 통해 다시 연결하려고하므로 더 많은 전력이 필요하다는 것입니다.

희망이 도움이됩니다.

안부

+0

장치를 제어 할 수 있습니다. 나는 Arduinos를 원격으로 연결하고 제어하기 위해 firmata를 사용하고 있습니다. 나는 그 장치가 재 연결하고 있다고 생각하지 않는다. 내가 아는 한 Firmata에는 재 시도/재접속 로직이 없다. – Jasper

+0

Firmata는 호스트와 arduino 사이의 통신 프로토콜입니다. 물론 Firmata에는 재시도/재 연결 논리가 없으므로이를 개발하면 안됩니다. akasonlyaks는 Arduino 측에서 규칙적인 간격으로 실행되는 재 연결 논리 코드를 작성합니다. – Jackie

+0

Arduino 측에서는로드 된 유일한 것이 firmata 코드라는 것을 알고 있습니다.블루투스 연결은 TX/RX에서 배선하고 직렬을 시작하는 것만 큼 간단합니다. 그래서 재시도 로직을 어떻게 통합해야하는지 잘 모르겠습니다. – Jasper

관련 문제