读取node.js中的char驱动程序文件?

时间:2013-03-12 16:51:06

标签: node.js nonblocking

我已经实现了一个Linux驱动程序(beaglebone),它通过SPI查询某些硬件,并将接收到的数据复制到kfifo中(如果没有清空则可以填满)。 - 通过对char设备文件执行读取来清空此kfifo(让我们称之为/ dev / foo)。 - 用户程序负责读取正确的fifo条目大小(或其倍数)。 - 通过sysfs条目启动和停止驱动程序。

示例C userland程序以阻塞模式读取此文件(即,当数据可用时读取返回)。

现在这是我的问题: 我有一个在beaglebone上运行的node.js中的服务器用于管理目的,并且还想让它“收集”数据(在/ dev / foo上)并通过websockets发送它。

我真的不知道该怎么做,因为/ dev / foo不是常规文件(因此fs.watch不起作用),并且数据随机可用。

问题: - 我可以用节点的标准库解决这个问题(比如使用流等吗?) - 是否有节点模块可以解决我的问题? - 或者我是否必须自己编写节点模块(使用libuv?)

感谢你对这些观点的暗示。

1 个答案:

答案 0 :(得分:0)

我知道这有点老了,但是马马胡胡给了我正确的主意!

以下是我的工作:

var fs = require('fs');

var readStream = fs.createReadStream("/dev/foo");

readStream.on('data', function (data) {
    console.log(data);
});