Arduino - 如何在没有IDE的情况下获取串行数据

bal*_*law 0 arduino monitor

我正在建造一个用于脑分流的滴水监测器原型。它将监控滴注并报告我需要的任何数据。问题是我只是在构建设备。一个对 Arduino 或代码一无所知的人正在使用它。有没有一种方法或程序可以显示数据和/或将数据保存到文件中,以便人们只需插入 Arduino 而无需打扰 IDE 或任何代码?

小智 7

用于获取串行数据的 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")}'
Run Code Online (Sandbox Code Playgroud)

样本输出

data,timestamp
9695,1390087651
9696,1390087652
Run Code Online (Sandbox Code Playgroud)

更多例子


将数据流式传输到文件中

cat /dev/cu.usbmodem1421 | awk '{ for (i=0; i<NF; i++) printf $i + system("date +,%s")}' >> sensor_readings.dat
Run Code Online (Sandbox Code Playgroud)

您可以在流式传输到文件时进行监控(也可以发送电子邮件、推文等,任何命令行工具)

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
Run Code Online (Sandbox Code Playgroud)

使用说明:确保将 cu.usbmodem1421 替换为您的调制解调器(“cu”显然很重要,“tty.usbmodem”由于某种原因不起作用)


有关如何将其与 arduino 代码一起使用的示例,请查看此 github 存储库:

https://github.com/gskielian/Arduino-DataLogging/tree/master/Bash-One-Liner