問題タブ [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.
linux - vcan0 インターフェイス Linux 通信
Linux は仮想缶インターフェースをサポートしています。それは以下によって有効にされました:
cam-utilsなどcamsnifferを使用しながらcansend
缶のパケットを見ることができました。ただし、同じホスト内のみ。Ubuntu VirtualBox マシンを試しました。ゲスト OS とホスト OS は、ホストオンリー アダプターを使用して相互接続されますvboxnet0。
SocketCAN も試しましsocket(PF_CAN, SOCK_RAW, CAN_RAW)たが、他のマシンで受信できませんでした (同じマシン内で動作しsocket(PF_CAN, SOCK_DGRAM, CAN_BCM)ますstderr)
簡単に言うと、Linux ホスト間で CAN パケットを送受信できますか? 仮想マシン (vboxnet0) または物理的に接続されている (イーサネット) は関係ありません。
注: Ubuntu 16.04 と 12.04 をそれぞれホストとゲスト OS として使用しました。
javascript - Socketcan register リスナーが呼び出されていません
RaspberryPi で「socketcan」npm パッケージで Meteor を使用しています。CAN ネットワークを定義するために、カヤック ファイル 'canDefinition.kcd' を使用しています。これは、サーバー フォルダー内のスタートアップ JavaScript ファイルが次のようになっているものです。
sebi2k1/node-canの指示に従いました。
問題は、選択した CAN メッセージが到着したときにリスナー「onChange」が呼び出されないことです。
すでに機能しているもの/すでにチェックしたもの:
- ID をフィルタリングして特定の CAN メッセージを受信する (以下のコードを参照)
- canDefiniton.kcd データベースへのアクセス/読み取り
誰か助けて?ありがとう!
c++ - QT CAN BUS、SocketCAN が CAN フレームを読み取れない
QT で readFrame() メソッドを使用して CAN フレームを読み取る際に問題があります。
初期化のための私のコード:
データを送信するためのコード - すべてが正しく動作します
データを読み取るためのコード
デバッグ中は常に frame = @0x7fffffffdf10、dataLength = 0、id = 0、
そのため、candump コマンドや QT CANBUS の例を介して着信パケットを明確に確認できますが、何も受信しません。
助けてくれませんか?ありがとう。
c++ - CANビットレートを取得
C++ で自分の socketcan ソケットの現在構成されている CAN ビットレートを読み取りたいです。
私はビットレートを見ることができますip -det link show can0:
ビットレートは 経由/etc/network/interfacesで設定されましたが、ユーザーは手動で変更できました。
libsocketcan は、ビットレートの設定のみをサポートしているようですが、読み取りはサポートしていないようです。
上記の出力を生成するコードはiproute2、 rtnetlink を使用します。
libnetlink を使用して対応する属性を読み取るにはどうすればよいですか? または、現在のビットレートを読み取る別の方法はありますか?
linux - imx 上の Linux 2.6: candump を使用して送信された CAN フレームをログに記録できません
imx CPU でカスタム ビルド Linux 2.6 を実行しています。外部ノードとのCAN通信は魅力的に機能しますが、端末で「candump can0」を使用すると、アプリからノードに送信するフレームが出力されません(USB-CANドングルを使用してホストで同じアプリを実行すると)この問題は発生しません)。
拡張 CAN フレームが送信されると、candump を使用して表示されます。
送信されるメッセージがフィルター処理されていると便利な場合があることは理解していますが、選択できるようにする必要があります。
手がかりは大歓迎です。これを引き起こすのは、ドライバーのフィルタリングである可能性があると考えています。
FLexCAN ドライバーには、次の構成ファイルがあります。
アボート
_
_