4

Mac 上の Python で Suunto t3 ウォッチと通信するためのドライバーを作成したいと考えています。私の日常の仕事は C# で基本的な Web 作業を行っているため、Python と Mac での開発に関する知識は限られています。

一般的にドライバ開発を開始し、次に具体的には Mac でどのようにドライバ開発を開始するかを提案できますか? つまり、どのデータがデバイスに送信されているかを簡単に確認する方法は? Python 2.5 (MacPorts) を稼働させています。

4

2 に答える 2

4

Mac には、USB をサポートするための基盤となるインフラストラクチャが既にあるため、それを利用できる Python ライブラリが必要になります。USB、RS-232、GPIB のいずれであっても、シリアル サポートが必要な Python プロジェクトには、SourceForge の PyVisa ライブラリをお勧めします。http://pyvisa.sourceforge.net/を参照してください。

デバイスに VISA ドライバーがない場合は、USB システムを直接処理する必要があります。そのために SourceForge の別のライブラリを使用できます: http://pyusb.berlios.de/

于 2008-10-04T14:20:31.507 に答える
3

時計がHIDやシリアル通信などの標準のUSBデバイスクラス仕様をサポートしている場合は、OSにその時計用のMacintoshドライバーがすでに組み込まれている可能性があります。それ以外の場合は、通信に使用されるベンダーコマンドに関する情報を次の3つのソースのいずれかから取得する必要があります。Windowsドライバーで使用されるプロトコルをリバースエンジニアリングします。または、LinuxまたはBSDでデバイスをサポートするために、プロトコルをすでにリバースエンジニアリングしている他のユーザーから。

USBはパケットベースのバスであり、さまざまなトランザクションタイプを理解することが非常に重要です。USB仕様を読むことから始めるのが良いでしょう。

USBバスアナライザを使用して、どのデータがデバイスに送信されているかを確認できます。これは、趣味の人にとっては高価な提案ですが、USB開発を行うほとんどの企業の手の届く範囲にあります。たとえば、CatalystConquestは$1199です。もう1つの確立されたメーカーは、LeCroy(以前のCATC)です。OSのUSBスタックに接続するソフトウェアUSBアナライザーもありますが、バス上のすべてのトラフィックを表示するわけではなく、信頼性が低い場合があります。

私はMacの専門家ではないので、この段落を少し理解してください。AppleにはI / O Kitと呼ばれるドライバー開発キットがあります。これには、何らかのユーザーがいない限り、C++でドライバーを作成する必要があるようです。 -モードドライバーフレームワーク。Pythonで作成している場合は、他の人(Apple?)の汎用USBドライバーに接続するPythonライブラリのようなものになるでしょう。

于 2008-10-04T13:55:06.287 に答える