問題タブ [socketcan]
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 - SocketCAN + Express.js + Node.js + Socket.io
そのため、SocketCAN、Express、および Socket.io ノード モジュールをインストールしました。
私がやりたいことは次のとおりです。* Express サーバーで Socket.io を介してソケットを初期化します * サーバーで socketCAN "node-can" モジュールを使用して、フロントエンド (Angular6) にメッセージを送信します
私がこれまでに行ったこと:
* Express サーバーを作成し、そこに Socket.io と node-can を初期化しました * アプリでソケットに接続できるようになりました
これを実現するコードは次のとおりです。
したがって、アプリを起動してsocketcanでcanメッセージを送信するとcansend vcan0 37F#0000000012343412
、自分のログのみが表示されますmsg.channel.addListener("onMessage", function(data) {console.log(data);});
しかし、console.log('Recieved message by', from , 'sayin ', msg);
ログではありません
私のAngularコンポーネントは次のようになります:
socket connected
コンソールでログを取得するため、ソケットを接続する必要があります。
どんな助けでもいただければ幸いです
事前にthx。
python - Ubuntuでソケットを作成するPythonパーミッションエラー
Ubuntu 16.04 で CAN バスに接続するためにsocketCANを使用しています。インターフェイスは私のマシンで正常に動作します。ただし、CI を開始すると、リモート エージェント (Ubuntu 16.04 も) で実行され、ソケットを作成しようとすると、アクセス許可エラーが発生します。
Linux と Python の両方の初心者である私は、これに対処する方法について確信が持てません。これは呼び出しプロセスから継承されたファイル作成許可の問題である可能性があることをいくつかの場所で読んだので、スクリプトの先頭に「os.umask(0)」を配置しましたが、影響はありませんでした。
また、スクリプトをルートとして実行する必要があるかもしれないことも読みました。これはかなり危険に思えます。
これを修正する最善の方法は何ですか?
c++ - 起動時に呼び出されたときに、他の C++ プログラムへの C++ システム コールが機能しない
起動時にcronjob(crontab内)を介して呼び出されるC++プログラムがあります:
実行中のプログラムのリスト(ps -e)に表示されるため、Piが起動されるたびにlogfileControlが実行されます。LogfileControl には、 SocketCANに関連する C++ プログラムへの 2 つのシステム コールが含まれています。(SocketCAN は Linux カーネルの一部であり、CAN データをネットワーク ソケットとして扱うことができます)。起動時に logfileControl を実行して、CAN ソケット (システム コール 1) を初期化し、最初のログ ファイル (システム コール 2、candumpExternal、これは socketCAN からの candump であり、ログ ファイルをcandump はどこにありますが、元のバージョンを使用しても同じ問題がありました)。最初のシステムコールは、ソケットを再度初期化しようとしているかのように正常に動作しているようですが、ログファイルが作成されていないため、ログファイルがまったく作成されていないため、2 番目のシステムコールは発生していないようです。コマンドラインから logfileControl を手動で実行すると、期待どおりに動作し、ログファイルが作成されるため、かなり混乱しました...
ここで何が起こっているかについての洞察を持っている人はいますか?
編集:プログラムの最初に5秒間の簡単な一時停止を追加しようとしましたが、これは何の違いもないようでした.