node.js - Socketcan+ Express.js +Node.js 获取/发送 Can-Bus 消息

标签 node.js express can-bus socketcan

我安装了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.jsindex.htmlbin/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

完整文档在这里:http://elinux.org/Bringing_CAN_interface_up

关于node.js - Socketcan+ Express.js +Node.js 获取/发送 Can-Bus 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33634767/

相关文章:

node.js - 如何匹配MongoDB聚合中使用的$lookup内部?

javascript - 为什么 AngularJS 向服务器生成的输出添加额外的类?

node.js - 快速路线不返回

embedded-linux - 如何在socketcan中检查总线状态

javascript - Node JS 重定向循环

node.js - 浏览器中出现错误: No default engine was specified and no extension was provided.

c - 如何在 CANbus RX/TX FIFO 起始地址寄存器 (ATSAME51) 的特定地址处初始化数组?

arm - 让 bxCan 在 STM32f3 Discovery 上工作

javascript - SailsJS 自定义配置文件未加载

node.js - $elemMatch 不适用于新的 mongodb 2.2 吗?