問題タブ [node-serialport]
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.
node.js - ノードは何かをする前にArduinoシリアルポート接続を閉じます
ノードを使用して、USBに接続されたArduino unoからシリアルを印刷しようとしています
私はファイルscript.jsを持っています:
Arduinoが持っている間にsudo node script.jsを実行します Serial.println(1);
端末で次のように表示されます:
opened
closed
Arduino IDEのシリアル モニタを開くと、正しく動作します。
シリアルポートが開いたままにならないのはなぜですか?
angular - Electron + Angular 2 + ノードシリアルポート
Electron + Angular 2 を使用してアプリケーションを構築しています。アプリケーションは node-serialport をロードする必要がありますが、これらのモジュールを一緒にロードするときに問題が発生します。
たとえば、Electron + Angular 2 を使用し、node-serialport を使用せずにアプリを実行すると、正常に動作しますが、node-serialport を使用してアプリケーション全体をロードすると、アプリケーション全体が正しく動作しなくなり、Angular 2 はバインドとして機能を停止します。
ありがとうございました。
node.js - Node.js サーバーからの応答が繰り返されないようにする方法
ノード サーバーから、ソケット サーバー (socket.io) によって接続されている Web クライアントに複数の応答が送信されるという問題が発生しています。Docklight で聞くと、シリアル デバイスから実際には 1 つの応答しか得ていないことがわかりますが、何らかの理由でノード サーバーが複数の応答を送信しており、それらが蓄積されているため、最初にシリアル コマンドを送信すると (そしてそれがどのコマンドでもかまいません) 2、3 回しか取得できず、次回はさらに 2 回、次回はさらに 2 回、というようになります。したがって、いくつかのシリアル コマンドを実行すると、多数の複数の応答が返されます。
当方の環境は Windows 7 64bit、Node V 4.5.0、シリアルポート V 4.0.1 です。ただし、完了したら、これを Windows、Mac、および Linux で実行する必要があります。開発チーム (私ともう 1 人) はどちらも Node.js にかなり慣れていませんが、それ以外は有能な開発者です。
.flush()
&.drain()
関数を正しく使用しておらず、シリアル ポート バッファにまだシリアル データが含まれていることが原因だと思います。私たちの独自のデバイスは、コマンドが完了するS>
と、または<Executed/>
プロンプトを返すので、どちらかが表示されるまでシリアル応答をバッファに保存してから、データを処理します (この例では、デバイスが応答しているかどうかにかかわらず、ブール値の応答を提供するだけです)。どちらか一方かどうか)。たとえば、<CR><LF>
デバイスの 1 つに を送信すると、応答するS>
(または<Executed/>
依存する) 必要があります。
クライアントはこれを使用してサーバーを呼び出します。
そしてサーバー上で、私が試しているのは次のとおりです。
.flush()
ここでの実装についてはよくわかりませんが.drain()
、どちらもほとんど何もしていないように見えるため、その部分を省略しました (正しく実装されていると仮定して)。
.write()
コマンドが完了したときにシリアル ポート バッファにデータが残っていないことを確認するにはどうすればよいですか? または、シリアル データの処理方法に他の問題がありますか?
編集、ソースコードをpastebin.comにアップ:
node.js - nodeJSで重みの結果を取得するにはどうすればよいですか
問題があります。NodeJS と Windows の npm モジュール「Serialport」を使用して Scale から重みを取得しようとしています。
私が抱えている問題は、スケールに送信したコマンドに関係なく、データが返されないことです。
nwJS で作成しているプロジェクトのモジュール serialport を既にコンパイルしており、次のコードがあります。
注: パーサー W\n は、はかりが重量を送信するために必要な文字列です。私はそれをcooltermという名前の別のアプリケーションでテストしました
助けてくれてありがとう。
linux - docker for mac を使用して docker コンテナーで TTY デバイスを公開する
Mac に接続されている Arduino を、 Docker for Mac (VM なし)で実行している Linux インスタンスに公開しようとしています。
Arduino は自身を として公開します/dev/tty.usbserialXXX
。node
ubuntuベースのdockerイメージを使用しています。
私が実行しているコマンドは
使おうとしたら--privileged
何も露出していません!
これを使用して、シリアル デバイスを公開し、Linux でシリアル ドライバーをテストしています。
python - node serialport は PL2303 に書き込みますが、接続されたデバイスには書き込みません
シリアル ポートを使用して通信する AllSky-340 CCD カメラがあります。
PL2303 USB コンバーターを使用してラップトップに接続しています。
dmesg:
pyallskyと呼ばれる Python コードを使用すると、Linux で AllSky340 カメラを制御できます。できます。
ノードで使用できるように、このコードを JavaScript に変換しました。
コード コードの一部を次に示します ("E:"
はテスト コマンドです)。
しかし、それは機能しません: スクリプトを実行すると、ログは
そして、カメラからは何も受け取りません。
Pythonスクリプトを同時に実行すると、リスナーがデータを傍受するため(ポートへの複数のアクセスを訴える前に) 、データリスナーが機能することはわかっています。pyallsky
pyallsky
カメラをシャットダウンしてもclose
、disconnect
リスナーには何の影響もありません。
PL2303 ケーブルを抜くだけで、スクリプトがログに記録されます
私の考えでは、js
コードは PL2303 ケーブルとのみ通信し、カメラとは通信しません。それは可能ですか?どうすれば解決できますか?