0

我想使用像 BananaPi 这样的 linux 设备,它带有与 socketcan 兼容的 can 控制器来连接到汽车 can-bus 并在网页上实时显示其数据,该网页应该托管在 Pi 上。数据应以十六进制值列出并通过图表(不同的信号,例如当前速度)可视化。

经过一些研究,我发现了 node-can,我可以设法将 can-messages 显示为网页上的列表。但我注意到,当总线负载很大时(我在 1 毫秒的时间内发送罐头消息),消息会出现相当大的延迟(约 2 秒)。如果我使用以下简约示例,则会发生相同的延迟:

var can = require('socketcan');

var channel = can.createRawChannel("can1", true); 

channel.addListener("onMessage", function(msg) { console.log(msg); } );

channel.start();

我在这个话题上绝对是新手,但我认为,nodejs 不是实现这个项目的最佳选择吗?

还有其他(更好的)方法来实现这样的系统吗?

我可以想象一个像 C 后端这样的东西,例如基于 candump(这个程序在相同的总线负载下不会发生延迟),以及一个用 javascript、html 和 css 实现的前端。但我不知道如何将这些不同的单个程序组合在一起。你能给我一个关键字,以便我有一个进一步研究的起点(websocket?!)?

我还考虑在 sql 数据库中编写罐头框架并从数据库中获取它们以用于网页 GUI,但我不知道它是否/如何工作以及这是否足够快......

提前致谢!

4

0 回答 0