2016-06-28 10 views
0

Windows Raspberry Pi로 포팅하고 싶은 관리되지 않는 C++ 응용 프로그램이 있습니다. 그것은 원래 임베디드 플랫폼에서 개발되었지만 플랫폼 고유 코드의 10-15 %를 덮기 위해 가상 HAL을 사용하여 이식성이 높도록 작성되었습니다. 그래서 쉽게 포트/Windows 바탕 화면 에서뿐만 아니라 일반적인 ~ 85 %로 제로 변경 실행합니다. BT/LE 지원을 추가 (또는 ANT 대체 가능)하지만 ANT + 센서를 지원하기 위해 작성되었습니다. 그것은 다량의 문서와 예제를 온라인에서 보았을 때 다시 쓰지 않고도 가능하다면 분명하지 않다. 우리가 아마 리눅스를 대상으로 삼을 것이다. 어쨌든 세 가지 질문 -RP/Win의 관리되지 않는 C++ BT/LE 및 프로그래밍 방식으로 페어링이 가능합니까?

(1) 심지어 가능합니까?

(2) 그렇다면 최상의 접근 방식 (즉, 어떤 API를 살펴야하며 관리되지 않는 용도로 포장해야합니까?)

(3) 사용 가능한 센서를 검색하고 미리 정의 된 유형 및 가능하면 ID로 페어링하여 즉석에서 대상 센서와 RP를 프로그래밍 방식으로 페어링하는 방법이 있습니까 (그렇다면 어떤 API를 사용해야하는지) ?

개방형 질문을하는 것을 싫어하지만 모든 것이 UWP 지향적이기 때문에 온라인에서 보았던 예에서 명확하지 않습니다. 실제로 그 중 하나에 익숙하지 않습니다. 그렇다면 실현 가능성에 관한 예/아니오를 얻고 올바른 방향으로 향한 점을 얻으려는 것입니다. 모든 입력을 주셔서 감사합니다, 크리스

답변

0

내가 같은 경로 아래로가는 다른 사람이 후속 거라고 생각 ... 여기에 내가 결국 무엇을 발견 -

1) 예 ... 그것은 심지어 가능 있을 수있다. 내가 설명서를 찾지 못해서 제대로 작동하지 않을 수도 있었는데, 내가 생각한 것이 최적의 해결책이 아닐지도 모른다. 그것은 제한된 테스트에서 단단한 것처럼 보입니다.

2) 그렇다면 가장 좋은 접근 방법은 무엇입니까? 다시 말하지만 이것이 가장 좋은 접근 방법은 아니지만 매우 짧은 대답은 COM을 통해 WRL을 사용해야한다는 점입니다. 스캐닝과 페어링에 필요한 모든 인터페이스는 "windows.devices.enumeration.h"에서 찾을 수 있으며 다음과 같은 네임 스페이스 - ABI :: Windows :: Foundation; Microsoft :: WRL; Microsoft :: WRL :: 래퍼; ABI :: Windows :: 장치 :: 열거. 필요한 개체/인터페이스가 모두 문서화되어 있지 않으므로 (예 : 'IDeviceInformationStatics2') QueryInterface를 사용하여 사용 가능한 개체/인터페이스를 찾아야합니다.

3) 프로그래밍 방식으로 페어링 할 수있는 방법이 있습니까? 예, 위와 같이 가능합니다. 여러 가지 관련 예제를 온라인으로 살펴보고 함께 연결하면 작동하는 데는 몇 주가 걸렸습니다. 내가 걱정했던 한 가지는 BLE 핀 코드를 UI없이 필요한 곳에 전달하는 것이 었습니다. 그래도 실제로 문서화되지는 않지만 다시 작동합니다 ("AcceptWithPin"참조).