2016-10-28 4 views
2

BLE 장치와 gatttool에 대해 계속 묻는 질문.Gatttool 비대화 형 모드 --char-write

대화 형 모드에서 char-write-cmd를 보낼 수 있지만 비 대화식 모드에서도 동일한 작업을 수행 할 수 없습니다.

이것은 내가 대화 형 모드에서 보낼 것입니다 :이 방법으로

gatttool -I 

[]> connect BTADDR 

[BTADDR]> char-write-cmd 0x0040 01 

[BTADDR]> exit 

내가 내 경우에는 부저 소리를 만드는 알림 서비스를 시작합니다.

이론적으로, 비 대화 형 모드가 있어야한다 :

gatttool -b BTADDR --char-write -a 0x0040 -n 01 

그러나이 이사회에 요청 명령 이벤트를 전송하지 않습니다, 나는 dev에 보드를 사용하여 확인하고 있습니다.

+0

나는 똑같은 문제가 있습니다. 대화식 모드는 작동하지만 비 대화식 모드는 작동하지 않습니다. 비 대화식 모드에서 쓰기 요청을 보낼 수 있지만 비 대화식 모드에서 쓰기 명령을 보낼 수 없습니다. 내가 gatttool에 대한 소스 코드를 봤는데 어떤 명백한 오류를 볼 수 없습니다. 작동시킬 수 있었습니까? –

답변

2

읽거나 주변 귀하의 BLE에 쓸 수있는 수동 (비 대화식) 방법 :

쓰기 및 한 번 답장을 받으려면 님의

sudo gatttool -i hci0 -b xx:xx:xx:xx:xx:xx --char-write-req -a 0x0025 -n ff 

을 (당신이 당신의 BLE 장치를 구성하는 방법에 따라) 작성하고 무기한 응답을받지 : (당신이 BLE 장치에서 분리하거나 블루투스 클라이언트를 중지 할 때까지)

sudo gatttool -i hci0 -b xx:xx:xx:xx:xx:xx --char-write-req -a 0x0025 -n ff --listen 

공지 사항 난 단지 끝에 --listen 옵션을 추가했습니다. 이 메커니즘은 BLE 노드 (센서 또는 액추에이터)가 읽고 응답하도록 구성한 경우에만 작동합니다. 소스 :: How to use gatttool non-interactive mode Bluetooth Low Energy: listening for notifications/indications in linux

나는 아직도 그것을 제어 또는 BLE 장치에서 값을받는 것이 가장 생각하지 않는다, 말했다 모든. 내 방향은 앞으로 나아가서 파이썬에서 API를 사용하여 작업을 수행하는 것입니다.

https://github.com/peplin/pygatt 이 API는 Raspberry Pi Jessie destro와 함께 작동하는 것으로 입증되었습니다.

+0

BLE 장치에서 값을 제어하거나 가져 오는 것이 가장 좋다고 생각하지 않습니다. 왜죠? pyGATT는 내부 구현에서 gatttool CLI 접근 방식을 사용합니다. CLI 사용 방법이 마음에 들지 않으면 BlueZ Lib을 사용하여 네이티브 라이브러리를 구현하는 것이 좋습니다. –

관련 문제