用bash串行读取RFID数据

时间:2012-01-15 21:19:51

标签: bash serial-port rfid gnu-screen

我试图使用我从sparkfun获得的RFID阅读器读取带有bash脚本的RFID卡的内容,但是我找到的最有希望的代码片段是:

#!/bin/sh
while :
do
  rfid=`screen /dev/cu.usbserial-A600JNHR 9600`  
  echo "RFID #: $rfid"  
  sleep 1  
done

执行它应该执行的操作,只是它永远不会退出screen,因此无法针对已知标记检查变量以执行操作。

我的问题:我需要做什么才能在变量中获取标记,以便我可以使用它来检查和执行操作?这段代码是否全部错误,或者我只是需要添加一两行来处理数据?

2 个答案:

答案 0 :(得分:0)

这可能适合你

#!/bin/bash
while read -r rfid; do
  echo "RFID #: $rfid"  
  sleep 1  
done < /dev/cu.usbserial-A600JNHR

答案 1 :(得分:0)

我明白了谢谢SiegeX我经过双重检查并使用了tty代替cu代码,这里我给出了我找到的默认值,当我更改它时,我抓住了tty。