2017-01-27 5 views
0

BLE를 사용하여 외부 장치와 통신하는 응용 프로그램을 개발하려고합니다. 나는 pygatt (Python)을 BGAPI (BlueGiga 동글 사용)으로 사용하기로 결정했다.GATT 응용 프로그램에서 읽기 속성을 찾을 수없는 특성

내가 통신하고있는 장치에는 일련의 특성이있는 사용자 지정 기본 서비스가 있습니다. 사양에 따르면 2 개의 READ 특성, 8 개의 NOTIFY chars 및 1 개의 WRITE char이 있습니다. 처음에는 두 개의 READ 문자 중 하나를 읽고 싶지만 그렇게 할 수는 없습니다. 해당 UUID가 특성으로 인식되지 않습니다. 어떻게 될 수 있습니까? 나는 그들이 정확하게 입력되었는지 100 % 확신합니다.

import pygatt 
import bleconnect 
import blelib 
import logging 


logging.basicConfig() 
logging.getLogger('pygatt').setLevel(logging.DEBUG) 

adapter = pygatt.BGAPIBackend(serial_port='/dev/tty.usbmodem1') 
adapter.start() 

# Find the device 
result = adapter.scan(timeout=5) 
for item in result: 
    scan_name = item['name'] 
    scan_rssi = item['rssi'] 
    scan_address = item['address'] 
    if scan_name == bleconnect.TARGET_NAME: 
     break 

# Connect 
device = adapter.connect(address=scan_address) 
device.char_read(blelib.CHARACTERISTIC_DEVICE_FEATURES) 

디버그 메시지에서 모든 NOTIFY 및 WRITE 특성을 볼 수 있지만 두 가지 READ 특성은 확인할 수 없습니다.

무엇이 누락 되었습니까?

답변

0

이것은 pygatt API에서 일종의 단점 인 것으로 보입니다. 나는 bgapi만을 사용하여 실제 값을 찾을 수있었습니다.