我如何在 Arduino Yun 中使用 Process class 来读取一些流数据?

How can I use Process class in Arduino Yun to read some stream-data?

运行 shell 命令通过 BridgeArduino Yun 通过 Process 比方说,proc,它给出了结果,我们可以使用以下代码读取结果字节。

#include <Bridge.h>
#include <Process.h>

void setup() {
  Bridge.begin();
  Serial.begin(9600);
  while (!Serial);
}

void loop() {
    Process proc;
    proc.runShellCommand("ls /root/");
    while (proc.available() > 0)
        Serial.print((char)proc.read());
    Serial.println();
}

如果我必须从阻塞的 shell 命令访问数据,因为它像 event 一样被更新怎么办?例如,一些收听 KafkaMosquitto 订阅主题的消费者。每当该主题 updated/published 有新数据时,听众就会得到它。

如何使用 Bridge.Bridge.

使用 Arduino Yun 程序对这种结构进行建模

你可以很容易地做到这一点。 运行 具有 nohup 的特定命令,在这种情况下,将创建名称为 nohup.out 的文件。然后 运行 一个脚本持续监视 nohup.out 文件以防 nohup.out 的大小发生任何变化,获取最新数据并将该数据推送到您想要的任何地方。