2016-06-28 14 views
0

Windows Raspberry Piに移植したいアンマネージドC++アプリケーションがあります。もともとは組み込みプラットフォーム上で開発されましたが、プラットフォーム固有のコードの10〜15%を覆うために、擬似HALを使用して可搬性が高くなるように書かれていました。したがって、Windowsのデスクトップに簡単に移植する/実行することはもちろん、一般的な〜85%の変更をゼロにすることもできます。現在、BT/LEのサポートを追加したい(またはANTを置き換える可能性がありますが)ANT +センサーをサポートするように書かれています。それは、書き直しなしでも可能であれば、大量のドキュメントやオンラインのサンプルをオンラインで見ることからはっきりとは分かりません。もしそれがそれになるのであれば、代わりにLinuxをターゲットにするでしょう。とにかく、3つの質問RP/WinのアンマネージドC++ BT/LEとプログラムでペアリングできますか?

(1)それは可能ですか?

(2)最善のアプローチ(つまり、どのAPIを検討する必要がありますか、アンマネージドで使用するにはどうすればよいですか)

(3)RPをターゲットセンサーと即座にペアリングする方法はありますか?つまり、使用可能なセンサーをスキャンし、あらかじめ定義されたタイプと可能であればIDでペアリングします(もしあれば、 ?

私はこのような未解決の質問をするのは嫌いですが、すべてがUWP指向であるため、私が実際に見てきた例からは分かりません。もしそうなら、実現可能性についてのイエス/ノーと正しい方向へのポイントを得ることを探しているだけです。任意の入力のおかげで、クリス

答えて

0

私は同じ道を下る他の誰のためにこれをフォローアップするはずと考えた...ここで私は最終的に見つけたものだ -

1)はい...それさえも可能ですそれが可能だ。ドキュメンテーションの欠如のために私はそれを稼働させることができました/私が思いついたものは、最適な解決策ではないかもしれません。私がやった限られたテストからは確かなように思える。

2)最高のアプローチは何ですか...これも最善のアプローチですが、非常に短い答えは、COM経由でWRLを使用する必要があるということです。スキャンとペアリングの両方に必要なすべてのインタフェースは "windows.devices.enumeration.h"にあり、ABI :: Windows :: Foundationという名前空間を使いたいと思うでしょう。 Microsoft :: WRL; Microsoft :: WRL ::ラッパー; ABI :: Windows :: Devices :: Enumeration。必要なオブジェクトやインタフェースの多くはドキュメント化されていないため(たとえば、「IDeviceInformationStatics2」など)、QueryInterfaceを使用して入手可能なものを見つける必要があります。

3)プログラムでペアリングする方法はありますか?はい、上記のように可能です。それをすべて取りに行き、それを稼働させるのに数週間かかりましたが、オンラインで様々な関連する例を見て、それを一緒につなぎ合わせるとうまくいくようです。私が心配していたことの1つは、UIなしで必要に応じてBLEピンコードを渡すことでした。それも実際には文書化されていません(「AcceptWithPin」を参照)。

関連する問題