下面是这个项目的一些背景知识。我正在尝试编写一个脚本,它将在raspberry pi启动时运行,并在pi打开时持续运行。脚本需要通过rs232端口输出文本文件,但仅当它从cnc机器接收chr17(ascii)时。我相信chr17也是用于软件流控制的xon代码。在
所以一旦机器请求输入,raspberry pi就会输出脚本指向的任何文件。当机器请求输入时,输出chr17。当它得到文件的最后一行时,它输出chr18来表示它完成了。在
至于pi上的内存,我不知道执行这个脚本的最有效方法,我认为while循环可能会占用pi上太多的内存。但我不确定。在
如果有人能帮我想出这个剧本,我将不胜感激。在
到现在为止,如果我在机器请求输入后执行它,这个代码就可以工作了。但我需要它持续运行,一旦它看到机器请求输入,它就应该输出文件。在
这是我所拥有的,你可以随意修改任何你需要的东西,或者完全重新开始,如果没有帮助的话,哈哈
import serial
port = serial.Serial("/dev/ttyAMA0", baudrate=4800, bytesize=7, parity='E')
machinenumber = "BND-2"
cncfile = "/home/pi/myNAS/myShare/e-matix/Machines/%s/Upload/9937.cnc" % machinenumber
try:
port.open()
except Exception, e:
print "error opening serial port:" + str(e)
if port.isOpen():
port.write(open(cncfile, "rb").read())
print ("worked")
print (open(cncfile, "rb").read())
else:
print ("cannot open port")
time.sleep(5)
port.close()
1)将脚本放入crontab,设置为在启动时启动:
http://www.cyberciti.biz/faq/linux-execute-cron-job-after-system-reboot/
2)将上面的脚本放入
while
循环中,这样它就会运行,然后再次启动相关问题 更多 >
编程相关推荐