我想使用像BananaPi这样的Linux设备,它与socketcan兼容的can-controller连接到汽车can-bus,并在网页上实时显示其数据,该网页应该托管在Pi上。 数据应列为十六进制值,并通过图形显示(不同的信号,例如当前速度)。
经过一些研究后,我发现了node-can,我可以设法将can-messages显示为网页上的列表。但是我注意到,当存在巨大的总线负载时,消息会有很大的延迟(~2秒)(我在1毫秒的时间内发送了消息)。如果我使用以下简约示例,则会出现相同的延迟:
var can = require('socketcan');
var channel = can.createRawChannel("can1", true);
channel.addListener("onMessage", function(msg) { console.log(msg); } );
channel.start();
我是这个话题的新手,但我认为,nodejs不是实现这个项目的最佳选择吗?
有没有其他(更好的)方法来实现这样的系统?
我可以想象像C-backend这样的东西,例如基于candump(这个程序在同一个总线上没有延迟),以及用javascript,html和css实现的前端。但我不知道如何将这些不同的单个程序放在一起。你能给我一个关键词,所以我有一个进一步研究的起点(websocket?!)?
我还想过在sql数据库中编写can框架并从数据库中获取它们的网页gui,但我不知道,如果/如何工作,如果这足够快......
提前致谢!