这是该项目的一些背景知识。我试图编写一个脚本,它将在树莓派的启动时运行,并且只要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()
答案 0 :(得分:0)
1)将脚本放在crontab中,设置为在启动时启动:
@reboot python /path/to/script.py
http://www.cyberciti.biz/faq/linux-execute-cron-job-after-system-reboot/
2)将上面的脚本放在while
循环中,然后再运行