我安装了socketcan
npm install socketcan
link在我的 Raspberry Pi 2 B 上没有任何错误。我可以在终端上使用带有 candump/cansend 的 Pican 适配器。所以效果很好。 但是我不明白如何使用Socketcan。我想用 can0。
这是来自 Socketcan 的帮助:
var can = require('socketcan');
var channel = can.createRawChannel("vcan0", true);
// Log any message
channel.addListener("onMessage", function(msg) { console.log(msg); } );
// Reply any message
channel.addListener("onMessage", channel.send, channel);
channel.start();
处理消息和信号:
var can = require('socketcan');
var fs = require('fs');
// Parse database
var network = can.parseNetworkDescription("samples/can_definition_sample.kcd");
var channel = can.createRawChannel("vcan0");
var db = new can.DatabaseService(channel, network.buses["Motor"]);
channel.start();
// Register a listener to get any value changes
db.messages["CruiseControlStatus"].signals["SpeedKm"].onChange(function(s) {
console.log("SpeedKm " + s.value);
});
// Update tank temperature
db.messages["TankController"].signals["TankTemperature"].update(80);
// Trigger sending this message
db.send("TankController");
但是我应该将这些命令放在哪个文件中,app.js
、index.html
或 bin/www
文件?
我试过的东西没有用。
我该如何设置波特率/比特率?
或者是否有替代方案,我可以使用它来记录/发送一些消息?
我刚开始使用 JavaScript/HTML5/CSS。
最佳答案
可以通过ip命令设置can0和设置码率。
从命令行:
ip link set can0 type can bitrate 100000 up
要使设置持久化,您可以在/etc/network/interfaces 文件中配置您的接口(interface)。
allow-hotplug can0
iface can0 inet manual
pre-up /sbin/ip link set $IFACE type can txqlen 512 bitrate 100000 sample-point 0.75
up /sbin/ifconfig $IFACE up
down /sbin/ifconfig $IFACE down
关于node.js - Socketcan+ Express.js +Node.js 获取/发送 Can-Bus 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33634767/