問題タブ [pyserial]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
1784 参照

python - シリアル ポート経由で受信した 2 つの連続するパケット間の時間を計算する Python スクリプト

Bluetoothを介してシリアルポート経由で送信されるデータを読み取り、連続する各パケット間の経過時間を計算できるPythonスクリプトを作成する必要があるコードをデバッグしています.シリアルポートからデータを読み取る方法は知っていますが、各パケット間の時間の計算に問題があります。

どんな提案でも非常に役に立ちます。

ありがとう!

0 投票する
1 に答える
3086 参照

python - pySerialがPython3.2.2で動作しない

32ビットバージョンのPython3.2.2をインストールし、pySerialパッケージを機能させたいと考えています。私は間違いなくpyWin32パッケージをインストールしていますが、シリアルをインポートしようとすると、このエラーが発生します

何か助けはありますか?

0 投票する
3 に答える
4357 参照

python - pyserial/python とリアルタイム データ取得

シリアルポート経由で通信している赤外線カメラ/トラッカーがあります。現時点では、これを行うために pyserial モジュールを使用しています。カメラは、追跡対象のオブジェクトの位置を 60 Hz のレートで更新します。追跡対象のオブジェクトの位置を取得するために、1 つの pyserial.write() を実行してから、pyserial.read(serialObj.inWaiting()) で着信応答をリッスンします。応答/位置が受信されると、while ループが再入力されます。私の質問は、このアプローチの信頼性と速度に関係しています。コンピュータが少なくとも 60Hz の速度で位置を取得する必要があります (そして、位置は UDP 経由でリアルタイム OS に送信されます)。これは Pyserial/Python でできることですか、それとも別の C ベースのアプローチを検討する必要がありますか?

ありがとう、ルーク

0 投票する
2 に答える
13567 参照

pyserial - pySerialとバイナリデータの読み取り

通信しているデバイスがバイナリデータを送信すると、そのほとんどを回復できます。ただし、一部のバイトが欠落しているように見え、非標準の文字に置き換えられています。たとえば、1つの個別の出力は次のようになります。

ピリオドと等号は、16進形式の従来のバイトである必要があります(これは別のアプリケーションで確認しました)。また、「)」や「s」などの他の奇妙な文字が表示されることもあります。これらの文字は通常、まったく同じ場所にあります(これは、デバイスに渡したコマンドによって異なります)。

この問題を解決するにはどうすればよいですか?

0 投票する
1 に答える
1576 参照

python - pySerialはASCIIとして整数に変換する方法を受け取りますか?

pySerialを使用してMSP430モジュールと通信しています。このモジュールはシリアルで送信しており、私はpySerialを使用して読み取りを行っています(com.read(20)のように)。しかし、pyserialが受け取るタイプはasciiです。したがって、MSP430から0x37を送信すると、「7」として受信され、[0x370x10x37]の「7☺7」のような文字列としてすべてが渡されます。意図したのと同じ配列形式でデータを取得するにはどうすればよいですか。次のステップは、pylabを使用してプロットすることです。

0 投票する
0 に答える
2057 参照

python - Pyserial とハンドシェイク

pyserial と完全なピンが接続されたケーブルを使用して rs232 経由で通信しようとしています (たとえば、個別の RTS)。

問題は、「xonxoff」と「rtscts」を False に設定しているにもかかわらず、接続されたデバイスの RTS ラインを 1 に設定した場合にのみ通信が実行されることです。

また、RTSを設定せずに同じケーブルを使用してデータを送受信できる単純なcommonitorプログラムがあり、pyserialからその動作をしたい..

RTS を CTS に接続できることは理解しています (またはこのようなもの、覚えていません) が、合わない場合もあります..

ありがとうございました!

0 投票する
1 に答える
5591 参照

python - プロット中にpySerialでリアルタイム値を読み取る

これが取引です。9600ボーでシリアルポートを介してデータを送信するモジュールがあり、matplotlibを使用してそのデータをリアルタイムでプロットしています。私はこのコードを書きました

20バイトを取得してから10バイトを作成します(2バイトのデータは送信中に2つの1バイト値として分割されます)。しかし、私はこれからリアルタイムの値を取得していないことに気づきました。それが重要な場合、私はWindows 7HomeBasicを使用しています。

なぜこれが起こっているのか手がかりはありますか?

編集

また、プロットをクリックするたびにハングします。

0 投票する
4 に答える
7208 参照

python - Arduinoからのラインの読み取りにおけるPySerialの遅延

ここで概説されているように、基本的な「DigitalReadSerial」セットアップでarduino unoを使用しています:http://arduino.cc/en/Tutorial/DigitalReadSerial

arduino IDE に含まれているシリアル モニターを使用すると、ボタンを押すことによる変更がすぐに表示されます。

これは、ボタンが押されているかどうかに応じて、0または1のpyserialで必要なものです。(最終的にタイマーをトリガーするため)

それをテストするために、私はこれを一緒に投げましたが、最もきれいではありませんでしたが、プッシュボタンの状態を読み取っているように見えますが、20 秒の遅延があります。

誰にもアイデアはありますか?

0 投票する
1 に答える
3701 参照

python - パッシブ シリアル ポート モニター

私は pyserial を使用して 2 つのポートを開き、もう一方から読み取ったものをそれぞれに書き込みます。次に、これらのポートの 1 つに物理 COM ポートを接続し、もう一方のポートに仮想 COM ポートを接続します。仮想 com ポートは、シミュレーターが接続する 2 番目の仮想 com ポートに接続されます。

スクリプトで通信が正しく COM ポートに出入りしていることがわかりますが、ハードウェアがシミュレータと正しく通信できていないため、何かが正しくありません。

Python スクリプトの代わりに実行できる古い C アプリがありますが、これは正しく機能します。しかし、それは非常によく書かれておらず、すべてのバグを修正することにあまり関心がありません。なので、このアプリを Python スクリプトに置き換えたいと思っています。最終的には、ポートを通過するデータをタイムスタンプ付きでログに記録したいと考えています。

どちらの場合も正しいボーレートを使用していますが、何かが足りないようです。DTR など、各ポート間で信号を転送する必要がありますか? pyserial には次の機能があります。

どのシグナルに興味がありますか?

編集:

ポートごとにこれらの値をポーリングすると、次のようになります。

getCTS()、getDSR()、getRI()、getCD()

取得: True、False、False、True COM1 False、False、False、False VCOM2

ただし、CD が false になることがあります。これを VCOM2 経由で転送するにはどうすればよいですか、またはこれを行う必要がありますか?

編集:

これが私のコードです。通信が開始されると、スクリプトがロックされ、コンピューターを再起動してポートを解放する必要があります。関連する python プロセスを Windows 7 で強制終了できません...

0 投票する
1 に答える
3387 参照

modem - 接続中に pySerial 経由で 3G モデムと通信するにはどうすればよいですか?

Ubuntu 11.04 と ZTE 3G モデムを実行しています。

モデムはでダイヤルされますWvDial

モデムが使用されていないときは、WvDialAT コマンドをモデムに送信して、信号強度などの情報を取得できます。

しかしWvDial、モデムを使用している場合/dev/ttyUSB0はロックされており、照会できません。明らかな何かが欠けていますか?WvDial接続中に AT コマンドをモデムに送信できるように、モデム、または pyserialを構成する方法はありますか?