Python에서 클라이언트가 아닌 블루투스 호스트 장치로 Pi 실행
다른 장치가 파이를 검색하고 페어링 할 수 있도록 파이를 블루투스 장치로 사용하는 몇 가지 예제 코드를 찾으려고합니다. 특히 저는 제가 염두에두고있는 프로젝트에서 자전거 파워 미터처럼 작동하도록 만들고 싶습니다.
Google에서 검색 할 정확한 키워드를 찾을 수없는 것 같지만이 사이트를 둘러 보면 가능한 것 같습니다 (누군가 그것을 블루투스 프린터로 사용하는 것을 보았습니다.)
정말 필요한 방향이 있습니다. 도서관이나 검색 할 내용이있을 수도 있습니다.
답변
내 가정은 Bluetooth SIG에서 정의한 표준 사이클링 프로필 / 서비스 중 하나가되는 것입니다 .
이들은 Bluetooth 저에너지 (BLE)이며 GATT 사양을 사용합니다.
Linux에서 Bluetooth 스택은 D-Bus를 사용하여 API를 노출하는 BlueZ입니다. 예를 들어 GATT API는 다음 위치에 설명되어 있습니다.https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/doc/gatt-api.txt
귀하의 장치는 GATT 서버 생성을 의미하는 주변 장치 역할을 수행합니다. BlueZ 소스 코드에 이에 대한 예가 있습니다.https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/test/example-gatt-server
주변 장치도 GATT 서비스를 광고해야합니다. https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/test/example-advertisement
기본적으로 RPi는 BR / EDR (클래식) 및 LE Bluetooth입니다. BLE 주변기기로 작동 할 때는 컨트롤러를 Bluetooth Low Energy로만 구성하는 것이 좋으며 Android 휴대폰에 안정적으로 연결하려면 이것이 필요하다는 사실이 밝혀졌습니다. 이 구성 변경은 /etc/bluetooth/main.conf
파일 에서 수행 됩니다. 다음이 포함되어 있는지 확인하십시오.
ControllerMode = le