2016-12-06 2 views
0

내 Linux 데스크탑에서 Bluetooth를 사용하여 요청을 수신하는 작은 서버를 만들고 싶습니다. 클라이언트 (예 : 휴대 전화 또는 태블릿)는이 서버에 연결하여 데이터를 앞뒤로 교환합니다.양방향 통신을위한 Bluez 서버

간단해야하지만 Bluez의 새로운 DBUS 기반 API에 대한 최신 튜토리얼을 찾을 수 없으며 Bluez 문서는 기본적으로 방대한 데이터 덤프입니다.

진행 방법에 대한 제안 사항은 무엇입니까? (모든 주요 언어에 대해 DBUS 바인딩이 있기 때문에 사용되는 언어는 별 문제가되지 않습니다.)

답변

0

다음은 시작하기에 유용한 링크이지만 시작은 아닙니다. bluez5에 의해 노출 된 DBUS 인터페이스의

  • 대한 텍스트 (하고 최신) 설명 : https://git.kernel.org/cgit/bluetooth/bluez.git/tree/doc

  • 다음과 같은 경로에 prevous CGIT에서 GATT 클라이언트/서버의 예를 찾을 수 있습니다/나무/SRC는//

  • Bluez의 개요를 공유하며 DBUS 인터페이스 (2016 년 오픈의 IoT 정상 회의에서 주어진 회의)입니다 : https://www.youtube.com/watch?v=tclS9arLFzk

  • 당신은 예를 들어 필요한 경우 귀하의 dbus 바인딩, 나는 그들의 테스트 파일을 보는 것이 좋습니다

당신이 말했듯이, dbus 바인딩은 여러 언어로 있지만 언어는 중요합니다.

    예를 들어, 오래된 낮은 수준의 C API는

    내가 (특히 LE의 경우) 시작하려면 다음 단계를 제안 (freedesktop.org에 DBUS의 튜토리얼의 조언을 직접 참조) 권장되지 않습니다

  1. adapter-api.txt (첫 번째 링크) 설명을 읽고 org.bluez.Adapter1 인터페이스와 상호 작용할 프록시를 빌드하십시오 (프록시를 빌드 할 때 : name은 'org.bluez'이고 오브젝트 경로는/org/bluez/hci0 '은 adapter-api.txt에 설명되어 있습니다. StartDiscovery 및 StopDiscovery 스캔이 완료되면

  2. 장치와 상호 작용하는 프록시를 빌드 (당신이 MAC 주소는 "DEV_"앞에 나타납니다) 발견 된 장치를 찾기 위해 프록시 성찰을 인쇄 호출합니다 (읽기 device-api.txt 파일 설명을 참조하십시오.

  3. 장치의 서비스에 액세스하려면 LE의 경우. 장치 프록시를 인트로 검사하면 서버가 발견됩니다. Characteristics and Descriptors에 도달하기 위해 과정을 반복하십시오.