我正在为脑分流构建一个原型滴灌监测器。它将监控滴水并报告我需要的任何数据。问题是我只是在构建设备。一个对 Arduinos 或代码一无所知的人正在使用它。有没有一种方法或程序可以显示和/或将数据保存到文件中,这样人们就可以将 Arduino 插入而不打扰 IDE 或任何代码?
3 回答
用于获取串行数据的 Bash One Liner
(linux、mac os x 或 cygwin)
以下行将数据、时间戳和位置转换为 csv 格式
cat /dev/cu.usbmodem1421 | awk '{ for (i=0; i<NF; i++) printf $i + system("date +,%s")}'
样本输出
data,timestamp
9695,1390087651
9696,1390087652
更多示例
将数据流式传输到文件中
cat /dev/cu.usbmodem1421 | awk '{ for (i=0; i<NF; i++) printf $i + system("date +,%s")}' >> sensor_readings.dat
您可以在流式传输到文件时进行监控(也可以发送电子邮件、推文等,任何命令行工具)
cat /dev/cu.usbmodem1421 | awk '{ for (i=0; i<NF; i++) if($i == 9001) {system("say ITS OVER 9000\!")} printf $i + system("date +,%s")}' >> sensor_readings.dat
使用说明:确保将 cu.usbmodem1421 替换为您的调制解调器(“cu”显然很重要,由于某种原因,它不适用于“tty.usbmodem”)
有关如何将其与 arduino 代码一起使用的示例,请查看此 github 存储库:
https://github.com/gskielian/Arduino-DataLogging/tree/master/Bash-One-Liner
如评论中所述,根据预算和其他标准,有很多方法可以做到这一点。例如,您不能确定这是否只需要(简单)实时监控或(稍微复杂一点)是否需要将数据记录到文件中以供以后查看。独立日志记录是另一个(相当复杂的)选项(例如,Arduino 未连接到主机)。
这是一个很好的教程和不同方法的概述。
在用户友好的 GUI 方面,人们可以在几个小时内使用Processing构建一个简单的应用程序,该应用程序将显示实时数据,如果需要,可以写入文本文件。
您可以使用处理,因为 Arduino iDE 是基于它的,所以这对您来说非常有用,因此您可以轻松迁移。您可以制作一个处理应用程序,通过串行接收来自 Arduino 的数据。还有一件很棒的事情是,您可以制作一个在 Java 中运行的独立应用程序,因此它不依赖于操作系统并且不需要安装。www.processing.org