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

python - pySerial を使用して非 COM ポートに接続する

ハイパーターミナルでは、「X64-CL_iPro_1_Serial_0」と呼ばれるシリアル ポートに接続でき、カメラとの間で ASCII テキストを送受信できます。ただし、pySerial で同じポートに接続しようとすると、例外がスローされます。

SerialException: could not open port X64-CL_iPro_1_Serial_0: [Error 2] The system cannot find the file specified.

ハイパーターミナルがポートを検出して通信できる理由がわかりませんが、Python はできません。シリアル ポートのリストを表示する pySerial Web サイトからこのスクリプトをダウンロードしましたが、表示されたポートは COM1 と COM2 だけで、どちらにも接続できませんでした。

私のコードは非常に単純で、次のようになります。

私は何か間違ったことをしていますか?これを回避する方法はありますか? ありがとうございます。

編集: このポートはデバイス マネージャーに表示されず、COM1 や COM2 にも表示されないことにも注意してください。

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

python - Pythonで整数を符号付き単語に変換するにはどうすればよいですか(PySerialで使用するため)?

pyserialを使用してPythonをハードウェアディスプレイと通信させるのに問題があります。ディスプレイの機能の中には、コマンドの後に引数として署名された単語を送信する必要があるものがあります(つまり、ディスプレイ画面のXまたはY)。

以前はchr()を使用してきましたが、これは255未満の数値でのみ機能します。

私は変換のために以下を試しましたが、それはいくつかの奇妙な結果をもたらし、設定された位置から物事を大きく外します:

私はここで自分自身から離れているかもしれません:)

私がそれをどのように使うかの例:

これを行うと、x100、y350に配置されないため、ほとんどの場合、ディスプレイがクラッシュします:(

これを適切に行うためのヒントはありますか?

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

python - PythonPySerial読み取り行のタイムアウト

組み込みデバイスとの通信にpyserialを使用しています。

したがって、CMDをデバイスに送信すると、次の長さのさまざまな文字列で応答します。'\n'

デバイスが再生できない場合は、readline()タイムアウトしてz=''

デバイスが中断されたりクラッシュしたりすると、データが送信されてタイムアウトになり、zは末尾にreadline()aが付いていない文字列になります。'\n'

readline()zの状態をチェックする以外に、タイムアウトしたかどうかをチェックする良い方法はありますか?

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

python - シリアル ポート: 送信する必要があります \n

[編集] 最初は、これは pyserial の問題だと思っていましたが、そうではありませんでした。基本的に、これはシステムの問題です。シリアル ポート (/dev/ttyS0) 経由で何かを送信するには、「\n」または「\r」が必要です。そうしないと、単にバッファリングされます。以下、元の質問です。Linux ドライバーの制限ですか、それとも変更できる設定はありますか?

こんにちは、

pyserial を使用してテスト コードを記述しようとしています。実際にはバイナリ データを送信しますが、それは私の問題ではありません。私の問題は次のとおりです。pyserial write() コマンドは、「\n」が表示されたときにのみ実際にデータを送信するように見えます。

純粋なテキスト ファイルを送信するには、次のコードを使用します。

s.write(l) の後に s.write("\n") を挿入しない限り、反対側には何も表示されません。pyserial を作成して、いつでも好きなものを送信できる方法はありますか?

ありがとう、

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

c# - C# または Python での COM ポートへの書き込み

Visual Studio C# を使用して USB シリアル アダプタである COM4 に文字列を書き込もうとすると、次のエラーが発生します。

ポート「COM4」へのアクセスが拒否されました。

私のプログラムは非常に単純です:

また、pythonでpyserialを使用してみましたが、次の結果が得られました。

この質問はプログラミングとはあまり関係がなく、おそらくWindows 7の問題であることは知っていますが、誰かがすでに同様の問題を抱えていることを望んでいました.

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

python - Twistedのシリアルポートと消えるシリアルポートデバイス

私はtwisted.internet.serialportを使用して、プログラムをシリアルポート上のデバイスに継続的に接続しています。

残念ながら、私のシリアルポートは単なるUSBデバイスです。つまり、OSによっていつでも切断またはリセットできます(ポート2はハブ(EMI?)によって無効にされ、再度有効になります...)。pyserialはこれを数週間サポートしていて、SerialExceptionを発生させているようです。

私がやりたいのは、数秒ごとに消えたシリアルポートに再接続してみることです。

それで、切断について私に通知するようにツイストに伝える方法はありますか?または、先に進んでpyserialのスレッドラッパーを作成する必要がありますか?

ありがとう

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

python - pyserial で問題を引き起こす signal.alarm() ハンドラ

USB経由でPythonアプリと通信しているavr microに接続されたモーションセンサーがあります。私は通信を行うためにpyserialを使用しています。スクリプト中に、avr micro からのデータをチェックする無限ループがあります。このループの前に、サブプロセスを終了する関数を呼び出す signal.alarm() でタイマーを開始します。このアラームが発生すると、pyserial 通信が中断され、プログラムは完全に終了します。pyserial read() が中断されたというエラーが表示されます。この問題を回避する方法はありますか。どんな助けでも素晴らしいでしょう

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

python - Pythonシリアルポート

Pythonでシリアルポートと通信したい。Linux用にpyserialとusppをインストールしました。

次のエラーが発生します。

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

python - クロスプラットフォームのPythonでUSB GPSを見つける

GPS USBドングルから読み取るpythonアプリに取り組んでいます。これまでのところ、すべてがubuntu / debianベースのシステムで実行されており、38400ボーでNMEAセンテンスを話す何かをpySerialで/ dev / ttyUSB0-9のすべてをスキャンするかなり鈍い方法でgpsと通信しました。今、私はこのアプリをクロスプラットフォームで動作させるように頼まれました.gpsドングルを見つける最良の方法はどれか少し混乱しています.

私は次の行に沿って何かを考えました:

しかし、クロス プラットフォームで機能する単一のソリューションが必要です。誰もそのような解決策を知っていますか?

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

python - 3回読んだ後のpySerialフリーズ

写真をプログラミングしていて、データを送信しようとしているときにシリアルポートにデータを送信すると、プログラムがロックされると診断しました(テストすると、Pythonコードとハイパーターミナルの両方がクラッシュします)。ハイパーターミナルで動作し、ゆっくりと入力し(ストローク間で> .5秒)、キーボードをバッシングするとクラッシュしました。したがって、0.5秒より長いtime.sleepを導入しましたが、それでも機能していません。

これがテストコードです。

データ受信機能。以前は、charを受信するたびに「ok」が送信されていました(これにより、3回の反復後にフリーズすることがわかります)。それが問題の原因であるかどうかを確認するためにループの外に持ってきましたが、そうではありませんでした。このコードでは「ok」をまったく送信していません。