SPI によって一部のハードウェアにクエリを実行し、受信したデータを kfifo にコピーする Linux ドライバー (ビーグルボーン) を実装しました (空にしないといっぱいになる可能性があります)。- この kfifo は、char デバイス ファイル (/dev/foo と呼びましょう) で読み取りを実行することによって空にされます。- ユーザーランド プログラムは、正しい fifo エントリ サイズ (またはその倍数) を読み取る責任があります。- ドライバーは、sysfs エントリーを介して開始および停止されます。
サンプルの C ユーザーランド プログラムは、このファイルをブロッキング モードで読み取ります (つまり、データが利用可能になると読み取りが返されます)。
ここに私の問題があります: 管理目的でビーグルボーン上で実行されている node.js にサーバーがあり、(/dev/foo で) データを「収集」して、websockets 経由で送信したいと考えています。
/dev/foo は通常のファイルではないため (そのため fs.watch は機能しません)、その上でデータがランダムに利用可能になり続けるため、その方法がよくわかりません。
質問: - この問題をノードの標準ライブラリ (ストリームなど) で解決できますか? - 問題を解決できるノード モジュールはありますか? - または、ノード モジュールを自分で作成する必要がありますか (libuv を使用しますか?)
これらの点についてのヒントをありがとう。