問題タブ [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 投票する
1 に答える
6292 参照

linux - デバイスを開くときにLinuxシリアルポートバッファが空ではありません

予期しないシリアルポートで奇妙な動作が見られるシステムがあります。以前、usb-to-serialアダプターでこれを時々見ましたが、今では、はるかに高い頻度で、ネイティブシリアルポートでも見ています。

システムは自動テストを実行するように設定されており、ポートを開いていないときにシリアルデバイスから大量のデータを出力するいくつかのタスクを最初に実行します。デバイスも自動的にリセットされます。tx/rx回線のみが接続されています。フロー制御はありません。

これらのタスクが完了すると、テストウェアはシリアルポートを開き、予期しない応答を受け取るため、すぐに失敗します。これを再現すると、ターミナルプログラムでシリアルポートを開くと、数キロバイトの古いデータ(ポートが閉じられたときに送信されたように見える)がすぐにフラッシュされることがわかりました。このプログラムを閉じると、期待どおりにテストを実行できます。

これを引き起こす原因は何ですか?デバイスが閉じている場合、Linuxはシリアルポートのバッファリングをどのように処理しますか?デバイスを開いて出力を送信させてから、読み取らずに閉じた場合、同じ問題が発生しますか?

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

python - PythonコードをArduino(Uno)に「コンパイル」する方法はありますか?

Arduino Unoを使ったロボット型プロジェクトがあります。簡単に言うと、いくつかのAIアルゴリズムを試しています。ただし、 NumPy / SciPyを使用すると非常に単純な高レベルのマトリックスアルゴリズムを実装する必要がありますが、CまたはC++ではまったく悪夢です。そこに図書館があるとしても、これはばかげているだけです。

Pythonでこのプロジェクトを実行する方法はありますか?Megaがこの機能を持っていることについて何か聞いたと思いますが、私はUnoを持っており、それを置き換えることは現時点ではオプションではありません(プロジェクトをかなり後退させるでしょう)。また、Pythonを使用して通信することについて何か聞いたことがありますUSB経由でArduinoに接続しますが、実行中はUSBケーブルを接続できません。プログラムをアップロードして、それを実行できるようにする必要があります。

そこにオプションはありますか、それとも行き止まりになりましたか?

0 投票する
5 に答える
8868 参照

python - PySerial が Arduino と通信していない

  • Python バージョン: 2.6.6
  • PySerialバージョン: 2.5
  • Arduino ボード: Duemilanove 328

使用しているハードウェアをシミュレートするコードをいくつか作成し、Arduino ボードにアップロードしました。このコードは機能します。ハイパーターミナルから期待どおりの応答が得られるので、これはわかっています。

ただし、PySerial を使用して接続しようとすると、接続はエラーになりませんが、送信したコマンドに応答がありません。

これはなぜでしょうか?

Python コード

\r\n注意: Arduino のコードは、コマンドへの応答の最後に送り返します。

ハイパーターミナル構成:

ハイパーターミナルでの COM4 構成

編集

タイムアウトを 10 秒に増やし、sp.readline()何かを送信する前に a を追加すると、両方のコマンドに対する応答が得られることがわかりました。

PySerial と Arduino または USB RS-232 ポート間のハードウェア ハンドシェイクは通常どのくらいの時間ですか?

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

python - モデムに接続されているシリアル ポートを仮想 COM ポートに接続する必要がある

モデムに接続された生のシリアル接続に接続できる必要があります。

モデムには IP アドレスとポートがあります。

このプログラムは 1 つのインスタンスで動作しますが、必要なライセンスの量に対して高価であり、何かコーディングしたいと考えています: http://www.serial-port-redirector.com/

リモート IP をローカルの仮想 COM ポートに接続します。

pyserial を使用して同じことを行うことは可能だと思いますが、その方法を理解するのに苦労しています。

このページの半分はそれを説明しています: http://pyserial.sourceforge.net/examples.html#miniterm

しかし、私はまだ迷っています。誰かが Python で rfc2217 を使用する方法を理解するのを手伝ってくれたら、それはうまくいきます。

どうもありがとう!

+ linux/windows のどちらでもよいでしょう。

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

matplotlib - pyserialとmatplotlibを使用したライブプロット

pyserialを介してシリアルデバイスからデータをキャプチャできます。現時点では、データをテキストファイルにエクスポートすることしかできません。テキストファイルの形式は次のようになり、3つの列があります。

ここで、matplotlibを使用してライブグラフを生成したいと思います。2つの図(x、y)x、yは2番目と3番目の列、最初の列、'>'であり、データのない行は削除できます

皆さんありがとう!

============================

更新:今日、からこれらのガイドに従ってください

http://www.blendedtechnologies.com/realtime-plot-of-arduino-serial-data-using-python/231 http://eli.thegreenplace.net/2008/08/01/matplotlib-with-wxpython-guis pyserial-シリアルデバイスから送信された最後の行を読み取る方法

今、私はスレッディングでプロットを生きることができますが、このGuisは毎回単一の値しかプロットしないと言いました。これは非常に大きな制限につながります。私の目的は2列または3列をプロットすることであるため、コードは混合技術から変更されました。

これがシリアルハンドラーです:スレッドからインポートスレッド

私の場合、このセグメントを変更して、最初の列のデータを取得できるようにしました

GUIファイルでこれらの関数に基づいてグラフを生成します

.................................................

したがって、次の質問は、少なくとも2列をリアルタイムで取得し、2列のデータをGUIに渡して、2軸のグラフを生成する方法です。

0 投票する
7 に答える
29838 参照

python - PySerial [エラー 5] アクセスが拒否されました

シリアル ポート (COM4) をチェックし続け、シリアル ポートから文字 "1" が読み取られたときにメッセージを出力するようにループするプログラムを Python で作成しようとしています。ボタンを押すと、Arduinoガジェットからシリアルポート経由で「1」を送信したい。

ただし、シリアル オブジェクトのインスタンスを作成しようとすると、「[エラー 5]: アクセスが拒否されました」というエラーが表示されます。(これを処理する PySerial パッケージのファイルからわかることから、エラーが発生したインスタンス化時に自動的に開こうとします。)

私のコード:

ただし、「c = serial.Serial('COM4', 9600)」を超えることはありません。ここでエラーがポップアップします。これを修正するにはどうすればよいですか?

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

python - Device or resource busy: '/dev/ttyUSB0'? を発生させるプロセスを強制終了しますか?

次の Python コードを使用して Arduino ボードに接続します。

通常は機能しますが、再起動後に他のプロセスがボードにアクセスしている必要があり、エラーが発生します

serial.serialutil.SerialException: ポート /dev/ttyUSB0 を開けませんでした: [Errno 16] デバイスまたはリソースがビジーです: '/dev/ttyUSB0'

USB プラグを抜き差しすると、エラーが発生することなく Python コードを正常に実行できます。ポートをブロックする他のプロセスを回避するにはどうすればよいですか? また、このエラーの原因を特定するにはどうすればよいですか?

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

python - Macにmacportspython(python27)を使用してpyserialをインストールする際の問題

(私のMacに)macportsを使用してpy-serialをインストールしましたが、既存のpython27を使用する代わりにpython24をインストールしました。

したがって、Macports py-serialがインストールされているpython24を使用すると、py-serialをインポートできます。

しかし、これらのいずれかを使用してpython27にインポートすることはできません

このエラーが発生します

正しいバージョンが選択されていることを確認しました。

アンインストールして再インストールしようとしましたが、それでも上記と同じエラーが発生します

これは私のmacports/pythonに関連する問題であり、py-serialではないと思います。どんな助けでも大歓迎です。

0 投票する
8 に答える
105488 参照

python - pyserial for Python 2.7.2

I'm new to Python. According to the internets I was looking for the module pyserial after receiving this error:

I first tried to install pywin32, it went well. But it seems not to contain pyserial. :-(

Then I found a single module installer for pyserial, I was not able to install it, it says it did not found the path to python in the registry. :-(

After that I found this module on python.org, but I don't know what to do, it does not come with an installer. :-(

How can I add pyserial to Python (64) 2.7 on Windows 7 64?

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

wxpython - How to live キャプチャした pyserial データに基づいて新しい価値をプロットする

この質問は、pyserial と matplotlib を使用したこの 1 つのライブ プロットの次の質問です。

これで、データをライブ プロットできますが、たとえば、プロットを y = 0 から開始する必要があります。

これは、pyserial を使用した私の var_y 変数のキャプチャです

var_y がどのように変化しても、プロットは常に y = 0 から開始する必要があります