2017-12-10 5 views
0

Pythonでlibpruioやlibpruw1(http://users.freebasic-portal.de/tjf/Projekte/libpruw1/doc/html/)を使用する方法はありますか? libpruw1をdsファイル(ここではhttp://www.bonebrews.com/temperature-monitoring-with-the-ds18b20-on-a-beaglebone-black/と記されています)を使って「通常の」方法よりもはるかに高速にするために、libpruw1を使用して(10以上の)ds18b20を使用したいと考えています。各センサーの0.7秒ではなく、すべてのセンサーで1秒未満です。そして私はそれがmax_slave_count = 10の制限を持っていないことを理解しています。Pythonでlibpruioとlibpruw1を使用していますか?

答えて

0

1)あなたのアイデアは正しい:libpruw1を使用すると約10秒間に10個のDallas温度センサーをサンプリングでき、センサー数には制限がありません。

2)libpruw1はlibpruio(ピンマッチング用)に基づいています。両方のライブラリを実行する必要があります。

3)Pythonでそれらを使用するには、両方のライブラリのPythonバインディング(APIラッパー)が必要です。

したがって、主な問題はラッパーを取得することです。

WWW上で見つけることができますが、libpruio(すなわち、https://gist.github.com/clouetb)、AFAIKのみがあります。ラッパーがあなたのlibpruioバージョンと一致していることを確認してください。

また、Cバインディング(pruio.h & pruw1.h)の変換にSWIG(www.swig.org)を使用して、ライブラリソースからラッパーを作成することもできます。

fb-docを使用する別のオプションがあります。オリジナルのFreeBASICソースコードのctypesに基づいてPythonバインディングを生成できる外部モジュール(https://github.com/DTJF/fb-doc/blob/master/src/bas/plugins/py_ctypes.bas)をパッケージ内で検索します。そのため、https://github.com/DTJF/libpruiohttps://github.com/DTJF/libpruw1で公開されている最新バージョンを使用することをお勧めします。

+0

TJF、あなたの答えに感謝します。私がSWIGオプションを選択した場合、それらのラッパーを生成するだけでは不十分です。ここで説明されているいくつかの準備ステップを経なければならないでしょうか(http://users.freebasic-portal.de/tjf/Projekte/libpruw1/doc/html/ChaPreparation.html) – SteffenUM

+0

私はプリコンパイルされたパッケージを公開していませんlibpruw1はまだありませんので、バイナリをコンパイルするには、 "M"というラベルの付いた手順を経なければなりません。 – TJF

関連する問題